学生成绩信息管理系统C++Word格式文档下载.docx
《学生成绩信息管理系统C++Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩信息管理系统C++Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
字符串
未知
一个学生全部成绩信息
2
状态器
整形
32
表示此时输入状态
3
链表节点
NodeLink
学生全部成绩信息
学生成绩信息管理功能分析表
功能
列出功能列表
通过功能列表知道你可以进行哪些操作
查询学生成绩
此项可以通过学号或姓名查询学生成绩信息
增加学生成绩信息
此项可以增加未保存的学生的成绩信息
4
删除学生成绩信息
此项可以通过学号或姓名删除已储存的学生成绩信息
5
修改学生成绩信息
此项可以通过学号或姓名来修改已储存的学生成绩信息
6
退出程序
退出本程序并保存相关修改到文件中
2.系统描述
通过建立各种函数来实现学生成绩的查询,基本功能是:
通过系统的提示进行学生成绩的各种查询。
就是通过输入学生的学号就可以进行:
查询,增加,删除,修改。
所用到的数据结构有:
typedefstructNodeLink{
stringperson;
NodeLink*next;
}*L;
这个数据结构用来储存各个学生的成绩信息,这些信息都存储在一个string类型中
voidsearch_score();
//通过学号查找学生成绩信息
voidsearch_score2();
//通过姓名查找学生成绩信息
intadd_person();
//增加未保存的学生成绩信息
voiddele_person();
//通过学号删除学生成绩信息
voiddele_person2();
//通过姓名删除学生成绩信息
voidamend_person();
//通过学号修改学生成绩信息
voidamend_person2();
//通过姓名修改学生成绩信息
voidin_put();
//文本文件的内容输入到一个链表个
voidout_put();
//把链表中的内容输出到文本中
3.系统设计
下面是数据文件设计的一个截图:
分别表示为:
学号姓名高数大学英语数据结构数字逻辑体育。
下面为程序源代码:
#include<
iostream>
string>
fstream>
sstream>
usingnamespacestd;
typedefifstreamin_file;
typedefofstreamout_file;
typedefistringstreamin_s;
typedefstructNodeLink
{
voidin_put(NodeLink*&
L)
{//文件yjx.txt的输入
stringscore_person;
NodeLink*p,*q;
in_filein_p("
yjx.txt"
);
if(!
in_p)
{
cout<
<
"
文件打开失败"
endl;
}
while(getline(in_p,score_person))
p=newNodeLink;
if(L==0)
L=p;
else
q->
next=p;
q=p;
p->
person=score_person;
next=0;
cout<
读入文件成功"
in_p.close();
}
voidout_put(NodeLink*&
{//结果输出到yjx.txt中
NodeLink*p=L;
ofstreamout_s;
out_s.open("
out_s)
文件打开失败~!
while(p)
out_s<
p->
person<
p=p->
next;
out_s.close();
voidsearch_score(NodeLink*&
{//通过学号学生信息查询
stringscore_person,score_person2;
NodeLink*p;
p=L;
请输入待查询的学号:
;
cin>
>
score_person;
in_sstr(p->
person);
str>
score_person2;
if(score_person==score_person2)
{
cout<
您要查询学生成绩信息如下:
endl
<
学号姓名高数大学英语数据结构数字逻辑体育"
<
break;
}
if(p==NULL)
查无此学号,请确认后再输入。
voidsearch_score2(NodeLink*&
{//通过姓名学生信息查询
请输入待查询的学生姓名:
while(p){
查无此名字,请确认后再输入。
intadd_person(NodeLink*&
{//学生信息增加
stringname_person,name_person2;
stringi,j,k,l,m,n,o;
NodeLink*q;
NodeLink*a=L;
请输入要增加的学生成绩信息:
<
i>
j>
k>
l>
m>
n>
o;
while(a)
in_sstr(a->
name_person2;
if(i==name_person2)
学号:
i<
已存在"
请重新输入"
return0;
a=a->
name_person=i+"
"
+j+"
+k+"
+l+"
+m+"
+n+"
+o;
q=newNodeLink;
q->
person=name_person;
while(p->
next)
p->
next=q;
p=p->
p=0;
加入成功!
return0;
voiddele_person(NodeLink*&
{//通过学号学生信息删除
请输入要删除学生成绩的学号:
此学生的成绩信息如下:
if(p==L)
L=L->
else
{
q->
next=p->
p=q;
}
该学生成绩信息已删除"
voiddele_person2(NodeLink*&
{//通过姓名学生信息删除
请输入要删除学生姓名:
voidamend_person(NodeLink*&
{//通过学号学生信息修改
stringscore_person,score_person2,score_person3,name_person2;
stringh,i,j,k,l,m,n,o;
NodeLink*q=0;
请输入要修改学生的学号:
此学号的成绩信息如下:
请输入要修改的信息:
score_person2<
i=score_person;
cin>
score_person3=i+"
p->
person=score_person3;
修改已成功"
voidamend_person2(NodeLink*&
{//通过姓名学生信息修改
请输入要修改学生的姓名:
j=score_person;
intmain()
{//主函数
strings;
NodeLink*L=0;
//链表建立
in_put(L);
inti;
do
endl<
请选择所需操作:
1.查询学生成绩信息:
2.增加学生成绩信息:
3.删除学生成绩信息:
4.修改学生成绩信息:
5.退出程序"
i;
switch(i)
case1:
intb;
1.通过学号查询:
2.通过姓名查询:
cin>
b;
if(b==1)
search_score(L);
if(b==2)
search_score2(L);
break;
case2:
add_person(L);
case3:
intc;
1.通过学号删除:
2.通过姓名删除:
c;
if(c==1)
dele_person(L);
if(c==2)
dele_person2(L);
case4:
intd;
1.通过学号修改:
2.通过姓名修改:
d;
if(d==1)
amend_person(L);
if(d==2)
amend_person2(L);
}
if(i!
=1&
&
i!
=2&
=3&
=4&
=5&
=8)
输入有误,请确认后再输入"
}while(i!
=5);
//是否重新操作
out_put(L);
//输出到文件123.txt中
文件修改已保存"
4系统调试运行
程序代码运行之后,对任务书所要求的功能进行测试:
1.通过学号进行学生信息查询,结果如下图:
2.通过姓名进行学生信息查询,结果如下图:
3.增加学生信息,结果如下图所示:
4.通过学号删除学生信息,结果如下图所示:
5.通过姓名删除学生信息,结果如下图:
6.通过学号修改学生信息,结果如下图:
7.通过姓名修改学生信息。
结果如下图:
8.经过上述操作之后,文件数据为:
5.心得体会
经过这次基础强化训练的设计,我更加深刻的体会到了:
要想设计好一个可靠的系统,不仅仅是要完成系统设计的基本要求,还要深入理解这个系统,这个系统应该具备什么功能,怎样才能更加让使用者用得得心应手,这个才应该是设计系统的初衷。
在设计这个系统的时候,首先就应该设想好,需要运用什么样的数据结构以及何种算法才能使系统最优化,使自己设计的系统能够以最高的效率进行运行。
还有,在这个系统设计的过程中,我也更加深刻地体会到数据结构等相关课程的学习对我们所给予的巨大帮助,运用书上所介绍的数据结构,算法再结合自己对系统的体会,综合运用所学的知识,设计出系统来就不会是那么困难的一件事情了。
总的来说,这次基础强化课程设计让我受益匪浅,对所学知识的认识不再是只停留在课本和做题考试上面,而是运用到确确实实的编程当中,我因此也对相关的知识有了更深层次的认识。
而后面,等待我学的东西还有很多,我要做的便是再接再厉,一步一步坚持的走下去!
6.参考文献
《C++程序设计教程》闵联营何克右主编武汉理工大学出版社2005.7
《数据结构》严蔚敏吴伟民主编清华大学出版社1996
本科生课程设计成绩评定表
班级:
计算机0803 姓名:
杨建喜 学号:
0120810340301
序号
评分项目
满分
实得分
学习态度认真、遵守纪律
10
设计分析合理性
设计方案正确性、可行性、创造性
20
设计结果正确性
40
设计报告的规范性
6
设计验收
总得分/等级
评语:
注:
最终成绩以五级分制记。
优(90-100分)、良(80-89分)、中(70-79分)、
及格(60-69分)、60分以下为不及格