c语言学生成绩管理系统课程设计报告Word文档下载推荐.docx
- 文档编号:16895395
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:47
- 大小:123.28KB
c语言学生成绩管理系统课程设计报告Word文档下载推荐.docx
《c语言学生成绩管理系统课程设计报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言学生成绩管理系统课程设计报告Word文档下载推荐.docx(47页珍藏版)》请在冰豆网上搜索。
1、需求分析:
对系统的应实现的功能进行分析。
2、概要设计:
对系统功能进行模块分解,对模块的功能及模块之间的相互关系进行说明(如用到函数,则对函数间的接口进行说明),对系统使用的数据结构(各数组、主要变量的设置及其代表的含义)进行说明。
3、详细设计:
用流程图、伪代码等方法对各主要算法进行描述。
4、编写代码:
根据设计编写。
源程序要按照程序的格式规范来编写,要求结构清晰,界面友好,关键部分有必要的注释。
5、调试分析:
准备充分的测试数据对系统进行调试(对错误的数据输入也要进行测试,保证程序的容错性),并通过测试对系统提出改进设想。
五、上交材料要求
上交的材料应包括系统源代码电子版、课程设计报告材料电子文档及打印件各一份。
系统源代码电子版命名为“班级_学号_姓名.c”。
课程设计报告电子版命名为“班级_学号_姓名.doc”。
课程设计报告应包含封面、目录、任务书、课程设计报告主体内容、封底。
课程设计报告格式应严格符合《课程设计报告格式》的要求(字体和排版均不得随意改变),其中正文的字数一般不少于3000字(不含源代码)。
参考文献、注释必须符合学术论文的格式要求。
课程设计报告还可包括:
课程设计过程的收获、遇到的问题、解决问题的方法或手段,对解决问题过程的思考、程序调试能力的思考,对C语言这门课程的思考,在课程设计过程中对《C语言》课程的认识等内容。
六、设计安排
本课程设计的指导时间为第17周周一至周五和第18周周一至周五,每个班每天8节课。
第18周周五对系统进行检查和验收,次周一提交相关材料。
本课题可由5-6人组成的课题小组协作完成。
组员间应对设计、各模块编程、撰写文档、测试等任务有明确分工,并在项目开始时有合理的进度计划,确保课题的顺利完成。
提交的课程设计报告必须每人一份,其中必须单列对自己所负责部分的说明,包括任务内容、完成的方法、进行过程中遇到的问题及解决方案、完成情况等。
七、成绩考核与评定
课程设计最后成绩由指导教师根据学生完成任务的情况、课程设计报告的质量和课程设计过程中的态度等综合评分。
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
不及格者不能得到相应的学分,需要重新做课程设计,经指导教师考核及格后,方可取得相应的学分。
评分标准如下:
优:
系统功能完善,程序界面友好,有很强的实用性和良好的可扩展性,报告格式正确、各环节内容充实准确,并对系统提出有益的改进建议。
良:
系统功能较完善,程序界面清晰,有较强实用性,报告格式正确,各环节内容完整。
中:
系统功能基本完善,程序能正常运行,有一定的实用性,报告内容完整。
及格:
系统具备重要功能,程序主要模块能正常运行,报告内容完整。
不及格:
系统未实现重要功能,或程序不能正常运行,或报告内容不完整。
1、设计的目的
1)复习巩固C语言的基础知识,进一步加深对C语言编程的理解和掌握;
2)利用所学知识,理论和实际结合,利用资源,采用模块化的结构,使用模仿修改自主设计相结合的方法,锻炼学生综合分析解决实际问题的编程能力;
3)培养学生在项目开发中团队合作精神、创新意识及实战能力。
2、设计的任务
根据学生的实际情况,进行分组选题。
主要的课程设计题目如下(学生也可自主选题):
1、图书信息管理系统2、商品信息管理系统
3、学生成绩管理系统4、职工信息管理系统
5、课程信息管理系统
课程设计采用学生自主设计和指导老师辅导相结合的方式。
3、设计要求与设计报告
设计要求:
1、任选上述题目之一,或自选题目。
2、模块化的程序设计
3、锯齿形的程序书写格式。
4、必须通过编译连接运行
设计报告:
1、设计目的和任务
2、总体设计:
包括程序设计组成框图、流程图。
包括模块功能说明:
函数功能、入口及出口参数说明,函数调用关系描述等。
4、调试与测试:
包括调试方法,测试结果分析与讨论,测试过程中遇到的主要问题及采取的解决措施。
5、源程序清单和执行结果:
清单中应有足够的注释
1.总体设计………………………………………………………2
2.详细设计………………………………………………………3
3.课程设计报告内容…………………………………………………3
3.1使用说明及运行实例…………………………………………8
4.总结……………………………………………………………11
5.参考资料……………………………………………………………11
6.C语言课程设计心得……………………………………………12
7.附录…………………………………………………………………13
一设计目的
二课程设计的内容
要求:
设计一个学生信息管理系统,使之能提供以下功能:
1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!
2、录入学生信息:
可以输入学生各种相关信息并可以输入多个学生信息并保存。
3、显示学生总成绩信息:
可以显示录入的学生总成绩信息。
4、总成绩排序:
可以对录入的学生总成绩进行排序。
5、显示学生单科成绩排序:
可以对录入的学生单科成绩进行排序。
6、添加学生信息:
在不影响已经录入成绩的学生信息前提下,增加新的学生信息。
7、删除学生成绩:
通过输入学号,删除录入中的该学号的学生信息。
8、查询学生信息:
通过输入学号,游览该名学号的学生信息。
9、从文件读入学生信息:
可以通过查找外界文件,直接将外界学生信息输入到程序中
10、删除文件中学生信息:
可以将外界文件中的学生信息删除
11、保存学生信息:
可以保存当前程序中录入的学生信息
12、退出:
退出学生信息管理系统
3.课程设计报告内容
1.总体设计方案
系统的总体流程图
结束
N
Y
12
退出
4
显示学生单科成绩排序
是否继续进行
保存
7
修改学生信息
3
对总成绩进行排序
2
显示学生总成绩信息
6
删除学生信息
8
查询学生信息
5
添加学生信息
1
录入学生信息
菜单
根据菜单输入n的值选择程序
开始
2详细设计
进入程序:
用户名:
彭彦彰,密码:
123456
(1).欢迎:
显示学生信息管理系统的主菜单,供用户选择所需的功能,通过自己定义的voidmain()函数来实现。
(2).输入模块:
输入1进入voidinput();
函数定义的录入模块,供用户进行学生成绩的的开始录入工作
(3).删除模块:
输入6进入voiddel();
函数定义的删除模块,通过输入某一学生学号对该名学生信息进行删除工作.
(4).查找模块:
输入8进入voidfind();
函数定义的查找数据模块,通过输入某一学生学号从数据中查找该名学生全部信息.
(5)修改模块:
输入7进入voidmodify():
函数定义的修改数据模块,通过输入某一学生学号从数据中修改改名学生的信息,可以选择修改某条信息或者不修改某条信息
(6)求总成绩与平均数模块:
输入3进入voidaverage()函数定义的求平均数模块,可以显示至今录入的学生成绩的英语,数学,计算机三门成绩平均值
(7)退出系统模块:
退出学生信息管理系统,通过头文件windows.h中的exit函数来实现
3.1使用说明及运行实例
(1)输入密码,运行程序,进入学生信息管理系统的主菜单:
(2)查询界面:
(3)学生成绩列表界面:
(4)学生成绩修改界面:
通过主程序界面进入各个功能选项,如图所述
我负责的模块是”用户密码登陆、欢迎等整理各个函数部分”,通过编好的函数应用在主函数中运行,自定义初始密码,当输入的密码与自定义的密码一致时,方可登陆;
欢迎界面函数,简单的使用printf语句实现!
下面是我的程序源代码
voidMima()
{
inti=0;
charpassword[50],c;
printf("
\t\t\t\t密码:
"
);
while((c=getch())!
=13)
{
if(c==8)
\b\b"
i--;
continue;
}
password[i++]=c;
putchar('
*'
\n"
password[i]='
\0'
;
if(strcmp(mima,password)==0)
printf("
密码正确!
system("
cls"
menu();
else
\t\t\t密码错误,请重新输入!
voidZhao()
charYHM[50];
\t\t\t\t用户名:
scanf("
%s"
&
YHM);
voidxianshi1()
\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n"
\t**********************************************************\n"
\tStudentachievementmanagementsystemmanagementsystem!
\t!
^_^学生成绩管理系统^_^!
\n"
\t*********************************************************\n"
\n\n"
\t╭⌒╮¤
东边日出 ╭⌒╮西边雨 \n"
\t╭╭⌒╮道是无晴●╭○╮╭╭⌒╮却有晴\n"
\t╰----╯/█∨█\╰----╯\n"
\t~~~~~~~~~~~~~~~∏~~∏~~~~~~~~~~~~~~~\n"
voidxianshi()
{
}
运用实例:
4.总结
经过这段时间开发过程风们了解了c++程序的具体涵义,大体熟悉了开发流程,也撑握了软件文档的编写,学到了很多以前没有了解到的知识,由于时间的不够充分和知识上的不足,大量的时间都用作学习,所以留给软件开发的时间相对较少一些,造成的结果是,开发的过程不是均匀,但是经过这段时间的开发,终于完成了课题。
学到的知识都是很值得珍惜的。
由于本课题中的许多知识点都没有学过都要靠自己到课外的资料中去查找。
在用的时候难免出现这样那样的错误。
如开始设计出来的菜单不是预想的那样,而是总个窗中出现混乱。
解决的这个问题的办法是调整。
一个系统的菜单和提示信息非常重要。
如果没有这些用户根本不知道怎么用你设计的这个系统。
在设计的调试过程中也无法顺利的完成调试工作。
有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。
5、参考资料
《C程序设计》(第三版)谭浩强著清华大学出版社
《C语言三日通》~(美)(S.A.阿博尔鲁)SamA.A(作者)
《TheCProgrammingLanguage》~(美)BrianW.Kernighan,DennisM.Ritchie
:
很酷的C语言技巧
C语言中文网
6、C语言课程设计心得
通过这一次的课程设计,我的体会相当大,第一天开始,我们一下子从书本上的理论,来到了实际的操作,而且马上就要编写一段完整的可以运行的程序,让我们感觉,这完全不同于以往,也让我们清醒的认识到,我们学习的知识是可以运用到实际操作中的,而且这次课程设计也完全没有所谓的正确答案,只要做的符合要求,一切程序都是正确的。
第一天我们略显得有些手足无措,6个人一起研究主程序的写法,却在密码上遇到了阻碍,结果一个上午之后密码问题依旧没有解决,但是经过后续的学习,以及其他同学们提供的他们的编写想法,也让我们在做自己的程序上,得益良多,在第二天的课程设计中,顺利的攻克了密码难关,接下来,我们六人分工合作,展开了如火如荼的工作,在一个星期之内完成了基本操作,真是应了中国那句老话“人多力量大啊”,接下来的一星期中,我们从之前的分工合作,又变回了集体工作,一起在更加美观,程序更加简洁,功能更加齐全上下力气,终于功夫不负有心人,我们组在规定的时间内完成了本学期的课程设计,这对我们不光光是一次学习,也是一次让我认识到自己能力的机会,在这次集体合作中,我们组表现相当出色,虽然有些地方稍有摩擦,不过大家都知道什么才是大局,求同的想法,时时在我们脑中,通过这一次机会,更加加深了我们组的羁绊,相信我们组在今后的集体活动中也能发挥出色表现!
7、附录
#include<
stdio.h>
conio.h>
#definemima"
123456"
#include<
stdlib.h>
string.h>
#defineMAX1000
voidmenu();
voidMima();
voidZhao();
voidxianshi1();
voidxianshi();
voidinput();
/*输入数据函数*/
voidsort();
/*排序数据函数*/
voiddisplay();
/*显示数据函数*/
voiddisplay1();
/*显示各科成绩函数*/
voidinsert();
/*插入数据函数*/
voiddel();
/*删除数据函数*/
voidaverage();
/*平均值函数*/
voidfind();
/*查找数据函数*/
voidsave();
/*保存数据函数*/
voidread();
/*读出数据函数*/
voiddel_file();
/*删除文件函数*/
voidmodify();
/*修改文件函数*/
intnow_no=0;
structstudent//定义学生信息
intno;
//学号
charname[20];
//姓名
charsex[4];
//性别
floatscore1;
//成绩1
floatscore2;
//成绩2
floatscore3;
//成绩3
floatsort;
//排序成绩
floatave;
//平均分
floatsum;
//总分
};
voidmain()
xianshi1();
Zhao();
Mima();
structstudentstu[MAX],*p;
voidmenu()/*主函数*/
intas;
charch;
do{
xianshi();
start:
\n\n\n\n\t\t\t欢迎使用学生成绩管理系统\n"
\n\n\n\n\t\t******************按任意键继续********************"
ch=getch();
}
while(!
ch);
/*以下为功能选择模块*/
do
{
\n\t\t\t\t1.录入学生信息\n\n\t\t\t\t2.显示学生总成绩信息\n\n\t\t\t\t3.对总成绩排序\n\n\t\t\t\t4.显示学生单科成绩排序\n\n\t\t\t\t5.添加学生信息\n\n\t\t\t\t6.删除学生信息\n\n\t\t\t\t7.修改学生信息\n\n\t\t\t\t8.查询学生信息\n\n\t\t\t\t9.从文件读入学生信息\n\n\t\t\t\t10.删除文件中学生信息\n\n\t\t\t\t11.保存学生信息\n\n\t\t\t\t12.退出\n"
\t\t\t\t选择功能选项(输入所选功能前的数字):
fflush(stdin);
/*可用可不用,用于清除缓存防止下次用scanf输入时出现错误*/
%d"
as);
switch(as)
case1:
system("
input();
break;
case2:
display();
case3:
sort();
case4:
display1();
case5:
insert();
case6:
del();
case7:
modify();
case8:
find();
case9:
read();
case10:
del_file();
case11:
save();
case12:
exit"
exit(0);
default:
gotostart;
while
(1);
/*while
(1),1表示真,所以while
(1)表示永远循环下去*/
/*至此功能选择模块结束*/
voidinput()/*学生信息录入模块*/
\t\t\t\t1.录入学生信息\n输入第%d个学生的信息\n"
i+1);
\n输入3位的学生学号:
%u"
stu[i].no);
\n输入学生姓名:
gets(stu[i].name);
\n输入学生性别:
gets(stu[i].sex);
\n输入英语成绩:
%f"
stu[i].score1);
\n输入计算机成绩:
stu[i].score2);
\n输入数学成绩:
stu[i].score3);
i++;
now_no=i;
是否继续输入?
(Y/N)"
while(ch!
='
n'
&
ch!
N'
}
voidsort()/*排序数据函数*/
structstudenttemp;
inti,j;
average();
for(i=1;
i<
now_no;
i++)
for(j=1;
j<
=now_no-i;
j++)
if(stu[j-1].ave<
stu[j].ave)
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
排序已完成进入功能2可进行显示\n"
pause"
voidsort1()/*排序数据函数*/
if(stu[j-1].score1<
stu[j].score1)
s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 成绩管理系统 课程设计 报告