小型学生成绩管理系统Word格式.docx
- 文档编号:22545685
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:15
- 大小:79.91KB
小型学生成绩管理系统Word格式.docx
《小型学生成绩管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《小型学生成绩管理系统Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
§
1.1设计目的
通过一个综合应用程序的开发,掌握C语言程序设计的基本方法和常用算法,学会从实际应用出发来分析问题,进行软件规划和算法设计,逐步求精,养成良好的编程风格,熟悉软件设计的基本步骤,为后续课程的学习打下良好的基础。
1.2设计时间
设计时间为1或2周,一般分散在几周内进行,同学利用课余时间查阅资料,编制程序,完成设计。
为方便同学答疑,安排部分学时的集中上机辅导,每班配备两名指导教师。
1.3设计要求
1.每个同学可从课设选题中选择一个题目,独立完成设计。
同学也可以自拟题目,但需经指导教师确认题目符合设计要求。
2.每个班分成5~6组,每组4~6名同学,由指定组长负责组建本组,要求组内同学题目不能相同,每组最终要将组内各成员的设计集成在一起,统一运行。
3.按时参加集中辅导,记考勤。
4.按时提交设计报告,按时参加验收和答辩。
一、任务书
题目1:
功能:
实现某班级的学生成绩管理,学生的基本信息包括学号、姓名、各科成绩等信息。
基本要求:
1.设计简单的菜单,能够进行系统功能选择。
2.实现信息的录入功能。
3.在已有信息的基础上添加新的记录。
4.删除指定学号的学生记录。
5.修改指定学号的学生记录
6.实现信息的浏览功能
7.按学号查询功能
8.按总分或平均分排序功能
二、小型学生成绩管理系统
1.总体设计
实现某班级的学生成绩管理
使用指针、结构体等相关知识完成以下内容
1).简单菜单界面,按0—7键选择选项
2).实现各个函数的功能
2.模块划分
主模块:
main()/*主函数*/
其他模块:
AppendScore()/*录入学生信息*/
TotalScore()/*计算学生成绩总和*/
PrintScore()/*输出学生信息*/
SearchScore()/*按学号查询学生信息*/
SortScore()/*按成绩总和排序*/
AddScore()/*添加某学生信息*/
DeleteScore()/*删除某学生信息*/
ModifyScore()/*修改某学生信息*/
Menu()/*打印菜单*/
3.算法说明
Step1打印主菜单.
Step2按0—7键选择.
Step3实现各个函数的功能.
4.各函数模块功能及流程图
流程图如下:
5.程序测试
1).静态检查。
2).静态检查无误后,上机调试。
3).改正语法错误,运行。
检查错误方法:
1).将程序与流程图仔细对照,如果流程图正确,程序写错了,错误很容易发现。
2).采取“分段检查”的方法,不断缩小检查区,就可能发现错误所在。
6.结论
此程序可以再TC中正常、正确运行。
实现某班级的学生成绩管理。
附:
源程序清单
#include<
stdio.h>
string.h>
ctype.h>
stdlib.h>
#defineSTU_NUM40
#defineCOURSE_NUM10
structstudent
{
intnumber;
charname[15];
intscore[COURSE_NUM];
intsum;
floataverage;
};
typedefstructstudentSTU;
voidAppendScore(STU*head,intn,intm)
intj;
STU*p;
for(p=head;
p<
head+n;
p++)
{
printf("
\nInputnumber:
"
);
scanf("
%d"
&
p->
number);
Inputname:
%s"
p->
name);
for(j=0;
j<
m;
j++)
Inputscore%d:
j+1);
score+j);
}
}
voidPrintScore(STU*head,intn,intm)
inti;
charstr[100]={'
\0'
},temp[3];
strcat(str,"
NumberName"
for(i=1;
i<
=m;
i++)
Score"
itoa(i,temp,10);
strcat(str,temp);
"
sumaverage"
str);
\nNo.%3d%8s"
number,p->
for(i=0;
%7d"
score[i]);
%11d%9.2f\n"
sum,p->
average);
voidTotalScore(STU*head,intn,intm)
p->
sum=0;
sum=p->
sum+p->
score[i];
average=(float)p->
sum/m;
voidSortScore(STU*head,intn)
inti,j,k;
STUtemp;
n-1;
k=i;
for(j=i;
n;
if((head+j)->
sum>
(head+k)->
sum)
k=j;
if(k!
=i)
temp=*(head+k);
*(head+k)=*(head+i);
*(head+i)=temp;
intSearchNum(STU*head,intnum,intn)
if((head+i)->
number==num)returni;
return-1;
voidSearchScore(STU*head,intn,intm)
intnumber,findNo;
PleaseInputthenumberyouwanttosearch:
findNo=SearchNum(head,number,n);
if(findNo==-1)
\nNotfound!
\n"
else
PrintScore(head+findNo,1,m);
voidAddScore(STU*head,intn,intm)
AppendScore(head+n,1,m);
TotalScore(head+n,n+1,m);
intDeleteScore(STU*head,intn,intm)
\nInputthenumberyouwanttodelete:
for(;
findNo<
findNo++)
*(head+findNo)=*(head+findNo+1);
return1;
voidModifyScore(STU*head,intn,intm)
\nPleaseInputthenumberyouwanttomodify:
AppendScore(head+findNo,1,m);
TotalScore(head+findNo,1,m);
\nAftermodified\n"
PrintScore(head,n,m);
charMenu(void)
charch;
\nManagementforStudents`scores\n"
1.Appendrecord\n"
2.Listrecord\n"
3.Searchrecord\n"
4.sortrecord\n"
5.Addrecord\n"
6.Deleterecord\n"
7.modifyrecord\n"
0.Exit\n"
PleaseInputyourchoice:
%c"
ch);
returnch;
main()
intm,n,a;
STUstu[STU_NUM];
Inputstudentnumberandcoursenumber(n<
40,m<
10):
%d,%d"
n,&
m);
while
(1)
ch=Menu();
switch(ch)
case'
1'
:
AppendScore(stu,n,m);
TotalScore(stu,n,m);
break;
2'
PrintScore(stu,n,m);
3'
SearchScore(stu,n,m);
4'
SortScore(stu,n);
\nSortedresult\n"
PrintScore(stu,n,m);
5'
if(n+1>
40)
\nNoplace!
if(n+1<
=40)
AddScore(stu,n,m);
n=n+1;
\nAfteradded\n"
6'
a=DeleteScore(stu,n,m);
if(a==-1)
Notfound!
if(a==1)
n=n-1;
\nAfterdeleted\n"
7'
ModifyScore(stu,n,m);
0'
printf("
Endofprogram!
exit(0);
default:
Inputerror!
三、体会及建议
程序设计不是一个简单过程,它需要设计者在经过对课题要求熟悉了解之后,找出对应的合理的算法,并不断上机调试,不断地修改和改进。
尤其是当设计者对相关函数一无所知时,编一个程序的难度可想而知。
不过,只要在编程过程中不断学习,不断探索,不断实践,不断克服所遇到的一个个难题,最终一个令人感到无比振奋的程序诞生了。
成功的道路势必会崎岖坎坷,但只要有知难而上的精神,只要不断努力,一定会得到胜利的果实!
四、参考文献
[1]苏小红等.C语言大学实用教程(第二版).电子工业出版社.2004.P244-308
[2]苏小红等.C语言大学实用教程习题与实验指导.电子工业出版社.2004.
P173,P227-232
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 学生 成绩管理系统