C语言大作业成绩管理系统.docx
- 文档编号:7272053
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:36
- 大小:65.93KB
C语言大作业成绩管理系统.docx
《C语言大作业成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C语言大作业成绩管理系统.docx(36页珍藏版)》请在冰豆网上搜索。
C语言大作业成绩管理系统
C语言大作业(成绩管理系统)
制作人:
皇家战盾
2016年12月31日
;
流程图:
信息结构体中包括:
学号、、英语成绩、高数成绩、大物成绩、C语言成绩、机械制图成绩、政治成绩、体育成绩、总成绩、平均分。
源程序代码
#include
#include
structstudent
{
intnum;学号
charname[100];
intscore1;英语
intscore2;高数
intscore3;大物
intscore4;C语言
intscore5;机械制图
intscore6;政治
intscore7;体育
intscore8;总成绩
intscore9;平均分
}stu[100];
intR;
intxuehao;
doubleping[10];
intgao[10];
voiddenglu();登录函数
voidstudent();学生登录界面函数
voidteacher();教师登录界面函数
voidchengji();
voidquanbanchengjishuchu();调用全班各科成绩、总分、平均分进行输出函数
voidtianjia();教师使用添加学生成绩函数
voidxiugai();教师使用修改学生成绩函数
voidinput();教师修改成绩将成绩录入文档函数
voidshanchu();教师删除学生信息及成绩函数
voidgerenchengji();输出显示学生个人成绩
voidzhuce();学生登录注册函数
voidpingjun();成绩计算平均分
voidchaxun();教师使用按学号查询学生个人成绩
voidxuehaopaixu();按学号顺序显示个人成绩
voidgerengaofen();学生使用查询各科最高分
voidzuigaofen();显示各科最高分分数
voidps1();英语成绩排序
voidps2();高数成绩排序
voidps3();大物成绩排序
voidps4();C语言成绩排序
voidps5();工图成绩排序
voidps6();政治成绩排序
voidps7();体育成绩排序
voidpz();总成绩排序
voidxueshengpaiming(intnumber);学生查看自己在全班排名
main()
{
intx;
system("cls");
chengji();
pingjun();
zuigaofen();
system("cls");
printf("\n*****欢迎使用本成绩管理系统*****\n\n请选择功能:
\n1.登录\n2.注册\n您选择的功能编号为:
");
scanf("%d",&x);
if(x==1){denglu();}
elseif(x==2){zhuce();}
else{printf("请正确选择!
");}
}
voiddenglu()
{
inta[100],b[100],c[100],i,y,m,n;
charw;
FILE*fp;
fp=fopen("zhanghao.txt","r");
for(i=0;i<1000;i++)
{
fscanf(fp,"%d%d%d",&a[i],&b[i],&c[i]);
}
fclose(fp);
again:
system("cls");
printf("\n***请输入您的用户名和密码***\n\n用户名:
");
scanf("%d",&y);
for(i=0;i<1000;i++)
{
n=i;
if(y==a[i])gotochenggong;
}
printf("用户名不存在,请正确输入!
");gotoagain;
chenggong:
printf("密码:
");
scanf("%d",&m);
{
if(m==b[n])printf("登录成功!
");
else{printf("请正确输入!
");
scanf("%c",&w);scanf("%c",&w);
gotoagain;}
}
xuehao=c[n];
for(i=0;i { if(xuehao==stu[i].num)gotook; } if(xuehao==1)gotook; printf("\n此学生以被老师删除,请联系老师"); printf("按回车键返回"); scanf("%c",&w); scanf("%c",&w); main(); ok: if(c[n]==1){teacher();} else{student();} } voidstudent() { inti,k,x; chengji(); system("cls"); for(i=0;i<1000;i++) { k=i; if(xuehao==stu[i].num)gotook; } ok: printf("\n*****欢迎使用本系统*****\n\n你好! %s同学\n\n",stu[k].name); printf("请选择功能\n1.本人成绩查询\n2.各科最高分查询\n\n*如需退出请直接关闭*\n"); scanf("%d",&x); if(x==1) {gerenchengji();} if(x==2) {gerengaofen();} } voidteacher() { intx; system("cls"); chengji(); xuehaopaixu(); pingjun(); printf("\n*****欢迎敬爱的老师使用本系统*****\n\n"); printf("请选择您需要的功能: \n1.学生管理\n2.成绩管理\n\n*如需退出请直接关闭*\n"); scanf("%d",&x); if(x==1) { system("cls"); printf("\n*****欢迎敬爱的老师使用本系统*****\n\n请选择您需要对学生所做的操作\n1.添加某学生数据\n2.修改某学生数据\n3.删除某学生数据\n4.返回\n"); scanf("%d",&x); switch(x) { case1: { tianjia(); } case2: { xiugai(); } case3: { shanchu(); } case4: { teacher(); } } } elseif(x==2) { system("cls"); printf("\n*****欢迎敬爱的老师使用本系统*****\n\n请选择您需要对成绩所做的操作\n1.查看全班学生的考试成绩\n2.修改某学生的考试成绩\n3.查看全班学生的排名\n4.按学号查询某学生的成绩\n5.返回\n"); scanf("%d",&x); switch(x) { case1: { quanbanchengjishuchu(); } case2: { xiugai(); } case3: { printf("请选择排序方式: \n1.按总分排序\n2.按英语成绩排序\n3.按高等数学成绩排序\n4.按大学物理成绩排序\n5.按c语言成绩排序\n6.按机械制图成绩排序\n7.按政治成绩排序\n8.按体育成绩排序\n"); //英语、高等数学、大学物理、C语言、机械制图、政治、体育 scanf("%d",&x); switch(x) { case1: { pz(); quanbanchengjishuchu(); } case2: { ps1(); quanbanchengjishuchu(); } case3: { ps2(); quanbanchengjishuchu(); } case4: { ps3(); quanbanchengjishuchu(); } case5: { ps4(); quanbanchengjishuchu(); } case6: { ps5(); quanbanchengjishuchu(); } case7: { ps6(); quanbanchengjishuchu(); } case8: { ps7(); quanbanchengjishuchu(); } } } case4: {chaxun();} case5: { teacher(); } } } else; return0; } voidchengji() { inti; FILE*fp1; FILE*fp2; FILE*fp3; fp1=fopen("chengji.txt","r"); fp2=fopen("name.txt","r"); fp3=fopen("renshu.txt","r"); fscanf(fp3,"%d",&R); printf("目前本成绩管理系统所存学生人数为%d人\n",R); for(i=0;i { fscanf(fp1,"%d",&stu[i].num); fscanf(fp2,"%s",stu[i].name); fscanf(fp1,"%d",&stu[i].score1); fscanf(fp1,"%d",&stu[i].score2); fscanf(fp1,"%d",&stu[i].score3); fscanf(fp1,"%d",&stu[i].score4); fscanf(fp1,"%d",&stu[i].score5); fscanf(fp1,"%d",&stu[i].score6); fscanf(fp1,"%d",&stu[i].score7); fscanf(fp1,"%d",&stu[i].score8); fscanf(fp1,"%d",&stu[i].score9); stu[i].score8=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+stu[i].score5+stu[i].score6+stu[i].score7; stu[i].score9=(stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+stu[i].score5+stu[i].score6+stu[i].score7)/7; } fclose(fp1); fclose(fp2); fclose(fp3); } voidquanbanchengjishuchu() { inti; charw; system("cls"); printf("学号\t\t1.英语\t2.高数\t3.大物\t4.C语言\t5.机械制图\t6.政治\t7.体育\t总成绩\t\t平均分\n"); for(i=0;i { printf("%d\t",stu[i].num); printf("%s\t",stu[i].name); printf("%d\t",stu[i].score1); printf("%d\t",stu[i].score2); printf("%d\t",stu[i].score3); printf("%d\t",stu[i].score4); printf("%d\t\t",stu[i].score5); printf("%d\t",stu[i].score6); printf("%d\t",stu[i].score7); printf("%d\t\t",stu[i].score8); printf("%d\t\n",stu[i].score9); } printf("全班平均成绩\t%.2lf\t\%.2lf\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\t%.2lf\t%.2lf\t\t%.2lf\n",ping[1],ping[2],ping[3],ping[4],ping[5],ping[6],ping[7],ping[8],ping[9]); printf("按回车键返回"); scanf("%c",&w); scanf("%c",&w); teacher(); } voidtianjia() { inta[10],i; charb[1][100],w; FILE*fp1; FILE*fp2; FILE*fp3; fp1=fopen("chengji.txt","a"); fp2=fopen("name.txt","a"); fp3=fopen("renshu.txt","w"); printf("清输入这名学生的学号\n"); scanf("%d",&a[0]); for(i=0;i { if(a[0]==stu[i].num) { printf("以存在此学生! \n"); printf("按回车键返回"); scanf("%c",&w); scanf("%c",&w); teacher(); } } fprintf(fp1,"%d\n",a[0]); printf("清输入这名学生的\n"); scanf("%s",b[0]);fprintf(fp2,"%s\n",b[0]); printf("清输入这名学生的英语成绩\n"); scanf("%d",&a[1]);fprintf(fp1,"%d\n",a[1]); printf("清输入这名学生的高等数学成绩\n"); scanf("%d",&a[2]);fprintf(fp1,"%d\n",a[2]); printf("清输入这名学生的大学物理成绩\n"); scanf("%d",&a[3]);fprintf(fp1,"%d\n",a[3]); printf("清输入这名学生的C语言成绩\n"); scanf("%d",&a[4]);fprintf(fp1,"%d\n",a[4]); printf("清输入这名学生的机械制图成绩\n"); scanf("%d",&a[5]);fprintf(fp1,"%d\n",a[5]); printf("清输入这名学生的政治成绩\n"); scanf("%d",&a[6]);fprintf(fp1,"%d\n",a[6]); printf("清输入这名学生的体育成绩\n"); scanf("%d",&a[7]);fprintf(fp1,"%d\n",a[7]); a[8]=a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]; fprintf(fp1,"%d\n",a[8]); a[9]=(a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7])/7; fprintf(fp1,"%d\n",a[9]); R=R+1; printf("现在此系统中共存的学生人数有%d人",R); fprintf(fp3,"%d",R); //英语、高等数学、大学物理、C语言、机械制图、政治、体育 fclose(fp1); fclose(fp2); fclose(fp3); printf("添加成功! 按回车键返回"); scanf("%c",&w); scanf("%c",&w); teacher(); } voidxiugai() { intn,m,i,s,p,k,w; chengji(); printf("您需要输入这名学生的学号和要修改的科目编号,之后进行修改\n请输入这名学生的学号: "); scanf("%d",&n); for(i=0;i { if(n==stu[i].num) { gotook; } } printf("并不存在此学生! \n"); printf("按回车键返回"); scanf("%c",&w); scanf("%c",&w); teacher(); ok: printf("1.英语\t\t2.高等数学\t3.大学物理\t4.C语言\t\t5.机械制图\t6.政治\t7.体育\n\n"); printf("您需要输入这名学生要修改的科目编号: "); scanf("%d",&m); for(i=0;i { if(n==stu[i].num) { k=i; switch(m) { case1: {printf("\n请您确认您是要修改%s的英语成绩吗? \n目前ta的英语成绩为%d\n\n请输入\n1.确认2.取消\n",stu[i].name,stu[i].score1);break;break;} case2: {printf("\n请您确认您是要修改%s的高等数学成绩吗? \n目前ta的高等数学成绩为%d\n\n请输入\n1.确认2.取消\n",stu[i].name,stu[i].score2);break;break;} case3: {printf("\n请您确认您是要修改%s的大学物理成绩吗? \n目前ta的大学物理成绩为%d\n\n请输入\n1.确认2.取消\n",stu[i].name,stu[i].score3);break;break;} case4: {printf("\n请您确认您是要修改%s的C语言成绩吗? \n目前ta的C语言成绩为%d\n\n请输入\n1.确认2.取消\n",stu[i].name,stu[i].score4);break;break;} case5: {printf("\n请您确认您是要修改%s的机械制图成绩吗? \n目前ta的机械制图成绩为%d\n\n请输入\n1.确认2.取消\n",stu[i].name,stu[i].score5);break;break;} case6: {printf("\n请您确认您是要修改%s的政治成绩吗? \n目前ta的政治成绩为%d\n\n请输入\n1.确认2.取消\n",stu[i].name,stu[i].score6);break;break;} case7: {printf("\n请您确认您是要修改%s的体育成绩吗? \n目前ta的体育成绩为%d\n\n请输入\n1.确认2.取消\n",stu[i].name,stu[i].score7);break;break;} //英语、高等数学、大学物理、C语言、机械制图、政治、体育 } if(m! =1&&m! =2&&m! =3&&m! =4&&m! =5&&m! =6&&m! =7) { printf("请正确选择"); scanf("%c",&w); scanf("%c",&w); gotook; } } } scanf("%d",&p); if(p==1) { printf("请输入ta的新成绩: "); scanf("%d",&s); printf("ta的此课程的新成绩为%d",s); switch(m) { case1: {stu[k].score1=s;gotoshuchu;} case2: {stu[k].score2=s;gotoshuchu;} case3: {stu[k].score3=s;gotoshuchu;} case4: {stu[k].score4=s;gotoshuchu;} case5: {stu[k].score5=s;gotoshuchu;} case6: {stu[k].score6=s;gotoshuchu;} case7: {stu[k].score7=s;gotoshuchu;} case8: {stu[k].score8=s;gotoshuchu;} case9: {stu[k].score9=s;gotoshuchu;} } } elseif(p==2) { printf("以取消\n按回车键返回"); scanf("%c",&w); scanf("%c",&w); teacher(); } else { printf("请正确选择! "); } shuchu: input(); } voidinput() { inti; charw; FILE*fp1; FILE*fp2; FILE*fp3; fp1=fopen("chengji.txt","w"); fclose(fp1); fp2=fopen("name.txt","w"); fclose(fp2); fp1=fopen("chengji.txt","a"); fp2=fopen("name.txt","a");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 作业 成绩管理系统