欢迎来到天天文库
浏览记录
ID:9935491
大小:210.50 KB
页数:13页
时间:2018-05-16
《计算机软件基础课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、学生实验报告实验课程名称计算机软件基础开课实验室信息学院机房学院信息学院年级12专业班通信二班总成绩教师签名一实验内容1、设计题目:学生成绩信息包括:学号,姓名,三门课程成绩(数学、英语和计算机)等。主要功能:(1)计算各个学生的总分及平均分,并按平均分排出名次。(2)统计全班学生平均分成绩,输出60分以下、60~79、80~89、90分以上各分数人数(3)能按学号、姓名查询学生成绩,并能输出学生的成绩单(4)输出不及格科目及学生名单(5)选做:在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:1)平均成绩大于90分;或平均分大
2、于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2)名次在前三名;3)每门功课及格以上;二实验分析Main函数用for语句计算总分平均分。用for循环语句找出不及格人数根据指定要求输入查询信息用for循环语句计算个分数段人数用for循环语句进行排序输入学生的性信息输出结果1、程序设计组成框图:2、流程图:判断i是否等于0在主界面选择录入学生信息确定要输入的学生人数n用scanf()函数输入信息开始输入信息结束输入结束I!=0i>=n在主界面选择查找学生信息按“1”查找学生信息循环查找指定学生的姓名for(i=0;i3、++)输入查找的姓名、学号是否查找到要查找的记录输出查找到的记录结束没有找到查找找到三详细设计模块功能说明:(未定义函数,所有的程序直接在main函数中进行)1、输入学生的信息函数功能:定义了一个结构体,通过scanf输入函数直接输入学生的姓名、学号、英语成绩、数学成绩、计算机成绩。2、计算机排序功能:mian函数中的第二个模块直接输出学生的总分及平均分,并按平均分排出名次。3、输出功能:第三模块中,通过for循环功能,输出不及格科目及学生名单。4、查询功能:通查询信息,在第四模块中,输入学生的学号或姓名,找到输入的结构体的姓名或是学号对应的学生的所有的信息,并4、输出该学生信息。5、退出程序1、调试方法:逐条的对程序中的错误进行修改;修改程序中的变量、对各个模块的函数功能进行修改调试,直至零错误、零警告。2、调试数据:姓名学号英语成绩数学成绩计算机成绩Qipengcheng1785878Luoxiuqing2788790Sunhaiyang3396797Wanghongcheng4806949Weipeng5699987Piaonanji65779983、测试结果的分析与讨论:由测试数据分析输出的结果可以得出输出的成绩排名、不及格人数及信息、按姓名和学号查询学生的信息输出均为正确的。4、测试过程中遇到的问题:①显示结果时5、候出错问题描述:每一个功能在现实结果现实的信息部完整,部分信息部能现实或被覆盖。解决办法:现实出错也就是printf语句中的结构没有排列好所导致的。检查所有的Printf语句后发现所有的printf语句中少输出了以个语文成绩,且它们不能完全对齐。在增加了“语文”,修改了转义字符以及空格后,问题解决了。②在查询信息的时候出错问题描述:在输入不在文件中保存的姓名、学号时,没有信息提示。解决办法:出现此问题说明if语句后少了一条else语句,加上该语句后,显示的结果正确了。四主要代码#include#includestructst6、udent{intpaiming;intnumber;charname[30];doubleenglish,math,computer;doublesum;doubleaver;};intmain(){structstudentb[100];intt;inti,j=0;ints=0;intn;charname[30];doubleenglish,math,computer;doubleaver=0.0;inta[4];intp;intm;inty;charxingming[30];for(i=0;i<4;i++)a[i]=0;printf("**********7、若结束输入,请输入0************");for(i=0;;i++){printf("请输入学号:");scanf("%d",&n);if(n==0)break;else{b[++j].paiming=j;b[j].number=n;printf("请输入学生姓名:");scanf("%s",name);strcpy(b[j].name,name);printf("请输入学生英语成绩:");scanf("%lf",&english);b[j].english=english;printf("请输入学生数学成绩:");scanf("%l8、f",&math);b[
3、++)输入查找的姓名、学号是否查找到要查找的记录输出查找到的记录结束没有找到查找找到三详细设计模块功能说明:(未定义函数,所有的程序直接在main函数中进行)1、输入学生的信息函数功能:定义了一个结构体,通过scanf输入函数直接输入学生的姓名、学号、英语成绩、数学成绩、计算机成绩。2、计算机排序功能:mian函数中的第二个模块直接输出学生的总分及平均分,并按平均分排出名次。3、输出功能:第三模块中,通过for循环功能,输出不及格科目及学生名单。4、查询功能:通查询信息,在第四模块中,输入学生的学号或姓名,找到输入的结构体的姓名或是学号对应的学生的所有的信息,并
4、输出该学生信息。5、退出程序1、调试方法:逐条的对程序中的错误进行修改;修改程序中的变量、对各个模块的函数功能进行修改调试,直至零错误、零警告。2、调试数据:姓名学号英语成绩数学成绩计算机成绩Qipengcheng1785878Luoxiuqing2788790Sunhaiyang3396797Wanghongcheng4806949Weipeng5699987Piaonanji65779983、测试结果的分析与讨论:由测试数据分析输出的结果可以得出输出的成绩排名、不及格人数及信息、按姓名和学号查询学生的信息输出均为正确的。4、测试过程中遇到的问题:①显示结果时
5、候出错问题描述:每一个功能在现实结果现实的信息部完整,部分信息部能现实或被覆盖。解决办法:现实出错也就是printf语句中的结构没有排列好所导致的。检查所有的Printf语句后发现所有的printf语句中少输出了以个语文成绩,且它们不能完全对齐。在增加了“语文”,修改了转义字符以及空格后,问题解决了。②在查询信息的时候出错问题描述:在输入不在文件中保存的姓名、学号时,没有信息提示。解决办法:出现此问题说明if语句后少了一条else语句,加上该语句后,显示的结果正确了。四主要代码#include#includestructst
6、udent{intpaiming;intnumber;charname[30];doubleenglish,math,computer;doublesum;doubleaver;};intmain(){structstudentb[100];intt;inti,j=0;ints=0;intn;charname[30];doubleenglish,math,computer;doubleaver=0.0;inta[4];intp;intm;inty;charxingming[30];for(i=0;i<4;i++)a[i]=0;printf("**********
7、若结束输入,请输入0************");for(i=0;;i++){printf("请输入学号:");scanf("%d",&n);if(n==0)break;else{b[++j].paiming=j;b[j].number=n;printf("请输入学生姓名:");scanf("%s",name);strcpy(b[j].name,name);printf("请输入学生英语成绩:");scanf("%lf",&english);b[j].english=english;printf("请输入学生数学成绩:");scanf("%l
8、f",&math);b[
此文档下载收益归作者所有