您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言课程设计实习报告范本
C语言课程设计实习报告学生姓名:萱冰伊寒学号:22日期:2011年3月3日目录一、程序分析与设计.......................................................................................................................1二、流程图.......................................................................................................................................1三、源程序清单...............................................................................................................................4四、调试过程.................................................................................................................................10五、程序有待改进的地方.............................................................................................................10六、本次实习的收获和建议.........................................................................................................11附录................................................................................................................................................11C语言课程设计实习报告1一、程序分析与设计1、使用分模块处理的函数形式,主调函数包括九个分函数,分别是:voidread();//读文本voidwrite();//写文本voidaverage();//求每个学生平均分voidrank();//排名次voidcourseaver();//求各科平均分voidnopass();//求不及格学生名单voidexcellent();//求优等生名单voidfenshuduan();//求各分数段人数voidmenu();//菜单2、调用主函数,首先进入菜单,选择需要显示的内容。3、用记事本编辑文件1.dat存储一个班学习成绩。然后在C环境下,建立一个学生信息的结构体,用r方式打开上述文件,再用fscanf读入、用printf在屏幕上显示文件内容。4、利用循环使每个学生的三门功课的成绩相加,然后再把和除以三就得到了平均成绩。接着用冒泡法利用平均分的高低排出名次。最后用fprintf将每个学生的信息写入到2.dat文件。5、利用循环将各个科目的所有分数相加后除以人数求出各科的平均分。6、利用循环和if判断语句以10分为一个分数段(60分以下统一记为一个分数段),求出各个分数段的人数。7、利用循环和if判断语句将各个科目小于60分的学生信息输出。8、利用循环和if条件语句,添加一些限制条件:1)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2)名次在前三名3)每门功课及格以上;作为优等生的最低要求,将优等生的名单输出。9、结束程序。二、流程图(1)主程序资工(基)10901唐雪枭2(2)菜单(4)读文本(3)求各学生平均分(5)写文本C语言课程设计实习报告3(6)求名次(7)求各科平均分(8)求各科分数段资工(基)10901唐雪枭4(9)求不及格学生及优等生三、源程序清单#includestdio.h#includestdlib.h#defineN20structstudent{intnum;charname[20];intscore[3];doubleaver;intmc;}stu[N];intE[5],math[5],wu[5];floatmathaver;floatwuaver;floateaver;C语言课程设计实习报告5voidread();//读文本voidwrite();//写文本voidaverage();//求每名同学的平均分voidrank();//排名次voidcourseaver();//求各科平均分voidnopass();//求不及格学生名单voidexcellent();//求优等生名单voidfenshuduan();//求各分数段人数voidmenu();//菜单voidmain(){inti;menu();read();average();rank();courseaver();for(;1;){scanf(%d,&i);switch(i){case1:write();menu();break;case2:fenshuduan();menu();break;case3:nopass();menu();break;case4:excellent();menu();break;case0:exit(0);break;default:printf(无效\n);break;}}}voidmenu(){printf(-------------欢迎进入学生成绩管理程序----------\n);printf(\n\n\n);资工(基)10901唐雪枭6printf(***********************************************\n);printf(输入1输出学生成绩条\n);printf(输入2输出各科分数段及各科的平均成绩\n);printf(输入3输出不及格学生信息\n);printf(输入4输出优等生名单\n);printf(输入0退出\n);printf(***********************************************\n);}voidaverage(){inti;for(i=0;iN;i++){stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;}}voidread(){FILE*fp;inti;if(NULL==(fp=fopen(c://1.txt,r))){printf(cannotopenthefile);exit(0);}for(i=0;iN;i++){fscanf(fp,%d%s%d%d%d,&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);}fclose(fp);}voidwrite(){inti;printf(序号\t姓名\t英语\t数学\t物理\t平均分\t名次\n);C语言课程设计实习报告7for(i=0;iN;i++){printf(%d\t%s\t%d\t%d\t%d\t%5.2f\t%d\n,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].aver,stu[i].mc);}}voidrank(){inti,j;for(i=0;iN;i++){stu[i].mc=1;for(j=0;jN;j++){if(stu[i].averstu[j].aver)stu[i].mc++;if(stu[i+1].mc=stu[i].mc)stu[i+2].mc++;}}}voidcourseaver(){inti;eaver=0;mathaver=0;wuaver=0;for(i=0;iN;i++){eaver=(eaver+stu[i].score[0]);mathaver=(mathaver+stu[i].score[1]);wuaver=(wuaver+stu[i].score[2]);}eaver=eaver/N;mathaver=mathaver/N;wuaver=wuaver/N;}资工(基)10901唐雪枭8voidfenshuduan(){inti;for(i=0;iN;i++){if(stu[i].score[0]=90)E[4]++;elseif(stu[i].score[0]=80)E[3]++;elseif(stu[i].score[0]=70)E[2]++;elseif(stu[i].score[0]=60)E[1]++;elseE[0]++;}for(i=0;iN;i++){if(stu[i].score[1]=90)math[4]++;elseif(stu[i].score[1]=80)math[3]++;elseif(stu[i].score[1]=70)math[2]++;elseif(stu[i].score[1]=60)math[1]++;elsemath[0]++;}for(i=0;iN;i++){if(stu[i].score[2]=90)wu[4]++;elseif(stu[i].score[2]=80)wu[3]++;elseif(stu[i].score[2]=70)wu[2]++;elseif(stu[i].score[2]=60)wu[1]++;elsewu[0]++;}printf(\n分数段\t\t英语\t\t数学\t\t物理\n);printf(60\t\t%d\t\t%d\t\t%d\n,E[0],math[0],wu[0]);printf(60~69\t\t%d\t\t%d\t\t%d\n,E[1],math[1],wu[1]);printf(70~79\t\t%d\t\t%d\t\t%d\n,E[2],math[2],wu[2]);printf(80~89\t\t%d\t\t%d\t\t%d\n,E[3],math[3],wu[3]);printf(90~100\t\t%d\t\t%d\t\t%d\n,E[4],math[4],wu[4]);printf(平均成绩\t%5.2f\t\t%5.2f\t\t%5.2f\n,eaver,mathaver,wuaver);FILE*fp;C语言课程设计实习报告9if(NULL==(fp=fopen(c://2.txt,w))){printf(cannotopenthefile);exit(0);}fprintf(fp,序号\t姓名\t英语\t数学\t物理\t平均分\t名次\n);for(i=0;iN;i++){fprintf(fp,%d\t%s\t%d\t%d\t%d\t%5.2f\t%d\n,stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].aver,stu[i].mc);}fprintf(fp,\n);fprintf(fp,分数段\t\t英语\t\t数学\t\t物理\n);fprintf(fp,60\t\t%d\t\t%d\t\t%d\n,E[0],math[0],wu[0]);fprintf(fp,60~69\t\t%d\t\t%d\t\t%d\n,E[1],math[1],wu[1]);fprintf(fp,70~79\t\t%d\t\t%
本文标题:C语言课程设计实习报告范本
链接地址:https://www.777doc.com/doc-3180448 .html