您的位置:首页 > 教程文章 > 编程开发

C++实现校园运动会报名系统

:0 :2021-04-27 18:31:48

本文为大家分享了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 "< exit(ERROR) ;
}
cout<<"姓名"<<" " ;
cin>> p->data.name ;
cout< cout<<"学号"<<" :";
cin >>p->data.IDcard ;
cout< cout<<"性别"<<" :" ;
cin>> p->data.gender;
cout< cout<<"年龄"<<" :" ;
cin>> p->data.age ;
cout< cout<<"学院"<<" :" ;
cin>> p->data.Institute ;
cout< cout<<"班级"<<" :" ;
cin>> p->data.Class;
cout< /* strcpy(p->data.sport_it1,"000");
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"< exit(ERROR) ;
}
p = L ;
int k = 1 ;
while(p)
{
if(k>=i)
break ;
++k;
p = p->next ;

}
if(!p || k>i)
{
cout<<"没找到"< e.age = UNFOUND ;
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<<"姓名 : " <data.name < cout<<"学号 : " <data.IDcard < cout<<"性别 : "<data.gender< cout<<"年龄 : "<data.age< cout<<"学院 : "<data.Institute< cout<<"班级 : "<data.Class< cout<<"报名时间 : "<data.Join_time.year<<"-"<data.Join_time.month<<"-"<<
p->data.Join_time.day <<" "<data.Join_time.hours<<":"<data.Join_time.minutes<<":"<data.Join_time.second<
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 "< exit(0);
}
char cpy_Path[MAX] ={''} ;
system("cls");
while(p)
{
//再加一个扫描 , 看是否有重名 ;
strcpy(cpy_Path,Path1) ;
char T[MAX] ;
strcpy(T,strcat( strcat(cpy_Path,p->data.IDcard),".txt"));
int Judge = ScanRepetition(T) ;// 扫描是否有重名;

if(Judge == 0) // 存在返回0
{

char ch ;
cout<<"你输入的学号已经被录入或者您输入的学号有误,请不要重复录入. "< remove(T); // 操作失败文件删除
Go_back2();
}
else
{
strcpy(Name,p->data.IDcard ) ;
strcpy(n,strcat(Name, ".txt")); // zhs.txt
strcpy(m,Path1); //
strcat(m,n); // zhs.txt
}

fin = fopen(m,"a+");
if( !fin)
{
cout<<"Creat_fin ERROR "< exit(0) ;
}
fprintf(fin,"%s %s %d %c %s %s %d %d %d %d %d %d n",p->data.IDcard ,p->data.name,p->data.age,p->data.gender ,p->data.Institute,
p->data.Class ,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);

memset(m,'',sizeof(m));
memset(n,'',sizeof(n));
memset(Name,'',sizeof(Name));
memset(cpy_Path,'',sizeof(cpy_Path)) ;
memset(T,'',sizeof(T));
p = p->next ;
}
fclose(fin);
return ;
}
int ScanRepetition(char *file_name)
{
// 扫描 ;
/*
int access(const char *filename, int amode);
amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-1。
*/
return access(file_name,0);

}

List.h
#ifndef LIST_H
#define LIST_H
#include
#include
#include
#include
#define OK 1
#define ERROR 0
#define UNFOUND -1
#define Path1 "D:\dos\SportSystem\"
using namespace std ;
const int MAX = 200 ;
typedef int Status ;
typedef int ElemType ;
typedef struct AD_number{
char num[MAX];
char password[MAX];

}AD;
typedef struct Person{
char num[MAX] ;
char name[MAX] ;
}Per;
typedef struct Data_location{
int year ;
int month ;
int day ;
int hours ;
int minutes ;
int second ;
}Data;
typedef struct Athlete_Message{
char IDcard[MAX] ;
char name[MAX] ; // 姓名
char gender ; // 性别
int age ;
char Institute[MAX] ; // 学院
char Class[MAX] ;// 班级;
Data Join_time; //
char sport_it1[MAX] ; // 项目一
char sport_it2[MAX] ; // 项目二
}Message;
typedef struct node{
Message data ;
struct node *next ;
}LNode, *LinkList;
class List
{
public:
Status CreatList(LinkList &L,int n) ;
Status GetElem(LinkList &L,int i ,Message &e) ;
Status printList(LinkList &L ) ;

private :
Message e ;
};
int ScanRepetition(char * );
void FILE_Memory(LinkList &L);
void Srearch_city_fiction(FILE *fp);
void Gettime_f(int &year ,int &month ,int &day ,int &hours ,int &minutes ,int &second );
#endif // LIST_H
Campus.cpp
#include "Campus.h"
#include "List.h"
#include
#define Path2 "D:\dos\Administrator\"
void ShowPage()
{
cout< cout<<"ttt ***********************************"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt *t校 园 运 动 会 报 名 系 统 *"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 1 报名系统进入 ☆ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 2 报名信息查询 ☆ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 3 运动员信息 ☆ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 4 退出系统 ☆ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 0 管理员系统 ☆ *"<
cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt ***********************************"< MenuChoose();
return ;
}
void MenuChoose()
{
int num ;
cout< cout<<"========================================================================"< cout<<"功能选择"< if(scanf("%d",&num)) // 正常输入
{
switch (num)
{
case 1:
{

system("cls");// 清屏转换下一级功能;
Show_Apply_System();

}
break ;
case 2:
{
Apply_Information_Query();

}
break ;
case 3:
{
Athlete_Information();

}
break ;
case 0:
{
Administrator_System();

}
break ;
case 4:
{
exit(0);

}
default :
{
cout<<"ERORR"< exit(ERROR);
}
}

}

return ;
}
void Apply_System()
{
/*报名系统 */
FILE *fp ;
List a ; // 对象
LinkList L ; //
int i ,n ;
char ch1,ch2 ;
char ch3 ;
cout<<"个数"< cin >> n ;
a.CreatList(L,n);
cout<<" 身份信息确认 "<<"[y/n]"<<" ";
cin >>ch1 ;
if(ch1=='y')
{
cout<<" 确认成功 "< Sleep(1);
}
cout<<" 身份信息查看 "<<"[y/n]"<<" ";
cin >>ch2 ;
if(ch2=='y')
{
a.printList(L);
Sleep(500);
}
Go_back1();

return ;
}
void Show_Apply_System()
{
int index ;
cout< cout<<"ttt ***********************************"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt *t 报 名 系 统 *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ◎"<<" 1 学生信息录入 ◎ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ◎"<<" 2 运动项目报名 ◎ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ◎"<<" 3 返回上一页 ◎ *"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt ***********************************"< cout<<"请选择"< cin >>index ;
if(index == 1)
{
Apply_System();// 录用信息
}
else if(index ==2 )
{
LinkList L ;
cout<<"运动项目报名"< Sport_item_sign();

}
else if( index == 3)
{
system("cls");
ShowPage();
}
else
{
Go_back2();
}

return ;
}
void Sport_item_sign()
{
// 首先 参看运动会参赛注意事项;
char ch ;
char ih ;
int it1,it2 ;
char Id[MAX] ;
char Cpy_path1[MAX] ;
Message M ,Stu;
Data d ;
FILE *fp = fopen("Data.txt","r");
cout<<"注意报名截止时间 : ";
if(!fp)
{
exit(0);
}

fscanf(fp ,"%d%d%d%d%d%d",&d.year,&d.month,&d.day,&d.hours ,&d.minutes ,&d.second);
printf("[ %d -%d -%d %d:%d: %d ]n",d.year,d.month,d.day,d.hours ,d.minutes ,d.second);
cout< if(Judge_IF_Past_due() == true )
{
// 时间过期;
cout<<" 报名时间已经截止 ";
Go_back2();
}
else
{
cout<<"输入你的学生证号 : ";
cin >>Id ;
strcpy(Cpy_path1,Path1) ;
strcat(Cpy_path1,Id);
strcat(Cpy_path1,".txt");
if(ScanRepetition(Cpy_path1) == -1)
{
cout<<"没有该学生信息"< Go_back1();
}

if(ScanRepetition(Cpy_path1)==0 && Judge_IF_sign(Cpy_path1))
{
cout<<"该生已经报名,请勿重复报名"< Go_back2();
}
FILE *fIDCARD = fopen(Cpy_path1 ,"a+"); // 添加运动项目
if(!fIDCARD)
{
cout<<"open the file "< exit(0) ;
}
/*识别性别*/

rewind(fIDCARD);
fscanf(fIDCARD,"%s %s %d %c %s %s %d %d %d %d %d %d ",Stu.IDcard ,Stu.name ,&Stu.age ,&Stu.gender ,Stu.Institute ,Stu.Class,
&Stu.Join_time.year ,&Stu.Join_time.month ,&Stu.Join_time.day ,&Stu.Join_time.hours ,&Stu.Join_time.minutes,&Stu.Join_time.second
);

system("cls");
FILE *SPORT_IN_FILE = fopen("SPORT.txt","r");
if(!SPORT_IN_FILE)
{
cout<<"SPORT_IN_FILE open ERROR"< exit(0);
}
ch = fgetc(SPORT_IN_FILE);
while(!feof(SPORT_IN_FILE))
{
putchar(ch);
ch = fgetc(SPORT_IN_FILE);
Sleep(5);
}
fclose(SPORT_IN_FILE);
system("pause");
system("cls");
cout< if (Stu.gender == 'm')// 如果是男的
{
Per p[MAX] ;
// num ;
// name ;
char t1[MAX] ,t2[MAX] ;
FILE *sport = fopen("sportitemM.txt","r");
if(!sport)
{
cout<<"sportitemM open ERROR"< exit(0);
}
ih = fgetc(sport);
while(!feof(sport))
{
putchar(ih);
ih = fgetc(sport);
Sleep(10);
}
fclose(sport);
FILE *fin = fopen("M.txt","r");

cout< cout<<"选择参加项目"< cout<<"每名运动员可任意选择两种项目 (选一种的选择000)"< //cin >> M.sport_it1 >> M.sport_it2 ;
cin >> t1 >> t2 ;
int i = 0 ;
int flag1 , flag2 ;
while(!feof(fin))
{

fscanf(fin , "%s %s",p[i].num ,p[i].name);
i++ ;
}
int j = 0 ;
while(j<=i)
{
if (strcmp(t1 , p[j].num)==0)
{
flag1 = j ;

}
if (strcmp(t2 , p[j].num)==0)
{
flag2 = j ;
}
j++ ;
}

strcpy(M.sport_it1 , p[flag1].name);
strcpy(M.sport_it2 , p[flag2].name);
fprintf(fIDCARD,"%s %s",M.sport_it1 ,M.sport_it2);
rewind(fIDCARD);
fscanf(fIDCARD,"%s %s %d %c %s %s %d %d %d %d %d %d %s %s",M.IDcard ,M.name ,&M.age ,&M.gender ,M.Institute ,M.Class,
&M.Join_time.year ,&M.Join_time.month ,&M.Join_time.day ,&M.Join_time.hours ,&M.Join_time.minutes,&M.Join_time.second,
M.sport_it1,M.sport_it2);

cout<<"选择成功"< printList_new(M);
fclose(fIDCARD);
Sleep(500);
Go_back1();
}
else if (Stu.gender == 'f')
{
Per p[MAX] ;
char t1[MAX] ,t2[MAX] ;
FILE *sport = fopen("sportitemF.txt","r");
if(!sport)
{
cout<<"sportitemM open ERROR"< exit(0);
}
ih = fgetc(sport);
while(!feof(sport))
{
putchar(ih);
ih = fgetc(sport);
Sleep(10);
}
fclose(sport);
FILE *fin = fopen("F.txt","r");

cout< cout<<"选择参加项目"< cout<<"每名运动员可任意选择两种项目 (选一种的选择000)"<
cin >> t1 >> t2 ;
int i = 0 ;
int flag1 , flag2 ;
while(!feof(fin))
{

fscanf(fin , "%s %s",p[i].num ,p[i].name);
if (strcmp(t1 , p[i].num)==0)
{
flag1 = i ;

}
if (strcmp(t2 , p[i].num)==0)
{
flag2 = i ;
}
i++ ;

}
strcpy(M.sport_it1 , p[flag1].name);
strcpy(M.sport_it2 , p[flag2].name);
fprintf(fIDCARD,"%s %s",M.sport_it1 ,M.sport_it2);
rewind(fIDCARD);
fscanf(fIDCARD,"%s %s %d %c %s %s %d %d %d %d %d %d %s %s",M.IDcard ,M.name ,&M.age ,&M.gender ,M.Institute ,M.Class,
&M.Join_time.year ,&M.Join_time.month ,&M.Join_time.day ,&M.Join_time.hours ,&M.Join_time.minutes,&M.Join_time.second,
M.sport_it1,M.sport_it2);

cout<<"选择成功"< printList_new(M);
fclose(fIDCARD);
Sleep(500);
Go_back1();

}

}
}


void Apply_Information_Query()
{
// 报名信息查询 ;
int i ;
char id_register[MAX] ;
char Temp[MAX];
system("cls");
cout <<"请输入学号 :"<<" " ;
cin>>id_register ;
strcpy(Temp,Path1);
strcat(id_register,".txt");
strcat(Temp,id_register);
if(ScanRepetition(Temp)== -1 )
{
cout<<"没有该生的相关信息!"< Go_back1();
}
if(Judge_IF_sign(Temp)== false)
{
cout<<"状态 : 未报名"< }
else
cout<<"状态 : 已报名"<
Go_back1();
return ;
}
void Athlete_Information()
{
int i ;
char id_register[MAX] ;
char Temp[MAX];
system("cls");
cout <<"请输入学号 :"<<" " ;
cin>>id_register ;
strcpy(Temp,Path1);
strcat(id_register,".txt");
strcat(Temp,id_register);
if(ScanRepetition(Temp)== -1)
{
cout<<"没有该生的相关信息!"< Go_back1();
}
if(Judge_IF_sign(Temp))
{
Point_Base_Me(Temp);
Go_back1();
}
else
{
cout<<"还没报名哦 ,请现在报名才能查看哦 !"< Go_back1();
}

return ;
}
bool Judge_IF_sign(char *Path)
{
// 判断学生是否已报名项目;
bool flag = false ;
char Temp[MAX] ;
int count = 0;
FILE *fp = fopen(Path ,"r") ;
if(!fp)
{
cout<<"该生没有录入信息"< exit(0) ;
}
while(!feof(fp))
{
count +=fscanf(fp,"%s",Temp);

}
if (count == 14)// 如果已经报名;
flag = true ;
return flag ;
}
void Go_back1()
{
char ch ;
cout<<" 返回主页面 "<<" [y/n] ";
cin >>ch ;
if(ch=='y')
{
system("cls");
ShowPage();
}
else
{
cout<<"服务器错误00044xx"< exit(0);
}
return ;
}
void Go_back2()
{
char ch ;
cout<<" 返回上一级 "<<" [y/n] ";
cin >>ch ;
if(ch=='y')
{
system("cls");
Show_Apply_System();
}
else
{
cout<<"服务器错误00044xx"< exit(0);
}
return ;


}
void Go_back3()
{

// 返回管理系统上一级;
char ch ;
cout<<" 返回上一级 "<<" [y/n] ";
cin >>ch ;
if(ch=='y')
{
system("cls");
show_in_AdSYstem();
}
else
{
cout<<"服务器错误00044xx"< exit(0);
}


return ;
}
void Go_back4()
{
char ch ;
cout<<" 返回上一级 "<<" [y/n] ";
cin >>ch ;
if(ch=='y')
{
system("cls");
Manage_system();
}
else
{
cout<<"服务器错误00044xx"< exit(0);
}
return ;
}
void printList_new(Message &M)
{

cout<<"姓名 : " < cout<<"学号 : " < cout<<"性别 : "< cout<<"年龄 : "< cout<<"学院 : "< cout<<"班级 : "< cout<<"报名项目 : "< cout<<"报名时间 : "< M.Join_time.day <<" "<
return ;
}
void Point_Base_Me(char *Temp)
{
FILE *fp = fopen(Temp,"r");
Message M ;

fscanf(fp,"%s %s %d %c %s %s %d %d %d %d %d %d %s %s",M.IDcard ,M.name ,&M.age ,&M.gender ,M.Institute ,M.Class,
&M.Join_time.year ,&M.Join_time.month ,&M.Join_time.day ,&M.Join_time.hours ,&M.Join_time.minutes,&M.Join_time.second,
M.sport_it1,M.sport_it2);
printList_new(M);
Go_back1();
return ;
}
void Administrator_System()
{
// 管理员 ;
// 加一个 管理员登录 ;
Enter_Adsystem();

}
void show_in_AdSYstem()
{
/*
cout<<"您已进入管理员系统"<< endl;
cout<<"请输入管理员账号和密码"< system("cls");
cout< cout<<"ttt ***********************************"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt *t 管 理 员 系 统 *"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 1 账号注册 ☆ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 2 管理系统 ☆ *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 3 返回上一页 ☆ *"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt ***********************************"< AD_Menu();
return ;
}
void AD_Menu()
{

int num ;
cout< cout<<"========================================================================"< cout<<"功能选择"< if(scanf("%d",&num)) // 正常输入
{
switch (num)
{
case 1:
{
Log_Administrator();
}
break ;
case 2:
{
Manage_system();

}
break ;
case 3:
{
system("cls");
ShowPage();
}
break ;
default :
{
cout<<"ERORR"< exit(ERROR);
}
}

}

return ;

}
void Log_Administrator()
{
// 账号注册 ;
FILE *fp ;
AD admin ;
char Pass_word[MAX] ;
char Temp[MAX] ;
strcpy(Temp,Path2);
cout<<"输入姓名"<<" : ";
cin>>admin.num ;
strcat(Temp,admin.num);
strcat(Temp,".txt");
cout< cout<<"输入密码"<<" : ";
cin>>admin.password ;
cout<OP: cout<<"重复密码"<<" : ";
cin>>Pass_word ;

if(strcmp(admin.password,Pass_word) == 0 )
{// 密码正确 并且文件不存在
if(ScanRepetition(Temp)==0)
{
cout<<"账户存在"< exit(ERROR);
}
cout<<"注 册 成 功"< fp = fopen(Temp,"w");
if(!fp)
{
cout<<"open Temp failed "< exit(ERROR) ;
}
fprintf(fp,"%s",admin.password);

fclose(fp);
Go_back3();
}
else
{
cout<<"密码不一致"<
goto OP ;
}

return ;
}
void Manage_system()
{
system("cls");
cout< cout<<"ttt ***********************************"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt *t 管 理 系 统 *"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 1 运动员报名取消 *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 2 修改截止日期 *"< cout<<"ttt * *"< cout<<"ttt *t"<<" ☆"<<" 3 返回上一页 *"< cout<<"ttt * *"< cout<<"ttt * *"< cout<<"ttt ***********************************"< AD_Menu2();

return ;
}
void AD_Menu2()
{
int num ;
cout< cout<<"========================================================================"< cout<<"功能选择"< if(scanf("%d",&num)) // 正常输入
{
switch (num)
{
case 1:
{
// 运动员报名取消 删除文件
Cancel_signup();

}
break ;
case 2:
{
// 修改截止日期;
Revise_Data();
Go_back3();
}
break ;
case 3:
{
show_in_AdSYstem();

}

default :
{
cout<<"ERORR"< exit(ERROR);
}
}

}

return ;



}
void Cancel_signup()
{
// 报名取消;
// 杀出文件
char id[MAX] ; //
char Temp[MAX] ;
cout<<" 输入报名取消的运动员学号"<<" :";
cin >> id ;
strcpy(Temp,Path1);
strcat(Temp,id);
strcat(Temp,".txt");
if(ScanRepetition(Temp) == -1)
{
cout<<"没有该运动员的信息,报名取消错误"< exit(0);

}
else
{
remove(Temp);
cout<<"删除成功"<
}
Go_back3();
return ;

}
void Revise_Data()
{
// 修改日期 ;
FILE *fp = fopen("Data.txt","w");
Data D ;
cout<< "输入年份"<<" : ";
cin >> D.year ;
cout< cout<< "输入月份"<<" : ";
cin >> D.month ;
cout< cout<< "输入天数"<<" : ";
cin >> D.day ;
cout< cout<< "输入小时"<<" : ";
cin >> D.hours ;
cout< cout<< "输入分钟"<<" : ";
cin >> D.minutes ;
cout< cout<< "输入秒数"<<" : ";
cin >> D.second ;
cout< fprintf(fp,"%d %d %d %d %d %d",D.year,D.month,D.day ,D.hours ,D.minutes ,D.second);
cout<<"修改成功"< fclose(fp);
return ;
}
void Enter_Adsystem()
{
char name[MAX] ;
char Temp[MAX] ;
char Password[MAX] ;
char PW[MAX] ;
FILE *fp ;
cout <<" 请输入管理员账号名 : ";
cin >> name ;
cout< strcpy(Temp , Path2) ;
strcat(Temp , name) ;
strcat(Temp , ".txt");
if(ScanRepetition(Temp) == -1)
{
// 不存在
cout<<" 管理员账号不存在 "< exit(0) ;
}
fp = fopen(Temp , "r") ;
if(!fp)
{
cout<<" open the file failed "< exit(0) ;
}
fscanf(fp , "%s",Password);
fclose(fp) ;
cout <<" 你输入密码验证 "<<" : ";
cin >> PW ;
if ( strcmp(PW,Password)==0)
{
int i ;
cout<<"验证成功"<
for(i = 1 ; i<= 4 ; i++)
{
cout < Sleep(500) ;
system("cls");

}
show_in_AdSYstem();
}
else
{
cout <<"验证失败"< Go_back1();
}


return ;
}
bool Judge_IF_Past_due()
{
Message M ;
Data D ; // 截止时间
Data SD ; // 当前时间 ;
// bool C = true ; // 初始值时过期了
FILE *Dp = fopen("Data.txt","r");
if(!Dp)
{
exit(0);
}
fscanf(Dp,"%d%d%d%d%d%d",&D.year,&D.month,&D.day ,&D.hours ,&D.minutes ,&D.second);
//printf("截止时间 :%d -%d- %d %d :%d :%d n",D.year,D.month,D.day ,D.hours ,D.minutes ,D.second);
Gettime_f(SD.year ,SD.month ,SD.day ,SD.hours ,SD.minutes ,SD.second); //获取当前时间
printf("当前时间 : [ %d -%d- %d %d :%d :%d ]n",SD.year ,SD.month ,SD.day ,SD.hours ,SD.minutes ,SD.second);
if( SD.year < D.year )
{
// 截止时间 :2019 -5- 47 8 :63 :12
// 当前时间 :2018 -7- 11 15 :46 :24
return false ; // 还没截止

}
else if (SD.year == D.year && SD.month != D.month)
{
if(SD.month < D.month)
{
return false ;
}
else if ( SD.month > D.month)
{
return true ;
}

}
else if (SD.year == D.year && SD.month == D.month && SD.day != D.day)
{
if (SD.day {
// 如果当前天数 小于 截止天数
return false ;
}
else if ( SD.day > D.day)
{
return true ;
}


}
else if ( SD.year == D.year && SD.month == D.month && SD.day == D.day && SD.hours !=D.hours)
{

if (SD.hours {

return false ;
}
else if ( SD.hours > D.hours)
{
return true ;
}

}


}
代码有点多,应该还能改进,路径可以自己改。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持无名。

OpenCV实现给图片添加边框功能
C++课程设计之运动会管理系统

同类资源