学生成绩管理系统结构体数组_第1页
学生成绩管理系统结构体数组_第2页
学生成绩管理系统结构体数组_第3页
学生成绩管理系统结构体数组_第4页
学生成绩管理系统结构体数组_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/ 1102401班学生成绩管理系统.cpp : Defines the entry point for the console application./#include "stdafx.h"#include<stdio.h> #include<conio.h> /*清屏*/ #include<stdlib.h> /*显示目录*/ #include<string.h> #include<iostream>#include<windows.h>#pragma comment(lib,"winm

2、m.lib")using namespace std;#define MAX 1000 void manager(); /*管理员登录界面*/void users(); /*用户登录界面*/void menu(); /*主菜单*/void input(); /*输入数据函数*/ void read(); /*读取函数*/void read1(); /*直接从文件读取*/void read2(); /*选择文件读取*/void display(); /*显示数据函数*/ void display1(); /*显示各科成绩函数*/void display2(); /*以学号排序*/voi

3、d sum(); /*求和函数*/ void sort(); /*总成绩排序*/ void sort1(); /*数学成绩排序*/ void sort2(); /*英语成绩排序*/void sort3(); /*语文成绩排序*/void sort4(); /*物理成绩排序*/void sort5(); /*化学成绩排序*/void sort6(); /*按学号排序*/ void modify(); /*修改文件函数*/ void del(); /*删除数据函数*/ void insert(); /*插入数据函数*/ void find(); /*查找数据函数*/void find1(); /*

4、按姓名查找*/void find2(); /*按学号查找*/void del_file(); /*删除文件函数*/void del_file1(); /*删除默认文件内容*/void del_file2(); /*删除指定文件内容*/void save(); /*保存数据函数*/ void save1(); /*保存到默认文件*/void save2(); /*保存到指定文件*/void remove(); /*删除文件*/void remove1(); /*删除默认文件*/void remove2(); /*删除指定文件*/void copy(); /*复制指定文件*/void rename

5、(); /*重命名文件*/int now_no; struct student /*定义学生信息*/ int no; /*学号*/ char name20; /*姓名*/ int shuxue; /*数学*/ int yingyu; /*英语*/ int yuwen; /*语文*/ int wuli; /*物理*/ int huaxue; /*化学*/ int sum; /*总分*/Student;void main() int a;int i=0;printf("tt11111111欢迎进入1102401班学生成绩管理系统111111111n");printf("

6、;tttt1.管理员登录ntttt2.用户登录ntttt3.退出n");printf("tttt选择(1/2/3):");fflush(stdin);scanf("%d",&a); /*&as为引用型指针,意思是引用( int as)中的as,%d为整型数标志*/ switch(a) case 1:system("cls"); system("color 8f"); manager(); break; case 2:system("cls"); system("

7、;color 2f"); users(); break; case 3:system("exit");system("color 3f"); exit(0); default: system("cls"); main();struct student stuMAX,*p;void manager()int h,flag1,flag2; char name20="1102401",password10="gis" char person20,password110;printf(&quo

8、t; ttt111111111111管理员登录1111111111111n"); for(h=0;h!=4;) printf("ntttt 帐 号:");fflush(stdin); gets(person); flag1=strcmp(person,name); /*strcmp比较person,name,相等flag1=0*/ printf("tttt 密 码:"); gets(password1); flag2=strcmp(password,password1); /*比较password,password1,相等flag2=0*/ i

9、f(flag1=0&&flag2=0) menu(); break; else printf ("ttta222帐号或密码错误!nn");PlaySound("C:windowsmediawindows.wav",NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);printf ("ttta222请注意:您还剩%d次机会!nn",3-h);/*h先为0,“4-h”为剩下可输入次数,此时h仍为0*/system("pause");system("cls");

10、 h+;if (h=4) PlaySound(NULL,NULL,SND_FILENAME); system("cls"); main();void users()printf ("nnttt* 学生登录 *n");int i,j;char password10="666666" char str20,password110,as; do read1(); printf("tttt 姓名:"); fflush(stdin); gets(str);printf("tttt 密码:"); gets(

11、password1); j=strcmp(password,password1);if(j=0) for(i=0;i<now_no;i+)if(!strcmp(,str) system("cls"); printf("t学号tt姓名t数学t英语t语文t物理t化学t总分n"); printf("t%ut%st%.dt%.dt%.dt%.dt%.dt%.dn",stui.no,,stui.shuxue,stui.yingyu,stui.yuwen,stui.wuli,stui.huaxue,stu

12、i.sum); elseprintf("该学生不存在或密码错误,请您确认输入无误!aaan"); system("pause");system("cls");main(); while(!as); system("cls");system("color 4f");void menu() PlaySound(NULL,NULL,SND_FILENAME); system("cls"); /清屏 system("color 1f"); int as;int i

13、=0; do printf("ntttt1.新录入学生成绩ntttt2.从文件读入学生成绩ntttt3.显示全体学生成绩ntttt4.总分排序ntttt5.全体学生单科成绩排序ntttt6.学号排序ntttt7.修改选定学生成绩ntttt8.删除选定学生成绩ntttt9.添加学生成绩ntttt10.查询选定学生成绩ntttt11.删除文件中学生成绩ntttt12.保存学生成绩ntttt13.删除文件ntttt14.复制文件ntttt15.重命名文件ntttt16.退出n"); printf("tttt选择功能选项(输入所选功能前的数字):"); fflu

14、sh(stdin); scanf("%d",&as); switch(as) case 1:system("cls"); system("color 8f"); input(); break; case 2:system("cls"); /*case *,*为as*/ system("color 2f"); read(); /*调用函数声明*/ break; case 3:system("cls"); system("color 0f"); dis

15、play(); break; case 4:system("cls"); system("color 1f"); sort(); break; case 5:system("cls"); system("color 5f"); display1(); break;case 6:system("cls"); system("color 7f"); display2(); break; case 7:system("cls"); system("co

16、lor 1f"); modify(); break;case 8:system("cls"); system("color 2f"); del(); break;case 9:system("cls"); system("color 7f"); insert(); break; case 10:system("cls"); system("color 6f"); find(); break; case 11:system("cls"); syst

17、em("color 9f"); del_file(); /*删除文件中的信息*/ break; case 12:system("cls"); system("color 1f"); save(); /*保存*/ break; case 13:system("cls"); system("color 3f"); remove(); break;case 14:system("cls"); system("color 3f"); copy(); break;

18、case 15:system("cls"); system("color 3f"); rename(); break; case 16:system("cls"); system("color 3f"); main(); break; default:system("cls"); menu(); while(1); /*while(1),1表示真,所以while(1)表示永远循环下去*/ /*至此功能选择模块结束*/ void input() /*学生信息录入模块*/ int i=0; char

19、 ch; do printf("tttt1.录入学生信息n输入第%d个学生的成绩n",i+1); /i+1则使%d为1 printf("n输入10位的学生学号:"); scanf("%s",&stui.no); fflush(stdin); /*清理缓存以防enter键为一个字符*/ printf("n输入学生姓名:"); fflush(stdin); gets(); /*以字符串的方式输入第i个学生的学号*/ printf("n数学:"); scanf("%

20、d",&stui.shuxue); printf("n英语:"); fflush(stdin); scanf("%d",&stui.yingyu); printf("n语文:"); fflush(stdin); scanf("%d",&stui.yuwen); printf("n物理:"); fflush(stdin); scanf("%d",&stui.wuli); printf("n化学:"); fflush(

21、stdin); scanf("%d",&stui.huaxue); printf("nn"); i+; now_no=i; printf("是否继续输入?(Y/N)"); fflush(stdin); ch=getch(); system("cls"); system("color Bf"); while(ch!='n'&&ch!='N'); system("cls"); system("color Cf&qu

22、ot;); void read() int n;int c=0;printf("tttt1.读取默认存储文件ntttt2.读取指定存储文件ntttt3. 退出n");printf("tttt 选择(1/2/3):");fflush(stdin);scanf("%d",&n); switch(n) case 1:system("cls"); system("color 8f"); read1(); break; case 2:system("cls"); system(

23、"color 2f"); read2(); break; case 3:system("cls");system("color 3f"); menu(); default: system("cls"); read();void read1()int i; char filepath20;FILE *fp=fopen("1102401.xls","r"); now_no=0; for(i=0;i<MAX&&!feof(fp);i+) fscanf(fp,&

24、quot;t%dt%st%dt%dt%dt%dt%dt%dn",&stui.no,,&stui.shuxue,&stui.yingyu,&stui.yuwen,&stui.wuli,&stui.huaxue,&stui.sum); now_no+; fclose(fp); return;void read2() FILE *fp; int i; char filepath20; printf("输入要读入的文件路径:"); fflush(stdin); gets(filepath); if(

25、fp=fopen(filepath,"r")=NULL) printf("找不到%s文件!an",filepath); system("pause"); system("cls"); return; now_no=0; for(i=0;i<MAX&&!feof(fp);i+) fscanf(fp,"t%st%st%dt%dt%dt%dt%dt%dn",&stui.no,,&stui.shuxue,&stui.yingyu,&

26、stui.yuwen,&stui.wuli,&stui.huaxue,&stui.sum); now_no+; fclose(fp); printf("保存的在文件%s中的所有信息已经读入!n",filepath); system("pause"); /*按任意键继续*/ system("cls"); system("color 6f");void display() /*显示成绩*/ int i; char as; sum(); do printf("ttt1102401班学生成

27、绩如下n"); printf("t学号tt姓名t数学t英语t语文t物理t化学t总分n"); for(i=0;i<now_no&&0;i+) printf("t%dt%st%.dt%.dt%.dt%.dt%.dt%.dn",stui.no,,stui.shuxue,stui.yingyu,stui.yuwen,stui.wuli,stui.huaxue,stui.sum); printf("ttt按任意键返回主菜单"); fflush(stdin); as=getch(

28、); while(!as); system("cls"); system("color 1f"); void sum() /*求总分*/ int i; for(i=0;i<now_no;i+) stui.sum=stui.shuxue+stui.yingyu+stui.yuwen+stui.wuli+stui.huaxue; void display1() /*显示单科成绩排名*/ int i; char as; do printf("1102401班学生数学成绩排名n"); printf("t学号tt姓名t分数n&q

29、uot;); sort1(); for(i=0;i<now_no&&0;i+) printf("t%dt%st%.dtn",stui.no,,stui.shuxue); printf("1102401班学生英语成绩排名n"); printf("t学号tt姓名t分数n"); sort2(); for(i=0;i<now_no&&0;i+) printf("t%dt%st%.dtn",stui.no,,s

30、tui.yingyu); printf("1102401班学生语文成绩排名n"); printf("t学号tt姓名t分数n"); sort3(); for(i=0;i<now_no&&0;i+) printf("t%dt%st%.dtn",stui.no,,stui.yuwen); sort4(); printf("1102401班学生物理成绩排名n"); printf("t学号tt姓名t分数n"); sort3(); for(i=0;i

31、<now_no&&0;i+) printf("t%dt%st%.dtn",stui.no,,stui.wuli); printf("1102401班学生化学成绩排名n"); printf("t学号tt姓名t分数n"); sort3(); for(i=0;i<now_no&&0;i+) printf("t%dt%st%.dtn",stui.no,,stui.huaxue); printf("t

32、tt按任意键返回主菜单"); fflush(stdin); as=getch(); while(!as); system("cls"); system("color Ff");void display2()int i; char as; sort6(); sum(); do printf("ttt1102401班学生成绩如下n"); printf("t学号tt姓名t数学t英语t语文t物理t化学t总分n"); for(i=0;i<now_no&&0;i+) print

33、f("t%dt%st%.dt%.dt%.dt%.dt%.dt%.dn",stui.no,,stui.shuxue,stui.yingyu,stui.yuwen,stui.wuli,stui.huaxue,stui.sum); printf("ttt按任意键返回主菜单"); fflush(stdin); as=getch(); while(!as); system("cls"); system("color 1f"); void modify() /*修改成绩*/ int i; char str20

34、; printf("输入要修改的学生姓名:"); fflush(stdin); gets(str); for(i=0;i<now_no;i+) if(!strcmp(,str) system("cls"); system("color 5f"); printf("ntt输入修改后学生信息n"); printf("n学号:"); fflush(stdin); scanf("%d",&stui.no); printf("n数学:"

35、;); fflush(stdin); scanf("%d",&stui.shuxue); printf("n英语:"); fflush(stdin); scanf("%d",&stui.yingyu); printf("n语文:"); fflush(stdin); scanf("%d",&stui.yuwen); printf("n物理:"); fflush(stdin); scanf("%d",&stui.wuli);pr

36、intf("n化学:"); fflush(stdin); scanf("%d",&stui.huaxue); printf("nn"); sort(); break; system("pause"); system("cls"); system("color 5f");void sort() /*总分排名*/ struct student temp; /*temp指向成绩高的那个学生结点*/ int i,j; sum(); for(i=1;i<now_no;i+

37、) /*now_no=0*/ for(j=1;j<=now_no-i;j+) if(stuj-1.sum<stuj.sum) temp=stuj; stuj=stuj-1; stuj-1=temp; /*位置传递*/ printf("排名已完成进入功能3可进行显示n"); system("pause"); system("cls");system("color Df"); void sort1() /*数学排名*/ struct student temp; int i,j; for(i=1;i<n

38、ow_no;i+) for(j=1;j<=now_no-i;j+) if(stuj-1.shuxue<stuj.shuxue) temp=stuj; stuj=stuj-1; stuj-1=temp; void sort2() /*英语排名*/ struct student temp; int i,j; for(i=1;i<now_no;i+) for(j=1;j<=now_no-i;j+) if(stuj-1.yingyu<stuj.yingyu) temp=stuj; stuj =stuj-1; stuj-1=temp; void sort3() /*语文排名*/ struct student temp; int i,j; for(i=1;i<now_no;i+) for(j=1;j<=now_no-i;j+) if(stuj-1.yuwen<stuj.yuwen) temp=stuj; stuj=stuj-1; stuj-1=temp; void sort4() /*物理排名*/struct student temp;int i,j;for(i=1;i<now_n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论