学生成绩系统课程设计.docx

上传人:b****5 文档编号:2928502 上传时间:2022-11-16 格式:DOCX 页数:19 大小:90.15KB
下载 相关 举报
学生成绩系统课程设计.docx_第1页
第1页 / 共19页
学生成绩系统课程设计.docx_第2页
第2页 / 共19页
学生成绩系统课程设计.docx_第3页
第3页 / 共19页
学生成绩系统课程设计.docx_第4页
第4页 / 共19页
学生成绩系统课程设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

学生成绩系统课程设计.docx

《学生成绩系统课程设计.docx》由会员分享,可在线阅读,更多相关《学生成绩系统课程设计.docx(19页珍藏版)》请在冰豆网上搜索。

学生成绩系统课程设计.docx

学生成绩系统课程设计

太原工业学院计算机工程系

课程设计

课程名称

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<<"学号:

"<Num<<"\n"<<"姓名:

"<Name<<"\n"<<"性别:

"<Sex<<"\n"<<"出生日期:

"<Born<<"\n"<<"学院:

"<Col<

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<<"学号:

"<Num<<"\n"<<"姓名:

"<Name<<"\n"<<"性别:

"<Sex<<"\n"<<"出生日期:

"<Born<<"\n"<<"学院:

"<Col<

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1