学生成绩管理系统结构体数组.docx
- 文档编号:23627739
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:46
- 大小:238.29KB
学生成绩管理系统结构体数组.docx
《学生成绩管理系统结构体数组.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统结构体数组.docx(46页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统结构体数组
//1102401班学生成绩管理系统.cpp:
Definestheentrypointfortheconsoleapplication.
//
#includestdafx.h
#include
#include
#include
#include
#include
#include
#pragmacomment(lib,winmm.lib)
usingnamespacestd;
#defineMAX1000
voidmanager();/*管理员登录界面*/
用户登录界面*//*voidusers();
/*主菜单*/
voidmenu();
输入数据函数/**/voidinput();
*/
/*读取函数voidread();
/*直接从文件读取*/voidread1();
选择文件读取*//*voidread2();
显示数据函数/**/voiddisplay();
*//*显示各科成绩函数voiddisplay1();
/*以学号排序*/voiddisplay2();
/*求和函数*/voidsum();
*//*总成绩排序voidsort();
/*数学成绩排序*/voidsort1();
*//*英语成绩排序voidsort2();
voidsort3();语文成绩排序*//*/*物理成绩排序*/voidsort4();
/*化学成绩排序*/voidsort5();
按学号排序/**/voidsort6();
voidmodify();修改文件函数/**/
*//*删除数据函数voiddel();
/*插入数据函数voidinsert();*/
*/查找数据函数/*voidfind();
按姓名查找/*voidfind1();*/
按学号查找/**/voidfind2();
voiddel_file();*/删除文件函数/*
*/删除默认文件内容voiddel_file1();/*
/*删除指定文件内容*/voiddel_file2();
*//*保存数据函数voidsave();
voidsave1();保存到默认文件/**/
voidsave2();/**/保存到指定文件
*/
删除文件/*voidremove();
voidremove1();/*删除默认文件*/
voidremove2();/*删除指定文件*/
voidcopy();/*复制指定文件*/
voidrename();/*重命名文件*/
intnow_no;
structstudent/*定义学生信息*/
{
intno;/*学号*/
charname[20];/*姓名*/
intshuxue;/*数学*/
intyingyu;/*英语*/
intyuwen;/*语文*/
intwuli;/*物理*/
inthuaxue;/*化学*/
intsum;/*总分*/
}Student;
voidmain()
{
inta;inti=0;
printf(\\t\1\1\1\1\1\1\1\1欢迎进入1102401班学生成绩管理系统\1\1\1\1\1\1\1\1\1\n);
printf(\\t\t\t1.管理员登录\n\t\t\t\t2.用户登录\n\t\t\t\t3.退出\n);
printf(\\t\t\t选择(1/2/3):
);
fflush(stdin);
scanf(%d,&a);/*&as为引用型指针,意思是引用(intas)中的as,%d为整型数标志*/
switch(a)
{
case1:
system(cls);
system(color8f);
manager();
break;
case2:
system(cls);
system(color2f);
users();
break;
case3:
system(exit);
system(color3f);
exit(0);
default:
system(cls);
main();
}
}
structstudentstu[MAX],*p;
voidmanager()
{
inth,flag1,flag2;
charname[20]=H2401,password[10]=gis;
charperson[20],password1[10];
printf(\t\t\t\1\1\1\1\1\1\1\1\1\1\1\1管理员登录\1\1\1\1\1\1\1\1\1\1\1\1\1\n);
for(h=0;h!
=4;)
{
printf(\
\t\t\t\t帐号:
);
fflush(stdin);
gets(person);
flag1=strcmp(person,name);/*strcmp比较person,name,相等flag1=0*/
printf(\\t\t\t密码:
);
gets(password1);
flag2=strcmp(password,password1);/*比较password,password1,相等flag2=0*/
if(flag1==0&&flag2==0)
{
menu();
break;
}
else
{
printf(\\t\t\a\2\2\2帐号或密码错误!
\n\n);
PlaySound(C:
\windows\media\windows.wav,NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
printf(\\t\t\a\2\2\2请注意:
您还剩%d次机会!
\n\n,3-h);/*h先为0,“4-h”为剩下可输入次数,此时h仍为0*/
system(pause);
system(cls);
h++;
}
}
if(h=4)
PlaySound(NULL,NULL,SND_FILENAME);
system(cls);
main();
}
voidusers()
{
*********\n);
学生登录printf(\
\n\t\t\t*********
inti,j;
charpassword[10]=66666;
charstr[20],password1[10],as;
do
{
read1();
printf(\\t\t\t姓名:
);
fflush(stdin);
gets(str);
printf(\\t\t\t密码:
);
gets(password1);
j=strcmp(password,password1);
if(j==0)
{
for(i=0;i { if(! strcmp(stu[i].name,str)) { system(cls); printf(\学号\t\t姓名\t数学\t英语\t语文\t物理\t化学\t总分\n); printf(\%u\t%s\t%.d\t%.d\t%.d\t%.d\t%.d\t%.d\n,stu[i].no,stu[i].name,stu[i].shuxue,stu[i].yingyu,stu[i].yuwen,stu[i].wuli,stu[i].huaxue,stu[i].sum); } } } else { 牰湩晴尨该学生不存在或密码错误,请您确认输入无误! \a\a\a\n); } system(pause); system(cls); main(); } while(! as); system(cls); system(color4f); } voidmenu() { PlaySound(NULL,NULL,SND_FILENAME); system(cls);//清屏 system(color1f); intas;inti=0; do { printf(\ \t\t\t\t1.新录入学生成绩\n\t\t\t\t2.从文件读入学生成绩\n\t\t\t\t3.显示全体学生成绩\n\t\t\t\t4.总分排序\n\t\t\t\t5.全体学生单科成绩排序\n\t\t\t\t6.学号排序\n\t\t\t\t7.修改选定学生成绩\n\t\t\t\t8.删除选定学生成绩\n\t\t\t\t9.添加学生成绩\n\t\t\t\t10.查询选定学生成绩\n\t\t\t\t11.删除文件中学生成绩\n\t\t\t\t12.保存学生成绩\n\t\t\t\t13.删除文件\n\t\t\t\t14.复制文件\n\t\t\t\t15.重命名文件\n\t\t\t\t16.退出\n); printf(\\t\t\t选择功能选项(输入所选功能前的数字): ); fflush(stdin); scanf(%d,&as); switch(as) { case1: system(cls); system(color8f); input(); break; as*/*/*case*,为case2: system(cls); system(color2f); 调用函数声明/**/read(); break; case3: system(cls); system(color0f); display(); break; case4: system(cls); system(color1f); sort(); break; case5: system(cls); system(color5f); display1(); break; case6: system(cls); system(color7f); display2(); break; case7: system(cls); system(color1f); modify();; break; case8: system(cls); system(color2f); del(); break; case9: system(cls); system(color7f); insert(); break; case10: system(cls); system(color6f); find(); break; case11: system(cls); system(color9f); del_file();/*删除文件中的信息*/ break; case12: system(cls); system(color1f); */save();/*保存 break; case13: system(cls); system(color3f); remove(); break; case14: system(cls); system(color3f); copy(); break; case15: system(cls); system(color3f); rename(); break; case16: system(cls); system(color3f); main(); break; default: system(cls); menu(); } }while (1);1/*while (1),表示真, */下循环去示while (1)所以表远永 /*至此功能选择模块结束*/ } voidinput()*/学生信息录入模块/* { inti=0; charch; do { printf(\\t\t\t1.录入学生信息\n输入第%d个学生的成绩\n,i+1);//i+1则使%d为1 printf(\ 输入10位的学生学号: ); scanf(%s,&stu[i].no); fflush(stdin);/*清理缓存以防enter键为一个字符*/ printf(\ 输入学生姓名: ); fflush(stdin); gets(stu[i].name);/*以字符串的方式输入第i个学生的学号*/ printf(\ 数学: ); scanf(%d,&stu[i].shuxue); printf(\ 英语: ); fflush(stdin); scanf(%d,&stu[i].yingyu); printf(\ 语文: ); fflush(stdin); scanf(%d,&stu[i].yuwen); printf(\ 物理: ); fflush(stdin); scanf(%d,&stu[i].wuli); printf(\ 化学: ); fflush(stdin); scanf(%d,&stu[i].huaxue); printf(\ \n); i++; now_no=i; 牰湩晴尨是否继续输入? (Y/N)); fflush(stdin); ch=getch(); system(cls); system(colorBf); } while(ch! ='n'&&ch! ='N'); system(cls); system(colorCf); } voidread() { { intn;intc=0; printf(\\t\t\t1.读取默认存储文件\n\t\t\t\t2.读取指定存储文件\n\t\t\t\t3.退出\n); printf(\\t\t\t选择(1/2/3): ); fflush(stdin); scanf(%d,&n); switch(n) { case1: system(cls); system(color8f); read1(); break; case2: system(cls); system(color2f); read2(); break; case3: system(cls); system(color3f); menu(); default: system(cls); read(); } } } voidread1() { inti; charfilepath[20]; FILE*fp=fopen(H2401.xls, ); now_no=0; for(i=0;i feof(fp);i++) { fscanf(fp,\%d\t%s\t%d\t%d\t%d\t%d\t%d\t%d\n,&stu[i].no,stu[i].name,&stu[i].shuxue,&stu[i].yingyu,&stu[i].yuwen,&stu[i].wuli,&stu[i].huaxue,&stu[i].sum); now_no++; } fclose(fp); return; } voidread2() { FILE*fp; inti; charfilepath[20]; 牰湩晴尨输入要读入的文件路径: ); fflush(stdin); gets(filepath); if((fp=fopen(filepath, ))==NULL) { 牰湩晴尨找不到%s文件! \a\n,filepath); system(pause); system(cls); return; } now_no=0; for(i=0;i feof(fp);i++) { fscanf(fp,\%s\t%s\t%d\t%d\t%d\t%d\t%d\t%d\n,&stu[i].no,stu[i].name,&stu[i].shuxue,&stu[i].yingyu,&stu[i].yuwen,&stu[i].wuli,&stu[i].huaxue,&stu[i].sum); now_no++; } fclose(fp); 牰湩晴尨保存的在文件%s中的所有信息已经读入! \n,filepath); system(pause);/*按任意键继续*/ system(cls); system(color6f); } voiddisplay()/*显示成绩*/ { inti; charas; sum(); do { printf(\\t\t1102401班学生成绩如下\n); printf(\学号\t\t姓名\t数学\t英语\t语文\t物理\t化学\t总分\n); for(i=0;i printf(\%d\t%s\t%.d\t%.d\t%.d\t%.d\t%.d\t%.d\n,stu[i].no,stu[i].name,stu[i].shuxue,stu[i].yingyu,stu[i].yuwen,stu[i].wuli,stu[i].huaxue,stu[i].sum); printf(\\t\t按任意键返回主菜单); fflush(stdin); as=getch(); } while(! as); system(cls); system(color1f); } */求总分/*voidsum() { inti; for(i=0;i { stu[i].sum=stu[i].shuxue+stu[i].yingyu+stu[i].yuwen+stu[i].wuli+stu[i].huaxue; } } voiddisplay1()/*显示单科成绩排名*/ { inti; charas; do { printf(H2401班学生数学成绩排名\n); printf(\学号\t\t姓名\t分数\n); sort1(); for(i=0;i printf(\%d\t%s\t%.d\t\n,stu[i].no,stu[i].name,stu[i].shuxue); printf(H2401班学生英语成绩排名\n); printf(\学号\t\t姓名\t分数\n); sort2(); for(i=0;i printf(\%d\t%s\t%.d\t\n,stu[i].no,stu[i].name,stu[i].yingyu); printf(H2401班学生语文成绩排名\n); printf(\学号\t\t姓名\t分数\n); sort3(); for(i=0;i printf(\%d\t%s\t%.d\t\n,stu[i].no,stu[i].name,stu[i].yuwen); sort4(); printf(H2401班学生物理成绩排名\n); printf(\学号\t\t姓名\t分数\n); sort3(); for(i=0;i printf(\%d\t%s\t%.d\t\n,stu[i].no,stu[i].name,stu[i].wuli); printf(H2401班学生化学成绩排名\n); printf(\学号\t\t姓名\t分数\n); sort3(); for(i=0;i printf(\%d\t%s\t%.d\t\n,stu[i].no,stu[i].name,stu[i].huaxue); printf(\\t\t按任意键返回主菜单); fflush(stdin); as=getch(); } while(! as); system(cls); system(colorFf); } voiddisplay2() { inti; charas; sort6(); sum(); do { printf(\\t\t1102401班学生成绩如下\n); printf(\学号\t\t姓名\t数学\t英语\t语文\t物理\t化学\t总分\n); for(i=0;i printf(\%d\t%s\t%.d\t%.d\t%.d\t%.d\t%.d\t%.d\n,stu[i].no,stu[i].name,stu[i].shuxue,stu[i].yingyu,stu[i].yuwen,stu[i].wuli,stu[i].huaxue,stu[i].sum); printf(\\t\t按任意键返回主菜单); fflush(stdin); as=getch(); } while(! as); system(cls); system(color1f); } voidmodify()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 结构 数组
![提示](https://static.bdocx.com/images/bang_tan.gif)