C语言程序设计基础课程设计报告.doc
- 文档编号:230207
- 上传时间:2022-10-07
- 格式:DOC
- 页数:9
- 大小:122.50KB
C语言程序设计基础课程设计报告.doc
《C语言程序设计基础课程设计报告.doc》由会员分享,可在线阅读,更多相关《C语言程序设计基础课程设计报告.doc(9页珍藏版)》请在冰豆网上搜索。
程序设计基础课程设计报告
课程名称:
程序设计基础课程设计
课程设计题目:
学生信息管理系统
姓名:
系:
计算机科学技术系
专业:
计算机网络技术
年级:
学号:
指导教师:
职称:
讲师
2012年1月1日
一、设计题目及要求。
1、题目:
学生信息管理系统
2、要求:
1)建立学生信息的结构体
2)学生信息的初始化(可以从文件获取)
3)学生信息的添加、修改、查找
4)学生信息的输出
5)对学生信息按学号排序
6)计算一门课的平均分和总分
7)将学生信息保存为文件
二、设计算法设计分析。
1、主要功能模块:
添加模块、查找模块、修改模块、排序模块
添加模块:
(1)从键盘中输入添加学生的人数n.
(2)从键盘中输入学生的学号和各科成绩,分别存入一维数组sum和二维数组score中。
(3)计算各科的总分和平均分,分别存入一维数组sum和aver中。
(4)判断各个学生的三科成绩是否都大于90,如果是则输出“Y”,表示该生能获得奖学金,否则输出“N”表示该生不能获得奖学金。
添加模块结果图
查找模块
(1)从键盘中输入要查找的学生的学号k..
(2)编写程序使num[i]与k一一对比,直到num[i]==k,输出该生的学号及相应成绩。
查找模块结果图
修改模块:
(1)从键盘中输入要修改的学生的学号x..
(2)编写程序使num[i]==x,输出该生的成绩,选择你要修改的科目并输入你修改后的新分数,重新计算该生的总分和平均分。
(3)重新判断该生的三门课成绩是否都大于90,如果是则输出“Y”,表示该生能获得奖学金,否则输出“N”表示该生不能获得奖学金。
修改模块的结果图
三、程序编码实现。
源代码与执行结果2部分
/*函数功能:
添加一个或几个学生的成绩,查找某个学生的成绩,修改某个学生的成绩
函数参数:
长整型数组num,存储每个学生的学号
整型数组score,存储每个学生的成绩
整型数组sum,存储每个学生的总分
实型数组aver,存储每个学生的平均分
字符型数组c,标志每个学生能否获得奖学金
整型数n,存储学生总数
函数返回值:
无
*/
voidFind(longnum[],intscore[][3],intsum[],floataver[],charc[],intn)
{
longx,t,k;
inti,j;
printf("请选择您要实现的功能:
1-添加,2-查找,3-修改\n");
scanf("%ld",&t);
if(t==1)
{
printf("请输入你要添加的人数:
");
scanf("%d",&A);
printf("EnterNoandScoreas:
MTENPH\n");
for(i=n;i { scanf("%ld",&num[i]); for(j=0;j<3;j++) { scanf("%d",&score[i][j]); } sum[i]=0; for(j=0;j<3;j++) { sum[i]=sum[i]+score[i][j]; } aver[i]=(float)sum[i]/3; if((score[i][0]>=90)&&(score[i][1]>=90)&&(score[i][2]>=90)) { c[i]='Y'; } else { c[i]='N'; } } } if(t==2) { printf("请输入学号: "); scanf("%ld",&k); for(i=0;i {if(num[i]==k) { printf("result: \n"); printf("学号\t数学\t英语\t物理\t总分\t平均成绩\t>90\n"); printf("%4ld\t",num[i]); for(j=0;j<3;j++) { printf("%4d\t",score[i][j]); } printf("%5d\t%6.1f\t\t%c\n",sum[i],aver[i],c[i]); } } } if(t==3) { printf("请输入学号: "); scanf("%ld",&x); for(i=0;i { if(x==num[i]) { printf("请输入你要修改的选项所对应的数字: 0-MT,1-EN,2-PH\n"); scanf("%d",&j); printf("你将修改为: "); scanf("%d",&score[i][j]); sum[i]=0; for(j=0;j<3;j++) { sum[i]=sum[i]+score[i][j]; } aver[i]=(float)sum[i]/3; if((score[i][0]>=90)&&(score[i][1]>=90)&&(score[i][2]>=90)) { c[i]='Y'; } else { c[i]='N'; } } } } } /*函数功能: 按学号对学生排序 函数参数: 长整型数组num,存储每个学生的学号 整型数组score,存储每个学生的成绩 整型数组sum,存储每个学生的总分 实型数组aver,存储每个学生的平均分 字符型数组c,标志每个学生能否获得奖学金 整型数n,存储学生总数 函数返回值: 无 */ voidorder(longnum[],intscore[][3],intsum[],floataver[],charc[],intn) { inti,j,t,x; longk; floatg; charh; for(i=0;i { for(t=n+A-1;t>i;t--) { if(num[t] {k=num[i];num[i]=num[t];num[t]=k; x=sum[i];sum[i]=sum[t];sum[t]=x; g=aver[i];aver[i]=aver[t];aver[t]=g; h=c[i];c[i]=c[t];c[t]=h; for(j=0;j<3;j++) { x=score[i][j]; score[i][j]=score[t][j]; score[t][j]=x; } } } 执行结果 (1): (2) 四、程序调试过程中出现的问题: 开始运用添加功能时,虽然添加了,但在输出结果中不显示。 解决办法: 将最后的输出中的i 五、总结 在课程设计的这段日子里,我真正体会到什么叫失败是成功之母,因为在编写程序时会出现这样或那样的错误,有的是语法错误,有的是逻辑错误,还有的是由于自己粗心漏掉或多加了一些符号等等,但只要你能静下心来慢慢寻找原因,慢慢修改,最后终能成功。 但如果你在编程时格外细心,你将会减少许多麻烦,同时也会节省很多时间。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)