学生成绩系统课程设计文档格式.docx
《学生成绩系统课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩系统课程设计文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
学号、姓名、年龄、性别、出生年月、地址、E-mail等。
系统功能要求:
(1)录入学生信息
(2)修改学生信息
(3)删除学生信息
(4)按学号或姓名查询学生信息
(5)按学号或姓名对学生信息进行排序
环
境
VC++6.0
内
容
实验内容
1.输入部分
通过键盘输入多位学生的学生信息。
学生的信息包含有:
学生姓名、性别、学号、出生年月、年龄等。
此次做的学生管理系统是利用链表而完成的程序,故第一部分想要实现建立链表
2.输出部分
输出当前已存储的学生信息
3.更新部分
①删除删除用户指定的学生信息,这部分的功能是输入学生的学号,找到其在链表中存储的结点处,并将这整个结点删除,再把该结点的前驱结点和后驱节点连接,来实现这个学生信息的删除.
②修改修改用户指定的学生信息,这部分是利用输入学生的学号,来找到存储该学生信息的结点,通过该结点的链域来修改其中的值域,来实现对学生信息的修改.
4.查询部分
①按名字查询输出用户查询的学生信息,这部分是利用输入学生的姓名,来找到存储该学生信息的结点,输出该结点的值域中的内容,来实现对学生信息的查询功能.
②按学号查询输出用户查询的学生信息,同上,只是查询条件为学号.
5.要求与限制条件
①.各模块间通过菜单切换和调用
②.主函数通过调用菜单函数实现对各功能模块的调用,各功能模块间根据需要可相互调用。
③.程序能够保证各模块功能的独立和数据共享。
不使用全局变量则能保证函数之间的独立性,利用形参与实参之间的数值传递来实现数据共享。
算
法
描
述
步
骤
#include"
iostream"
string"
fstream"
conio.h"
usingnamespacestd;
classStudent//定义了一个学生的类
{
public:
charNum[20];
//学生信息所包含的信息
charName[20];
charSex[20];
charBorn[20];
charCol[20];
Student*Next;
voidInput();
voidDisplay();
voidRead(istream&
in);
};
voidStudent:
:
Display()//输出学生信息
//cout<
<
"
**学号**"
**姓名**"
**性别**"
**出生年月**"
**学院**"
**邮箱**"
\n"
;
cout<
Num<
"
Name<
Sex<
Born<
Col<
endl;
}
Input()//输入学生信息
cout<
输入学生的学号:
cin>
>
Num;
输入学生的姓名:
Name;
输入学生的性别:
Sex;
输入学生的出生年月:
Born;
输入学生的学院:
Col;
Read(istream&
in)//从文件中读取信息
in>
Num>
Name>
Sex>
Born>
//*******建立学生信息的类
classStudentinformation
Studentinformation();
~Studentinformation();
Student*Head,*End;
voidMenu();
voidFind();
voidSave();
voidModify();
voidDelect();
voidSwap(Student*,Student*);
voidSort();
voidDisplaym();
/*{
ifstreaminfile("
student.txt"
);
//Student*p=Head->
Next;
p!
=End;
p=p->
Next
for(Student*p=Head->
Next)
{
//infile.read((char*)p,sizeof(p));
p->
Display();
}
infile.close();
输入任意字符以继续"
getch();
}*/
voidAdd();
/*{
//End->
Next=newStudent;
//End=End->
Student*p;
p=End;
ofstreamoutfile("
End->
Input();
outfile<
学号:
End->
Num<
姓名:
Name<
性别:
出生日期:
Born<
学院:
-------------------------------------------------------------------"
outfile.close();
End=End->
添加成功!
输入任意字符!
继续……"
private:
ifstreamin;
ofstreamout;
Student*FindName(char*Name)
for(Student*p=Head;
p->
Next!
Next)
if(!
strcmp(p->
Next->
Name,Name))
returnp;
}
returnNULL;
Student*FindNum(char*Num)
for(Student*p=Head;
Num,Num))
//********构造函数
Studentinformation:
Studentinformation()
Head=newStudent;
Head->
End=Head->
in.open("
in)
这是一个新系统,无学生信息。
请先输入。
else
while(!
in.eof())
Read(in);
if(End->
Name[0]=='
\0'
)
break;
in.close();
\t\t读取学生信息成功!
//********析构函数
~Studentinformation()
for(Student*temp;
Head->
temp=Head->
Next=Head->
deletetemp;
deleteHead,End;
//*******菜单显示
voidStudentinformation:
Menu()
〓〓〓〓〓〓〓〓〓〓☆学生成绩管理系统☆〓〓〓〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓★★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓〓〓★☆1.增加学生信息☆★〓〓〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓〓〓★☆2.显示学生信息☆★〓〓〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓〓〓★☆3.排序统计信息☆★〓〓〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓〓〓★☆4.查找学生信息☆★〓〓〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓〓〓★☆5.删除学生信息☆★〓〓〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓〓〓★☆6.修改学生信息☆★〓〓〓〓〓〓〓〓〓"
〓〓〓〓〓〓〓〓〓★☆0.安全退出系统☆★〓〓〓〓〓〓〓〓〓"
\n\t\t\n\t\t请选择:
Add()
ofstreamoutfile("
Displaym()
//infile.read((char*)p,sizeo