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> p->data.name ;
 cout<>p->data.IDcard ;
 cout<> p->data.gender;
 cout<> p->data.age ;
 cout<> p->data.Institute ;
 cout<> p->data.Class;
 cout<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"<=i)
 break ;
 ++k;
 p = p->next ;
 
 }
 if(!p || k>i)
 {
 cout<<"没找到"<data ;
 return OK ;
}
 
Status List::printList(LinkList &L )
{
 /* 打印线性表 */
 LinkList p = L ;
 while(p)
 {
 cout<<"姓名 : " <data.name <data.IDcard <data.gender<data.age<data.Institute<data.Class<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<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 "<data.IDcard),".txt"));
 int Judge = ScanRepetition(T) ;// 扫描是否有重名;
 
 if(Judge == 0) // 存在返回0
 {
  
  char ch ;
  cout<<"你输入的学号已经被录入或者您输入的学号有误,请不要重复录入. "<data.IDcard ) ;
  strcpy(n,strcat(Name, ".txt")); // zhs.txt
  strcpy(m,Path2); // D://dos//SportSystem//
  strcat(m,n); // D://dos//SportSystem//zhs.txt
 }
 
 fin = fopen(m,"a+");
 if( !fin)
 {
  cout<<"Creat_fin ERROR "<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,'\0',sizeof(m));
 memset(n,'\0',sizeof(n));
 memset(Name,'\0',sizeof(Name));
 memset(cpy_Path,'\0',sizeof(cpy_Path)) ;
 memset(T,'\0',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 Path2 "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 Path3 "D:\\dos\\Administrator\\"
void ShowPage()
{
 cout<> n ;
 a.CreatList(L,n);
 cout<<" 身份信息确认 "<<"[y/n]"<<" ";
 cin >>ch2 ;
 if(ch2=='y')
 {
 cout<<" 确认成功 "<>ch3 ;
 if(ch3=='y')
 {
 a.printList(L);
 Sleep(500);
 }
 Go_back1();
 
  return ;
}
void Show_Apply_System()
{
 int index ;
 cout<>index ;
 if(index == 1)
 {
 Apply_System();// 录用信息
 }
 else if(index ==2 )
 {
 LinkList L ;
 cout<<"运动项目报名"<>Id ;
 strcpy(Cpy_path2,Path2) ;
 strcat(Cpy_path2,Id);
 strcat(Cpy_path2,".txt");
 if(ScanRepetition(Cpy_path2) == -1)
 {
  cout<<"没有该学生信息"<> 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<<"选择成功"<> 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<<"选择成功"<>id_register ;
 strcpy(Temp,Path2);
 strcat(id_register,".txt");
 strcat(Temp,id_register);
 if(ScanRepetition(Temp)== -1 )
 {
 cout<<"没有该生的相关信息!"<>id_register ;
 strcpy(Temp,Path2);
 strcat(id_register,".txt");
 strcat(Temp,id_register);
 if(ScanRepetition(Temp)== -1)
 {
 cout<<"没有该生的相关信息!"<>ch ;
 if(ch=='y')
 {
 system("cls");
 ShowPage();
 }
 else
 {
 cout<<"服务器错误00044xx"<>ch ;
 if(ch=='y')
 {
 system("cls");
 Show_Apply_System();
 }
 else
 {
 cout<<"服务器错误00044xx"<>ch ;
 if(ch=='y')
 {
 system("cls");
 show_in_AdSYstem();
 }
 else
 {
 cout<<"服务器错误00044xx"<>ch ;
 if(ch=='y')
 {
 system("cls");
 Manage_system();
 }
 else
 {
 cout<<"服务器错误00044xx"<>admin.num ;
 strcat(Temp,admin.num);
 strcat(Temp,".txt");
 cout<>admin.password ;
 cout<>Pass_word ;
 
 if(strcmp(admin.password,Pass_word) == 0 )
 {// 密码正确 并且文件不存在
 if(ScanRepetition(Temp)==0)
 {
  cout<<"账户存在"<> id ;
 strcpy(Temp,Path2);
 strcat(Temp,id);
 strcat(Temp,".txt");
 if(ScanRepetition(Temp) == -1)
 {
 cout<<"没有该运动员的信息,报名取消错误"<> D.year ;
 cout<> D.month ;
 cout<> D.day ;
 cout<> D.hours ;
 cout<> D.minutes ;
 cout<> D.second ;
 cout<> name ;
 cout<> PW ;
 if ( strcmp(PW,Password)==0)
 {
 int i ;
    cout<<"验证成功"< D.month)
 {
  return true ;
 }
 
 }
 else if (SD.year == D.year && SD.month == D.month && SD.day != D.day)
 {
 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  D.hours)
 {
  return true ;
 }
 
 }
 
 
}

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


网站栏目:C++实现校园运动会报名系统
网站网址:http://azwzsj.com/article/ipjhco.html