C语言课程设计学生成绩管理系统.docx
《C语言课程设计学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
C语言课程设计学生成绩管理系统
苏州市职业大学继续教育学院
课程设计说明书
名称 C语言程序设计课程设计
2012年10月31日至2012年11月14日共2周
院 系计算机工程系
班级10Z计算机网络
学号46
姓名钱俊琦
系 主 任李金祥
指导教师陆公正
1前言
编写一个学生成绩管理系统。
先建立一个有三个学生的链表,每个结点包含:
学号、姓名、三门考试成绩(英语、数学、计算机)。
要求利用菜单的形式进行管理。
2需求分析
2.1要求
(1)用C语言实现程序设计;
(2)利用结构体进行相关信息处理;
(3)画出查询模块的流程图;
(4)系统的各个功能模块要求用函数的形式实现;
(5)界面友好(良好的人机互交),程序要有注释。
2.2任务
(1)先建立一个有三个学生的链表,每个结点包含:
学号、姓名、3门考试成绩;
(2)输入姓名查询该同学的信息,并显示在屏幕上;
(3)画出所有模块的流程图;
(4)编写代码;
(5)程序分析与调试。
2.3运行环境
(1)WINDOWS2000/XP系统
(2)TurboC2.0编译环境
2.4开发工具
C语言
3概要设计与详细设计
3.1系统流程图
如图3.1所示。
3.2查询函数流程图
4编码与实现
4.1分析
在程序的开头部分定义结构体类型和全局的结构体数组,用来存放和提取学生的信息。
structstudent//学生数据
{intnum;
structscoref[9];
charname[20];
floatave;
floatsum;
};
用输入函数scanf来输入学生的信息放在程序中,在这个函数
用void语句就能实现。
voidluru(structstudenta[]);//录入函数
voidpaixu(structstudenta[]);//排序函数
voidcharu(structstudenta[]);//插入函数
voiddel(structstudenta[]);//删除函数
voiddisplay(structstudenta[]);//显示函数
voidcprint(structstudenta[],intm);//查询输出函数
voidchaxun1(structstudenta[]);//学号查询函数
voidchaxun2(structstudenta[]);//姓名查询函数
voidcharu(structstudenta[])paixu(structstudenta[])调用paixu(structstudenta[])
structstudenta[];//存档函数
在main函数中用int函数定义,然后再运用printf()函数就可以提取学生的成绩了。
而后可以根据不同的函数来删除、修改学生的成绩信息。
最终程序结束,完成学生成绩信息的录入、修改、删除以及查询。
4.2具体代码实现
#include
structscore//各科成绩
{
floats;
intnum;
inti=0;//统计个数
structstudentstu[99];
voidsave(structstudenta[]);//存档函数
voidmain()//主函数开始
intnumber;
intx,y;
for(y=0;y<99;y++)//将所有成绩清空
for(x=0;x<6;x++)
stu[y].f[x].s=NULL;
}
printf("********************************************************************************\n");
printf("\t\t\t欢迎使用\n");
printf("\n\t\t\t学生成绩管理系统\n\n");
printf("*************************************菜单***************************************\n");
printf("请选择功能:
\n\n0.退出\n1.录入新学生成绩数据\n2.显示学生成绩数据\n3.按总成绩排序\n4.插入学生成绩数据\n5.删除学生成绩数据\n6.按学生学号查询\n7.按学生姓名查询\n8.储存为TXT文件\n\n");
printf("\n********************************************************************************\n");
do
scanf("%d",&number);
printf("\n-------------------------------------------\n");
switch(number)
case0:
break;//退出
case1:
luru(stu);break;//录入新学生成绩数据
case2:
display(stu);break;//显示学生成绩数据
case3:
paixu(stu);break;//按总成绩排序
case4:
charu(stu);break;//插入学生成绩数据
case5:
del(stu);break;//删除学生成绩数据\n
case6:
chaxun1(stu);break;//按学生学号查询
case7:
chaxun2(stu);break;//按学生姓名查询
case8:
save(stu);break;//储存为TXT文件
}while(number!
=0);
printf("谢谢使用!
");
printf("\n");
voidluru(structstudenta[])//录入函数
intm;
intk;
charb;
floatsum=0;
printf("请输入科目数(最多6科):
scanf("%d",&m);
printf("请输入学生信息\n");
printf("学号:
scanf("%d",&a[i].num);
printf("姓名:
scanf("%s",a[i].name);
for(k=0;k{printf("请输入第%d科目成绩:",k+1);floattemp;scanf("%f",&temp);a[i].f[k].s=temp;}//计算总分a[i].sum=0;for(k=0;k{a[i].sum=a[i].sum+a[i].f[k].s;}//计算平均分a[i].ave=0;a[i].ave=a[i].sum/m;i++;printf("是否继续录入学生数据?\n(Y/N)");fflush(stdin);//刷新标准输入缓冲区scanf("%c",&b);}while(b=='Y'||b=='y');display(a);}voiddisplay(structstudenta[])//显示函数{intk,m;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");for(k=0;k{printf("%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){printf("%.2f\t",a[k].f[m].s);}printf("%.2f\t%.2f\n",a[k].sum,a[k].ave);}printf("\n------------------------------------------------------------------------------\n\n");printf("请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidpaixu(structstudenta[])//排序函数{intj,k;structstudenttemp;for(k=0;k{for(j=0;j{if(a[j].ave{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}printf("按总分排序后的学生数据如下\n");display(a);}voidcharu(structstudenta[])//插入函数{intj,k,m,x;structstudenttemp;for(x=0;x<6;x++){temp.f[x].s=0;}//将temp中的所有成绩清除printf("请输入成绩数目:");scanf("%d",&m);printf("请输入学生信息\n");printf("学号:");scanf("%d",&temp.num);printf("姓名:");scanf("%s",temp.name);for(k=0;k{printf("请输入第%d科目成绩:",k+1);floattt;scanf("%f",&tt);temp.f[k].s=tt;}//计算总分temp.sum=0;for(k=0;k{temp.sum=temp.sum+temp.f[k].s;}//计算平均分temp.ave=temp.sum/m;for(j=0;jfor(k=i;k>j;k--){a[k]=a[k-1];}i++;a[j]=temp;display(a);}voiddel(structstudenta[])//删除函数{intk,j;printf("请输入要删除的学生学号:");scanf("%d",&k);for(j=0;j{if(k==a[j].num)//记录要删除的学生的位置{break;}}if(j{for(k=j;k{a[j]=a[j+1];}i--;printf("删除后的学生数据\n");display(a);}else{printf("\n\t\t没有您要删除的学生数据\n\n"-);printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}voidcprint(structstudenta[],intm)//查询输出函数{into;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");printf("%d\t%s\t",a[m].num,a[m].name);for(o=0;o<6;o++){printf("%.2f\t",a[m].f[o].s);}printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);printf("\n------------------------------------------------------------------------------\n\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidchaxun1(structstudenta[])//学号查询函数{intm,t;printf("请输入要查询的学号:");scanf("%d",&t);for(m=0;m<=i;m++){if(a[m].num==t){cprint(a,m);break;}if(m==i&&a[m].num!=t){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidchaxun2(structstudenta[])//姓名查询函数{intm;chart[20];printf("请输入要查询的姓名:");scanf("%s",t);for(m=0;m<=i;m++){if(strcmp(a[m].name,t)==0){cprint(a,m);break;}if(m==i&&(strcmp(a[m].name,t)!=0)){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidsave(structstudenta[])//存档函数{intk,m;FILE*fpFile;fpFile=fopen("student.txt","w");fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");for(k=0;k{fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){fprintf(fpFile,"%.2f\t",a[k].f[m].s);}fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);}fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");fclose(fpFile);printf("已存到根目录student.txt文件");printf("\n-------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}结果如图所示5课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
printf("请输入第%d科目成绩:
",k+1);
floattemp;
scanf("%f",&temp);
a[i].f[k].s=temp;
//计算总分
a[i].sum=0;
for(k=0;k{a[i].sum=a[i].sum+a[i].f[k].s;}//计算平均分a[i].ave=0;a[i].ave=a[i].sum/m;i++;printf("是否继续录入学生数据?\n(Y/N)");fflush(stdin);//刷新标准输入缓冲区scanf("%c",&b);}while(b=='Y'||b=='y');display(a);}voiddisplay(structstudenta[])//显示函数{intk,m;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");for(k=0;k{printf("%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){printf("%.2f\t",a[k].f[m].s);}printf("%.2f\t%.2f\n",a[k].sum,a[k].ave);}printf("\n------------------------------------------------------------------------------\n\n");printf("请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidpaixu(structstudenta[])//排序函数{intj,k;structstudenttemp;for(k=0;k{for(j=0;j{if(a[j].ave{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}printf("按总分排序后的学生数据如下\n");display(a);}voidcharu(structstudenta[])//插入函数{intj,k,m,x;structstudenttemp;for(x=0;x<6;x++){temp.f[x].s=0;}//将temp中的所有成绩清除printf("请输入成绩数目:");scanf("%d",&m);printf("请输入学生信息\n");printf("学号:");scanf("%d",&temp.num);printf("姓名:");scanf("%s",temp.name);for(k=0;k{printf("请输入第%d科目成绩:",k+1);floattt;scanf("%f",&tt);temp.f[k].s=tt;}//计算总分temp.sum=0;for(k=0;k{temp.sum=temp.sum+temp.f[k].s;}//计算平均分temp.ave=temp.sum/m;for(j=0;jfor(k=i;k>j;k--){a[k]=a[k-1];}i++;a[j]=temp;display(a);}voiddel(structstudenta[])//删除函数{intk,j;printf("请输入要删除的学生学号:");scanf("%d",&k);for(j=0;j{if(k==a[j].num)//记录要删除的学生的位置{break;}}if(j{for(k=j;k{a[j]=a[j+1];}i--;printf("删除后的学生数据\n");display(a);}else{printf("\n\t\t没有您要删除的学生数据\n\n"-);printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}voidcprint(structstudenta[],intm)//查询输出函数{into;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");printf("%d\t%s\t",a[m].num,a[m].name);for(o=0;o<6;o++){printf("%.2f\t",a[m].f[o].s);}printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);printf("\n------------------------------------------------------------------------------\n\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidchaxun1(structstudenta[])//学号查询函数{intm,t;printf("请输入要查询的学号:");scanf("%d",&t);for(m=0;m<=i;m++){if(a[m].num==t){cprint(a,m);break;}if(m==i&&a[m].num!=t){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidchaxun2(structstudenta[])//姓名查询函数{intm;chart[20];printf("请输入要查询的姓名:");scanf("%s",t);for(m=0;m<=i;m++){if(strcmp(a[m].name,t)==0){cprint(a,m);break;}if(m==i&&(strcmp(a[m].name,t)!=0)){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidsave(structstudenta[])//存档函数{intk,m;FILE*fpFile;fpFile=fopen("student.txt","w");fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");for(k=0;k{fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){fprintf(fpFile,"%.2f\t",a[k].f[m].s);}fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);}fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");fclose(fpFile);printf("已存到根目录student.txt文件");printf("\n-------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}结果如图所示5课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
a[i].sum=a[i].sum+a[i].f[k].s;
//计算平均分
a[i].ave=0;
a[i].ave=a[i].sum/m;
i++;
printf("是否继续录入学生数据?
\n(Y/N)");
fflush(stdin);//刷新标准输入缓冲区
scanf("%c",&b);
}while(b=='Y'||b=='y');
display(a);
voiddisplay(structstudenta[])//显示函数
intk,m;
system("cls");//清屏
printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");
printf("\n------------------------------------------------------------------------------\n\n");
for(k=0;k
printf("%d\t%s\t",a[k].num,a[k].name);
for(m=0;m<6;m++)
printf("%.2f\t",a[k].f[m].s);
printf("%.2f\t%.2f\n",a[k].sum,a[k].ave);
\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");
voidpaixu(structstudenta[])//排序函数
intj,k;
structstudenttemp;
for(j=0;j{if(a[j].ave{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}printf("按总分排序后的学生数据如下\n");display(a);}voidcharu(structstudenta[])//插入函数{intj,k,m,x;structstudenttemp;for(x=0;x<6;x++){temp.f[x].s=0;}//将temp中的所有成绩清除printf("请输入成绩数目:");scanf("%d",&m);printf("请输入学生信息\n");printf("学号:");scanf("%d",&temp.num);printf("姓名:");scanf("%s",temp.name);for(k=0;k{printf("请输入第%d科目成绩:",k+1);floattt;scanf("%f",&tt);temp.f[k].s=tt;}//计算总分temp.sum=0;for(k=0;k{temp.sum=temp.sum+temp.f[k].s;}//计算平均分temp.ave=temp.sum/m;for(j=0;jfor(k=i;k>j;k--){a[k]=a[k-1];}i++;a[j]=temp;display(a);}voiddel(structstudenta[])//删除函数{intk,j;printf("请输入要删除的学生学号:");scanf("%d",&k);for(j=0;j{if(k==a[j].num)//记录要删除的学生的位置{break;}}if(j{for(k=j;k{a[j]=a[j+1];}i--;printf("删除后的学生数据\n");display(a);}else{printf("\n\t\t没有您要删除的学生数据\n\n"-);printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}voidcprint(structstudenta[],intm)//查询输出函数{into;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");printf("%d\t%s\t",a[m].num,a[m].name);for(o=0;o<6;o++){printf("%.2f\t",a[m].f[o].s);}printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);printf("\n------------------------------------------------------------------------------\n\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidchaxun1(structstudenta[])//学号查询函数{intm,t;printf("请输入要查询的学号:");scanf("%d",&t);for(m=0;m<=i;m++){if(a[m].num==t){cprint(a,m);break;}if(m==i&&a[m].num!=t){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidchaxun2(structstudenta[])//姓名查询函数{intm;chart[20];printf("请输入要查询的姓名:");scanf("%s",t);for(m=0;m<=i;m++){if(strcmp(a[m].name,t)==0){cprint(a,m);break;}if(m==i&&(strcmp(a[m].name,t)!=0)){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidsave(structstudenta[])//存档函数{intk,m;FILE*fpFile;fpFile=fopen("student.txt","w");fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");for(k=0;k{fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){fprintf(fpFile,"%.2f\t",a[k].f[m].s);}fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);}fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");fclose(fpFile);printf("已存到根目录student.txt文件");printf("\n-------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}结果如图所示5课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
if(a[j].ave{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}}printf("按总分排序后的学生数据如下\n");display(a);}voidcharu(structstudenta[])//插入函数{intj,k,m,x;structstudenttemp;for(x=0;x<6;x++){temp.f[x].s=0;}//将temp中的所有成绩清除printf("请输入成绩数目:");scanf("%d",&m);printf("请输入学生信息\n");printf("学号:");scanf("%d",&temp.num);printf("姓名:");scanf("%s",temp.name);for(k=0;k{printf("请输入第%d科目成绩:",k+1);floattt;scanf("%f",&tt);temp.f[k].s=tt;}//计算总分temp.sum=0;for(k=0;k{temp.sum=temp.sum+temp.f[k].s;}//计算平均分temp.ave=temp.sum/m;for(j=0;jfor(k=i;k>j;k--){a[k]=a[k-1];}i++;a[j]=temp;display(a);}voiddel(structstudenta[])//删除函数{intk,j;printf("请输入要删除的学生学号:");scanf("%d",&k);for(j=0;j{if(k==a[j].num)//记录要删除的学生的位置{break;}}if(j{for(k=j;k{a[j]=a[j+1];}i--;printf("删除后的学生数据\n");display(a);}else{printf("\n\t\t没有您要删除的学生数据\n\n"-);printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}voidcprint(structstudenta[],intm)//查询输出函数{into;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");printf("%d\t%s\t",a[m].num,a[m].name);for(o=0;o<6;o++){printf("%.2f\t",a[m].f[o].s);}printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);printf("\n------------------------------------------------------------------------------\n\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidchaxun1(structstudenta[])//学号查询函数{intm,t;printf("请输入要查询的学号:");scanf("%d",&t);for(m=0;m<=i;m++){if(a[m].num==t){cprint(a,m);break;}if(m==i&&a[m].num!=t){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidchaxun2(structstudenta[])//姓名查询函数{intm;chart[20];printf("请输入要查询的姓名:");scanf("%s",t);for(m=0;m<=i;m++){if(strcmp(a[m].name,t)==0){cprint(a,m);break;}if(m==i&&(strcmp(a[m].name,t)!=0)){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidsave(structstudenta[])//存档函数{intk,m;FILE*fpFile;fpFile=fopen("student.txt","w");fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");for(k=0;k{fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){fprintf(fpFile,"%.2f\t",a[k].f[m].s);}fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);}fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");fclose(fpFile);printf("已存到根目录student.txt文件");printf("\n-------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}结果如图所示5课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
printf("按总分排序后的学生数据如下\n");
voidcharu(structstudenta[])//插入函数
intj,k,m,x;
temp.f[x].s=0;
//将temp中的所有成绩清除
printf("请输入成绩数目:
scanf("%d",&temp.num);
scanf("%s",temp.name);
for(k=0;k{printf("请输入第%d科目成绩:",k+1);floattt;scanf("%f",&tt);temp.f[k].s=tt;}//计算总分temp.sum=0;for(k=0;k{temp.sum=temp.sum+temp.f[k].s;}//计算平均分temp.ave=temp.sum/m;for(j=0;jfor(k=i;k>j;k--){a[k]=a[k-1];}i++;a[j]=temp;display(a);}voiddel(structstudenta[])//删除函数{intk,j;printf("请输入要删除的学生学号:");scanf("%d",&k);for(j=0;j{if(k==a[j].num)//记录要删除的学生的位置{break;}}if(j{for(k=j;k{a[j]=a[j+1];}i--;printf("删除后的学生数据\n");display(a);}else{printf("\n\t\t没有您要删除的学生数据\n\n"-);printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}voidcprint(structstudenta[],intm)//查询输出函数{into;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");printf("%d\t%s\t",a[m].num,a[m].name);for(o=0;o<6;o++){printf("%.2f\t",a[m].f[o].s);}printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);printf("\n------------------------------------------------------------------------------\n\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidchaxun1(structstudenta[])//学号查询函数{intm,t;printf("请输入要查询的学号:");scanf("%d",&t);for(m=0;m<=i;m++){if(a[m].num==t){cprint(a,m);break;}if(m==i&&a[m].num!=t){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidchaxun2(structstudenta[])//姓名查询函数{intm;chart[20];printf("请输入要查询的姓名:");scanf("%s",t);for(m=0;m<=i;m++){if(strcmp(a[m].name,t)==0){cprint(a,m);break;}if(m==i&&(strcmp(a[m].name,t)!=0)){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidsave(structstudenta[])//存档函数{intk,m;FILE*fpFile;fpFile=fopen("student.txt","w");fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");for(k=0;k{fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){fprintf(fpFile,"%.2f\t",a[k].f[m].s);}fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);}fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");fclose(fpFile);printf("已存到根目录student.txt文件");printf("\n-------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}结果如图所示5课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
floattt;
scanf("%f",&tt);
temp.f[k].s=tt;
temp.sum=0;
for(k=0;k{temp.sum=temp.sum+temp.f[k].s;}//计算平均分temp.ave=temp.sum/m;for(j=0;jfor(k=i;k>j;k--){a[k]=a[k-1];}i++;a[j]=temp;display(a);}voiddel(structstudenta[])//删除函数{intk,j;printf("请输入要删除的学生学号:");scanf("%d",&k);for(j=0;j{if(k==a[j].num)//记录要删除的学生的位置{break;}}if(j{for(k=j;k{a[j]=a[j+1];}i--;printf("删除后的学生数据\n");display(a);}else{printf("\n\t\t没有您要删除的学生数据\n\n"-);printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}voidcprint(structstudenta[],intm)//查询输出函数{into;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");printf("%d\t%s\t",a[m].num,a[m].name);for(o=0;o<6;o++){printf("%.2f\t",a[m].f[o].s);}printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);printf("\n------------------------------------------------------------------------------\n\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidchaxun1(structstudenta[])//学号查询函数{intm,t;printf("请输入要查询的学号:");scanf("%d",&t);for(m=0;m<=i;m++){if(a[m].num==t){cprint(a,m);break;}if(m==i&&a[m].num!=t){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidchaxun2(structstudenta[])//姓名查询函数{intm;chart[20];printf("请输入要查询的姓名:");scanf("%s",t);for(m=0;m<=i;m++){if(strcmp(a[m].name,t)==0){cprint(a,m);break;}if(m==i&&(strcmp(a[m].name,t)!=0)){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidsave(structstudenta[])//存档函数{intk,m;FILE*fpFile;fpFile=fopen("student.txt","w");fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");for(k=0;k{fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){fprintf(fpFile,"%.2f\t",a[k].f[m].s);}fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);}fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");fclose(fpFile);printf("已存到根目录student.txt文件");printf("\n-------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}结果如图所示5课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
temp.sum=temp.sum+temp.f[k].s;
temp.ave=temp.sum/m;
for(j=0;j
for(k=i;k>j;k--)
a[k]=a[k-1];
a[j]=temp;
voiddel(structstudenta[])//删除函数
intk,j;
printf("请输入要删除的学生学号:
scanf("%d",&k);
if(k==a[j].num)//记录要删除的学生的位置
break;
if(j
for(k=j;k{a[j]=a[j+1];}i--;printf("删除后的学生数据\n");display(a);}else{printf("\n\t\t没有您要删除的学生数据\n\n"-);printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}voidcprint(structstudenta[],intm)//查询输出函数{into;system("cls");//清屏printf("学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");printf("\n------------------------------------------------------------------------------\n\n");printf("%d\t%s\t",a[m].num,a[m].name);for(o=0;o<6;o++){printf("%.2f\t",a[m].f[o].s);}printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);printf("\n------------------------------------------------------------------------------\n\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}voidchaxun1(structstudenta[])//学号查询函数{intm,t;printf("请输入要查询的学号:");scanf("%d",&t);for(m=0;m<=i;m++){if(a[m].num==t){cprint(a,m);break;}if(m==i&&a[m].num!=t){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidchaxun2(structstudenta[])//姓名查询函数{intm;chart[20];printf("请输入要查询的姓名:");scanf("%s",t);for(m=0;m<=i;m++){if(strcmp(a[m].name,t)==0){cprint(a,m);break;}if(m==i&&(strcmp(a[m].name,t)!=0)){system("cls");//清屏printf("\n\t\t没有查到您要找的学生资料\n");printf("\n--------------------------------------------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}}}voidsave(structstudenta[])//存档函数{intk,m;FILE*fpFile;fpFile=fopen("student.txt","w");fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");for(k=0;k{fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);for(m=0;m<6;m++){fprintf(fpFile,"%.2f\t",a[k].f[m].s);}fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);}fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");fclose(fpFile);printf("已存到根目录student.txt文件");printf("\n-------------------------------------------\n");printf("\n请选择功能:\n0.退出\t1.录入\t2.显示\t3.排序\t4.插入\t5.删除\t6.学号查询7.姓名查询\t8.存档\n\n");}结果如图所示5课程设计总结通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
i--;
printf("删除后的学生数据\n");
else
printf("\n\t\t没有您要删除的学生数据\n\n"-);
printf("\n请选择功能:
voidcprint(structstudenta[],intm)//查询输出函数
into;
printf("%d\t%s\t",a[m].num,a[m].name);
for(o=0;o<6;o++)
printf("%.2f\t",a[m].f[o].s);
printf("%.2f\t%.2f\n",a[m].sum,a[m].ave);
voidchaxun1(structstudenta[])//学号查询函数
intm,t;
printf("请输入要查询的学号:
scanf("%d",&t);
for(m=0;m<=i;m++)
if(a[m].num==t)
cprint(a,m);
if(m==i&&a[m].num!
=t)
printf("\n\t\t没有查到您要找的学生资料\n");
printf("\n--------------------------------------------------------------------------------\n");
voidchaxun2(structstudenta[])//姓名查询函数
chart[20];
printf("请输入要查询的姓名:
scanf("%s",t);
if(strcmp(a[m].name,t)==0)
if(m==i&&(strcmp(a[m].name,t)!
=0))
voidsave(structstudenta[])//存档函数
FILE*fpFile;
fpFile=fopen("student.txt","w");
fprintf(fpFile,"学号\t姓名\t第1科\t第2科\t第3科\t第4科\t第5科\t第6科\t总分\t平均分\n");
fprintf(fpFile,"\n---------------------------------------------------------------------------------\n\n");
fprintf(fpFile,"%d\t%s\t",a[k].num,a[k].name);
fprintf(fpFile,"%.2f\t",a[k].f[m].s);
fprintf(fpFile,"%.2f\t%.2f\n",a[k].sum,a[k].ave);
fclose(fpFile);
printf("已存到根目录student.txt文件");
结果如图所示
5课程设计总结
通过这次课程设计我对C语言的神奇功能更加佩服,我默默在心里发誓一定要把C语言学好,而且将来我还要想学习C++语言,熟练的掌握编程的方法。
本次课程设计,我设计的是一个学生成绩管理系统,本程序若完全靠现有的知识,是很难编写出来的,幸亏有我的指导老师的耐心指导,我才能顺利完成。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1