c语言毕业课程设计报告学生成绩管理系统Word格式文档下载.docx
- 文档编号:20077613
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:22
- 大小:117.49KB
c语言毕业课程设计报告学生成绩管理系统Word格式文档下载.docx
《c语言毕业课程设计报告学生成绩管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言毕业课程设计报告学生成绩管理系统Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
例:
现有学生成绩信息,包含
姓名学号语文数学英语
张明明01677882
李成友02789188
张辉灿03688256
王露04564577
陈明05673847
………………
请用CC++编写一系统,实现学生信息管理,软件的入口界面应包括如下几个方面:
(二)功能要求:
(1)信息输入:
(2)信息查询:
要求:
查询时可实现按姓名查询、按学号查询
(3)成绩统计:
A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。
(4)可选功能:
实现学生信息数据的维护。
可包括:
增加学生信息、删除学生信息、修改学生信息
(其他要求:
学生信息数据以结构体数组组织;
或以链表形式组织;
或以文件形式保存(可加分)
2、插入记录――在一个特定序号处插入一条记录
3、删除记
4、修改记―关键
可选增强功能:
统计录――修改特定记录
5、查询记录―。
(可对记录分)
6、排序――按学号、姓名、出生年月、家庭住址、邮编、电话等进行排序
7、系统维护――退出系统时关闭所有文件
四.程序主要功能:
本系统的主要功能有如下:
(1)、新输入学生的详细信息(包括:
学号、姓名、语文成绩、数学成绩、英语成绩)
(2)、增加学生的信息
(3)、删除学生的信息
(4)、查询学生的信息
(5)、统计学生的成绩
注:
由于本人能力有限,不能完全地将所有的功能模块做出来;
但我相信我能够再接再厉,继续开发下去的,并向人性化发展。
五.系统功能设计:
(一)本系统的总体框架图:
(二)、本系统的总体流程图:
此图为概图、程序较多无法一一展示。
六.函数实现功能说明:
(1)、MENU函数是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。
(2)、CREAT函数是定义用于创建新的链表,并带回一个指向链表头的指针。
其功能是输入最初的学生信息。
(3)、ADD函数是定义用于再次输入学生信息,并将所有的学生信息按学号排序。
(4)、DEL函数是定义用于删除学生信息。
:
(5)、SEARCH函数是定义义用于查询学生信息,主要是学号的查询。
(6)、TAXIS函数是定义用于统计学生的成绩信息,采用排序函数的方式对学号数学等的排序。
七.调试分析:
因在不同的环境中运行是有不同的结果,以下分两种环境中说明:
(1)、在TurboC2.0
在这个环境下运行警告之处比较多,在调试时采用的图象处理函数在其它两个环境中不能运行。
例如:
在原程序中加入
#include“graphics.module……
原因在于:
TC3.0中对图象的处理函数有不足之处。
**在VisualC++6.0中的Error提示是:
BGIError:
Graghicsnotinitialized(use’initgraph’)
Cannotopenincludefile:
”graphics.
**原因在于:
连接浮点库错误。
**解决办法:
在主函数中加入:
fioatarg,*pointer=&
arg;
即可运行
。
八.心得与体会:
(1)、通过本次对C语言的深入学习,让我对C语言有了更多的了解并撑握更多的知识,成功地运用各类函数、循环变量、结构化的程序设计,以及结构体、指针的使用。
(2)、但在学习中发现,编程确实不是很好做的,并非是你想要就能完成的,它需要的是认真、仔细地对待每一个程序块,特别是在对指针的使用时更加困难,那些指针指来指去,一不小心就会看错,编译不出来。
(3)、由于学生的我只是大一而已,没能够完完全全地把程序做出来,而且程序中有许多不足之处不能够正确地将它改正,但总体上是可以运行的。
九.各功能模块的实现及其程序清单:
(1)、各功能模块的实现(请参照第六点:
函数实现功能说明)
(2)、程序清单(请见附页)
参考文献:
[1]谭浩强编著.C程序设计第三版.北京:
清华大学出版社,2005
[2]林瑞仲等编著.C语言实例解析精粹.北京:
人民邮电出版社,2005
附页:
学生成绩管理系统源程序清单
#include<
stdio.()
{menu();
choose();
}
*菜单系统*
voidmenu(void)
{
system("
CLS"
);
printf("
\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n"
\t^**^\n"
\t^*。
欢迎使用这个成绩管理系统。
*^\n"
\n"
\t以下这个菜单由余销云制作,详情请看:
\n\n"
\t#########################################################\n"
\t#请输入学生的分数.....................1#\n"
\t#搜索学生分数....................2#\n"
\t#搜索学生的优秀通过率.................3#\n"
\t#搜索学生的通过状况...................4#\n"
\t#搜索个人个门成绩分数.................5#\n"
\t#离开.................................6#\n"
\n\t请选择:
}
*菜单选择*
voidchoose(void)
intx,flag=0;
while(flag==0)
{
fflush(stdin);
scanf("
%d"
&
x);
getchar();
switch(x)
{case1:
input();
savescore();
loadscore();
menu();
choose();
flag=1;
break;
case2:
choosec();
case3:
excellent();
case4:
passing();
case5:
personal();
case6:
Exit();
default:
printf("
\tSorry,yourchoosedoesn'
texist!
pleasechooseagain!
}
*输入学生成绩*
voidinput(void)
intflag=1,j,i;
chark;
floatpp=0;
for(i=0;
flag==1;
i++)
printf("
\t请输入第N.%"
i+1);
puts("
姓名:
"
gets(stu[i].name);
fflush(stdin);
学号:
gets(stu[i].num);
\t分数:
\t语文\t数学\t英语"
for(j=0;
j<
M;
j++)
%f"
stu[i].score[j]);
\t你想要继续么?
(YN)"
while
(1)
{puts("
\t请选择......."
fflush(stdin);
%c"
k);
if(k!
='
N'
&
k!
Y'
\t出错了,哈哈,再输一次吧!
elseif(k=='
{
flag=0;
S=i;
}
elsebreak;
i<
=S;
{
for(j=0,stu[i].total=0.0;
stu[i].total+=stu[i].score[j];
stu[i].average=stu[i].totalM;
}
*保存数据*
voidsavescore(void)
{
inti,flag=1;
FILE*fp;
charm;
puts("
\t你想要保存这些数据么?
while
(1)
m);
if(m=='
if((fp=fopen("
D:
\score.txt"
"
w"
))==NULL)
printf("
\t对不起哦,无法打开这个表单....\n"
exit(0);
for(i=0;
if(fwrite(&
stu[i],sizeof(structstudents),1,fp)!
=1)
puts("
\t对不起,表单书写错误了!
flag=0;
if(flag==1)
\t好了,第N.%d个学生的数据已经被保存了哦!
!
fclose(fp);
break;
elseif(m!
m!
\t对不起,你输入错误,请重新输入一次吧!
else
break;
*读取文件中保存的数据*
voidloadscore(void)
FILE*fp;
charn;
MESSArestu[20];
inti,j,flag=0;
charread[5][10]={"
学号"
姓名"
语文"
数学"
英语"
};
\t你想要立刻读取这些数据么?
scanf("
n);
if(n=='
if((fp=fopen("
r"
{
fprintf(stderr,"
\tOpen%serror!
score.txt"
exit(0);
}
for(i=0;
fread(&
restu[i],sizeof(structstudents),1,fp);
system("
\t成绩信息读取中................."
\t好的,表单已经被读取!
...........\n"
\t$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$\n"
\t$**$$**$\n\t"
$**$"
5;
printf("
%-10s"
read[i]);
$**$"
{printf("
\t$**$"
%-10s%-10s"
restu[i].num,restu[i].name);
for(j=0;
3;
%-10.2f"
restu[i].score[j]);
printf("
$**$\n"
\t$**$$**$"
\n\t$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$\n"
fclose(fp);
break;
elseif(n=='
else
\t对不起,出现错误了,再来一次吧,相信你会成功的!
\t输入任意键回到主菜单..............\n"
getchar();
*选择查分的子菜单及子菜单选择*
voidchoosec(void)
intbiao,i,flag=0;
if((fp=fopen("
\\score.txt"
\t对不起,你无法输入任何成绩信息!
无法打开这个表单!
\n\n\n"
\t输入任意键回到主菜单!
getchar();
menu();
choose();
fread(&
stu[i],sizeof(structstudents),1,fp);
fclose(fp);
\t以下是第二个菜单:
\t%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$%%$\n"
\t%%$按平均分由高到低..............................1%%$\n"
\t%%$按总分由高到低................................2%%$\n"
\t%%$按学号降序....................................3%%$\n"
\t%%$按姓名降序....................................4%%$\n"
\t%%$回到主菜单....................................5%%$\n"
\n\t请选择输入方式:
while(flag==0)
biao);
switch(biao)
{case1:
average();
show();
case2:
total();
case3:
number();
case4:
name();
case5:
default:
\t对不起,你的操作无法进行!
请重新做出正确操作!
*显示分数*
voidshow(void)
{
inti,j,n,flag=0;
char"
\t$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$\n\n\t"
7;
\t"
stu[i].num,stu[i].name);
stu[i].score[j]);
stu[i].total);
stu[i].average);
\n\t"
\n\t$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$**$\n"
\nYouwant:
(1or2)\n"
\t1.回到第二个菜单!
\t2.回到主菜单!
switch(n)
default:
\t出错了,请再次输入!
*按平均分由高到低*
voidaverage(void)
inti,j,k;
MESSAt;
S;
k=i;
for(j=i+1;
if(stu[k].average<
stu[j].average)
k=j;
if(k!
=i)
t=stu[k];
stu[k]=stu[i];
stu[i]=t;
*按总分由高到低*
voidtotal(void)
inti,j,k;
if(stu[k].total<
stu[j].total)
*按学号降序*
voidnumber(void)
{
if(strcmp(stu[k].num,stu[j].num)<
0)
k=j;
*按姓名降序*
voidname(void)
if(strcmp(stu[k].name,stu[j].name)<
*优秀率*
voidexcellent(void)
inti,j,k,w,flag=0;
floatm;
char("
\\sc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 毕业 课程设计 报告 学生 成绩管理系统