中国地质大学C语言课程设计题目附参考代码.docx
- 文档编号:15984183
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:15
- 大小:54KB
中国地质大学C语言课程设计题目附参考代码.docx
《中国地质大学C语言课程设计题目附参考代码.docx》由会员分享,可在线阅读,更多相关《中国地质大学C语言课程设计题目附参考代码.docx(15页珍藏版)》请在冰点文库上搜索。
中国地质大学C语言课程设计题目附参考代码
C语言课程设计题目
选题一(起评分100分)
高考招生录取程序
已知文本文件f1.txt中存放了某个省当年参加高考的1000个考生的数据(考号、姓名、性别和考试成绩),存放格式是每行存放一个考生的数据,每个数据之间用空格隔开。
假定当年该省的招生计划是:
一类本科招生计划为10%;二类本科招生计划为15%;三类本科招生计划为20%;四类高职高专招生计划为25%。
请编写程序,实现以下功能:
(1)划定各批次录取分数线,结果可屏幕显示,也可存入文件。
(2)能够统计各批次中男生,女生的录取比例。
统计结果可屏幕显示,也可存入文件。
(3)确定每名学生的录取情况及录取批次。
(4)考生可以根据考号或姓名(支持重名)查询自己的成绩及录取情况;
说明:
①系统程序要有界面
②存入文件的数据,每行存一种数据,每行之间的不同信息用空格分隔。
选题二(起评分85分)
《C语言课程设计与学习指导》第4章题目或第5章题目任选其一
成绩评定方式
平时考勤:
20%
考试(即程序考核及检查):
40%
实习报告:
40%
违规违纪处理
出现以下6种情况中的任何一种,整个课程设计的成绩直接认定为不及格:
1.考勤抽查出现3次(含)不在的情况;
2.上机从事玩游戏、看电影等活动被抓住2次(含)的情况;
3.程序检查被认定为抄袭的情况;
4.实习报告被认定抄袭或雷同的情况;
5.不参加考试(即程序考核及检查)的情况
6.不交实习报告的情况。
C语言课程设计报告撰写要求
1内容要求
整个报告由六个部分构成:
课设题目
题目分析
设计思路
实现结果
课设总结
附录(源代码)
2篇幅要求
-
合计不低于8页,
不低于8页。
篇幅没有上限要求,但原则上要求不超过25页。
标题字体字号格式:
宋体,三号,加黑,单倍行距。
正文字体字号格式:
宋体或TimesNewRoman,五号,单倍行距。
3撰写要求
严谨出现抄袭。
严谨出现雷同。
报告出现抄袭或雷同的,整个课程设计成绩一律按不及格论处。
4其它
封面格式附后。
中国地质大学(武汉)
C语言课程设计报告书
姓名:
班级:
班级学号:
指导老师:
程序代码
#include
#include
#defineN1000
structstudent
{
intnumber;
charname[10];
charsex[5];
intscore;
};
structstudentstu[N];
/***************排序模块***************/
voidsort()
{
structstudenttemp;
inti,j;
for(i=0;i { for(j=0;j if(stu[j].score { temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } } /***************主函数*****************/ voidmain() { inti,s,m1=0,w1=0,m2=0,w2=0,m3=0,w3=0,m4=0,w4=0,c,b,f,g; charu[10]; FILE*fp,*fp1,*fp2,*fp3,*fp4,*fp5,*fp6,*fp7,*fp8,*fp9; fp=fopen("f1.txt","r"); for(i=0;i fscanf(fp,"%d%s%s%d\n",&stu[i].number,stu[i].name,stu[i].sex,&stu[i].score); fclose(fp); sort(); fp1=fopen("f2.txt","w"); for(i=0;i fprintf(fp1,"%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp1); fp5=fopen("一本.txt","w"); fprintf(fp5,"高考招生一本录取情况\n\n"); for(i=0;i fprintf(fp5,"%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp5); fp6=fopen("二本.txt","w"); fprintf(fp6,"高考招生二本录取情况\n\n"); for(i=N/10;i fprintf(fp6,"%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp6); fp7=fopen("三本.txt","w"); fprintf(fp7,"高考招生三本录取情况\n\n"); for(i=N*25/100;i fprintf(fp7,"%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp7); fp8=fopen("高职.txt","w"); fprintf(fp8,"高考招生高职录取情况\n\n"); for(i=N*45/100+1;i fprintf(fp8,"%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp8); fp9=fopen("未被录取.txt","w"); fprintf(fp9,"高考招生未被录取录取情况\n\n"); for(i=N*70/100+3;i fprintf(fp9,"%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp9); /*********大循环查询模块***********/ while (1) { loop: printf("***********************************\n"); printf("**\n"); printf("*主菜单*\n"); printf("**\n"); printf("*查询整体录取情况请输入1*\n"); printf("**\n"); printf("*查询考生个人信息请输入2*\n"); printf("**\n"); printf("*显示具体名单请输入4*\n"); printf("**\n"); printf("*退出请输入9*\n"); printf("**\n"); printf("***********************************\n"); scanf("%d",&s); fp2=fopen("f2.txt","r"); switch(s) { case1: { for(i=0;i { if(strcmp(stu[i].sex,"男")==0)m1=m1+1; elsew1=w1+1; } for(i=N/10;i { if(strcmp(stu[i].sex,"男")==0)m2=m2+1; elsew2=w2+1; } for(i=N*25/100;i { if(strcmp(stu[i].sex,"男")==0)m3=m3+1; elsew3=w3+1; } for(i=N*45/100+1;i { if(strcmp(stu[i].sex,"男")==0)m4=m4+1; elsew4=w4+1; } while (1) { printf("**********************************\n"); printf("**\n"); printf("*菜单1*\n"); printf("**\n"); printf("*查询录取线请输入1*\n"); printf("**\n"); printf("*查询男女比例请输入2*\n"); printf("**\n"); printf("*返回输入3*\n"); printf("**\n"); printf("**********************************\n"); scanf("%d",&f); switch(f) { case1: printf("\n一本线%d\n二本线%d\n三本线%d\n高职录取线%d\n",stu[N/10-1].score,stu[N*25/100-1].score,stu[N*45/100+1].score,stu[N*70/100+3].score);break; case2: printf("\n男%f,女%f\n男%f,女%f\n男%f,女%f\n男%f,女%f\n",(float)m1/100,(float)w1/100,(float)m2/150,(float)w2/150,(float)m3/202,(float)w3/202,(float)m4/252,(float)w4/252); }break; case3: gotoloop; } } case2: { while (1) { printf("***********************************\n"); printf("**\n"); printf("*菜单2*\n"); printf("**\n"); printf("*按考号查询请输入1*\n"); printf("**\n"); printf("*按姓名查询请输入2*\n"); printf("**\n"); printf("*返回输入3*\n"); printf("**\n"); printf("***********************************\n"); scanf("%d",&c); switch(c) { case1: { fp3=fopen("f2.txt","r"); for(i=0;i fscanf(fp3,"%d%s%s%d\n",&stu[i].number,stu[i].name,stu[i].sex,&stu[i].score);//读取 fclose(fp3); printf("\n请输入考生考号: "); scanf("%d",&b); for(i=0;i { if(b==stu[i].number) { if(stu[i].score>=625)printf("\n%d%s%s%d一本\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseif(stu[i].score>=518)printf("\n%d%s%s%d二本\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseif(stu[i].score>=372)printf("\n%d%s%s%d三本\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseif(stu[i].score>=208)printf("\n%d%s%s%d高职\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseprintf("\n抱歉! 你未被录取! \n"); } } };break; case2: { fp4=fopen("f2.txt","r"); for(i=0;i fscanf(fp4,"%d%s%s%d\n",&stu[i].number,stu[i].name,stu[i].sex,&stu[i].score); fclose(fp4); printf("\n请输入考生姓名: "); scanf("%s",&u); for(i=0;i { if(strcmp(u,stu[i].name)==0) { if(stu[i].score>=625)printf("\n%d%s%s%d一本\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseif(stu[i].score>=518)printf("\n%d%s%s%d二本\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseif(stu[i].score>=372)printf("\n%d%s%s%d三本\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseif(stu[i].score>=208)printf("\n%d%s%s%d高职\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); elseprintf("\n抱歉! 你未被录取! \n"); } } };break; case3: gotoloop; default: printf("\n输入错误! 请重新输入! \n"); } } };break; case9: gotoend; case4: { while (1) { printf("************************************\n"); printf("**\n"); printf("*菜单4*\n"); printf("**\n"); printf("*查询一本请输入1*\n"); printf("**\n"); printf("*查询二本请输入2*\n"); printf("**\n"); printf("*查询三本请输入3*\n"); printf("**\n"); printf("*查询高职请输入4*\n"); printf("**\n"); printf("*查询未录取请输入5*\n"); printf("**\n"); printf("*返回输入9*\n"); printf("**\n"); printf("************************************\n"); scanf("%d",&g); switch(g) { case1: {fp5=fopen("一本.txt","w"); printf("*********高考招生一本录取情况*********\n"); for(i=0;i printf("%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp5);break;} case2: {fp6=fopen("二本.txt","w"); printf("*********高考招生二本录取情况*********\n"); for(i=N/10;i printf("%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp6);break;} case3: {fp7=fopen("三本.txt","w"); printf("*********高考招生三本录取情况*********\n"); for(i=N*25/100;i printf("%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp7);break;} case4: {fp8=fopen("高职.txt","w"); printf("*********高考招生高职录取情况*********\n"); for(i=N*45/100+1;i printf("%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp8);break;} case5: {fp9=fopen("未录取.txt","w"); printf("*********高考招生未录取情况*********\n"); for(i=N*70/100+3;i printf("%d%s%s%d\n",stu[i].number,stu[i].name,stu[i].sex,stu[i].score); fclose(fp9);break;} case9: gotoloop; default: printf("\n输入错误! 请重新输入! \n"); } } } default: printf("\n输入错误! 请重新输入! \n"); } } end: printf("\n\n谢谢使用\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国地质大学 语言 课程设计 题目 参考 代码