学生成绩系统课程设计.docx
- 文档编号:2928502
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:19
- 大小:90.15KB
学生成绩系统课程设计.docx
《学生成绩系统课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩系统课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
学生成绩系统课程设计
太原工业学院计算机工程系
课程设计
课程名称
C++
班级
实验日期
2014.7.1
姓名
学号
实验成绩
实验名称
学生信息管理系统
实
验
目
的
及
要
求
1、通过对班级学生信息管理系统的开发,学会在软件开发中用软件工程的方法和基本思想。
2、加深理解多文档编程的思想,掌握对各个源文件进行处理的方式。
3.会使用C++语言对文件进行读取、修改,保存等操作。
4、学会熟练使用各种结构来完成程序。
学生信息包括:
学号、姓名、年龄、性别、出生年月、地址、E-mail等。
系统功能要求:
(1)录入学生信息
(2)修改学生信息
(3)删除学生信息
(4)按学号或姓名查询学生信息
(5)按学号或姓名对学生信息进行排序
实
验
环
境
VC++6.0
实
验
内
容
实验内容
1.输入部分
通过键盘输入多位学生的学生信息。
学生的信息包含有:
学生姓名、性别、学号、出生年月、年龄等。
此次做的学生管理系统是利用链表而完成的程序,故第一部分想要实现建立链表
2.输出部分
输出当前已存储的学生信息
3.更新部分
①删除删除用户指定的学生信息,这部分的功能是输入学生的学号,找到其在链表中存储的结点处,并将这整个结点删除,再把该结点的前驱结点和后驱节点连接,来实现这个学生信息的删除.
②修改修改用户指定的学生信息,这部分是利用输入学生的学号,来找到存储该学生信息的结点,通过该结点的链域来修改其中的值域,来实现对学生信息的修改.
4.查询部分
①按名字查询输出用户查询的学生信息,这部分是利用输入学生的姓名,来找到存储该学生信息的结点,输出该结点的值域中的内容,来实现对学生信息的查询功能.
②按学号查询输出用户查询的学生信息,同上,只是查询条件为学号.
5.要求与限制条件
①.各模块间通过菜单切换和调用
②.主函数通过调用菜单函数实现对各功能模块的调用,各功能模块间根据需要可相互调用。
③.程序能够保证各模块功能的独立和数据共享。
不使用全局变量则能保证函数之间的独立性,利用形参与实参之间的数值传递来实现数据共享。
算
法
描
述
及
实
验
步
骤
#include"iostream"
#include"string"
#include"fstream"
#include"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< } voidStudent: : Input()//输入学生信息 { cout<<"输入学生的学号: "; cin>>Num; cout<<"输入学生的姓名: "; cin>>Name; cout<<"输入学生的性别: "; cin>>Sex; cout<<"输入学生的出生年月: "; cin>>Born; cout<<"输入学生的学院: "; cin>>Col; } voidStudent: : Read(istream&in)//从文件中读取信息 { in>>Num>>Name>>Sex>>Born>>Col; } //*******建立学生信息的类 classStudentinformation { public: 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;p! =End;p=p->Next) { //infile.read((char*)p,sizeof(p)); p->Display(); } infile.close(); cout<<"输入任意字符以继续"; getch(); }*/ voidAdd(); /*{ //End->Next=newStudent; //End=End->Next; Student*p; p=End; ofstreamoutfile("student.txt"); End->Input(); outfile<<"学号: "< "< "< "< "< outfile<<"-------------------------------------------------------------------"< outfile.close(); End->Next=newStudent; End=End->Next; cout<<"添加成功! "< cout<<"输入任意字符! 继续……"; getch(); }*/ private: ifstreamin; ofstreamout; Student*FindName(char*Name) { for(Student*p=Head;p->Next! =End;p=p->Next) if(! strcmp(p->Next->Name,Name)) { returnp; } returnNULL; } Student*FindNum(char*Num) { for(Student*p=Head;p->Next! =End;p=p->Next) if(! strcmp(p->Next->Num,Num)) { returnp; } returnNULL; } }; //********构造函数 Studentinformation: : Studentinformation() { Head=newStudent; Head->Next=newStudent; End=Head->Next; in.open("student.txt"); if(! in) cout<<"这是一个新系统,无学生信息。 请先输入。 "< else { while(! in.eof()) { End->Read(in); if(End->Name[0]=='\0') break; End->Next=newStudent; End=End->Next; } in.close(); cout<<"\t\t读取学生信息成功! "< } } //********析构函数 Studentinformation: : ~Studentinformation() { voidSave(); for(Student*temp;Head->Next! =End;) { temp=Head->Next; Head->Next=Head->Next->Next; deletetemp; } deleteHead,End; } //*******菜单显示 voidStudentinformation: : Menu() { cout<<"〓〓〓〓〓〓〓〓〓〓☆学生成绩管理系统☆〓〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓★★★★★★★★★★★★★★★★★〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆1.增加学生信息☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆2.显示学生信息☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆3.排序统计信息☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆4.查找学生信息☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆5.删除学生信息☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆6.修改学生信息☆★〓〓〓〓〓〓〓〓〓"< cout<<"〓〓〓〓〓〓〓〓〓★☆0.安全退出系统☆★〓〓〓〓〓〓〓〓〓"< cout<<"\n\t\t\n\t\t请选择: "; } voidStudentinformation: : Add() { //End->Next=newStudent; //End=End->Next; ofstreamoutfile("student.txt"); End->Input(); outfile<<"学号: "< "< "< "< "< outfile<<"-------------------------------------------------------------------"< outfile.close(); End->Next=newStudent; End=End->Next; cout<<"添加成功! "< cout<<"输入任意字符! 继续……"; getch(); } voidStudentinformation: : Displaym() { ifstreaminfile("student.txt"); //Student*p=Head->Next;p! =End;p=p->Next for(Student*p=Head->Next;p! =End;p=p->Next) { //infile.read((char*)p,sizeo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩 系统 课程设计