C++实现校园运动会报名系统
本文为大家分享了C++实现校园运动会报名系统的具体代码,供大家参考,具体内容如下
main.cpp
#include "Campus.h"
#include "List.h"
/*校园运功会报名系统 实现报名信息录入 和 展示 */
/*
信息录入
1 . 建立运动会项目信息表 , 字段包括 , 项目编号 , 项目名称 , 学生姓名 ,院系 ,班级 ,性别
年龄,参赛时间 ,报名时间 ;
2 完成运动会报名信息新增页 ,
3 查询报名 情况
4管理员系统可以更改报名截止时间 和 运动员的可想更改 (可以改成英文版和中文版切换)
*/
int main()
{
ShowPage();
return 0;
}
Campush.h
#ifndef CAMPUS_H
#define CAMPUS_H
#include "List.h"
void ShowPage();
void MenuChoose(); // 主菜单
void Apply_System();// 报名系统
void Show_Apply_System(); // 报名系统页面
void Apply_Information_Query();// 信息查询
void show_in_AdSYstem();// 管理员展示页面
void Administrator_System();// 管理员系统;
void Athlete_Information(); // 运动员信息查询
void Sport_item_sign(); // 运动项目报名
void printList_new(Message &M); // 打印带有项目的信息
bool Judge_IF_sign(char *) ; // 判断学生是否报名项目
void Point_Base_Me(char *Temp); // 打印运动员信息
void AD_Menu(); // 管理员系统菜单
void Manage_system();// 管理员系统
void Log_Administrator();
void AD_Menu2();
void Cancel_signup();
void Revise_Data();
void Enter_Adsystem(); // 管理员登录
bool Judge_IF_Past_due();// 判断是否逾期;
extern void Go_back1(); // 返回第一页
extern void Go_back2(); // 返回第二页;
extern void Go_back3();
extern void Go_back4();
#endif // CAMPUS_H
List.cpp
#include "List.h"
#include "Campus.h"
#include
#include
#include
#include
#include
using namespace std ;
void Gettime_f(int &year ,int &month ,int &day ,int &hours ,int &minutes ,int &second )
{
/*获取本地时间 */
time_t now ;
struct tm *tm_now ;
time(&now) ;
tm_now = localtime(&now) ;
year = tm_now->tm_year+1900 ;
month = tm_now->tm_mon+1 ;
day = tm_now->tm_mday ;
hours = tm_now->tm_hour ;
minutes = tm_now->tm_min ;
second = tm_now->tm_sec ;
return ;
}
Status List::CreatList(LinkList &L,int n)
{
// 创建链表;
int i ;
time_t now ;
struct tm *tm_now ;
time(&now) ;
tm_now = localtime(&now) ;
LinkList p ;
LinkList head =NULL ;
LinkList Last ;
for(i=0 ; i
system("cls");
cout<<"请输入第 " < p = (LinkList )malloc(sizeof(LNode)) ;
if(p==NULL)
{
cout<<"CreatList fail "<
}
cout<<"姓名"<<" " ;
cin>> p->data.name ;
cout<
cin >>p->data.IDcard ;
cout<
cin>> p->data.gender;
cout<
cin>> p->data.age ;
cout<
cin>> p->data.Institute ;
cout<
cin>> p->data.Class;
cout<
strcpy(p->data.sport_it2,"000");*/
p->next = NULL ;
Gettime_f(p->data.Join_time.year ,p->data.Join_time.month ,p->data.Join_time.day ,p->data.Join_time.hours
,p->data.Join_time.minutes ,p->data.Join_time.second) ;
if(head == NULL)
head = p ;
else
{
Last->next = p ;
}
Last = p ;
}
L = head ;
FILE_Memory(L);
cout<< " 信息录用成功"<< endl;
return OK ;
}
Status List::GetElem(LinkList &L,int i ,Message &e)
{
/*
条件:线性表存在;
操作结果 : 如果 i 合法 得到线性表第i位置上的元素,反馈给e ;
L 是不带头结点的;
*/
LinkList p ;
if(!L)
{
cout<<" GetElem failed"<
}
p = L ;
int k = 1 ;
while(p)
{
if(k>=i)
break ;
++k;
p = p->next ;
}
if(!p || k>i)
{
cout<<"没找到"<
e.gender = 'F' ;
strcpy(e.Class,"");
strcpy(e.Institute,"");
strcpy(e.name,"");
}
e = p->data ;
return OK ;
}
Status List::printList(LinkList &L )
{
/* 打印线性表 */
LinkList p = L ;
while(p)
{
cout<<"姓名 : " <
p->data.Join_time.day <<" "<
p = p->next ;
}
return OK;
}
void FILE_Memory(LinkList &L)
{
FILE *fin ;
int res ;
char m[MAX] ;
char n[MAX] ;
char Name[MAX] ;
LinkList p = L;
if(L==NULL)
{
cout<<"L is NULL "<
}
char cpy_Path[MAX] ={'