学生信息管理系统.docx
《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
学生信息管理系统
《C++语言程序设计》课程
课程设计
(二○一三至二○一四学年度第二学期)
课程题目:
学生信息管理系统
学生姓名:
学生学号:
所在学院:
信息科学技术
年级专业:
信息与计算科学
任课教师:
完成日期:
2014年6月30日
一、问题描述
设计一个学生信息管理系统完成学生管理基本业务。
每位同学信息包括学号、名字、性别、专业、成绩。
系统主要功能如下:
信息入库:
增加新的学生信息;
信息查询:
给定名字或学号,迅速给出其他信息;
信息删除:
按名字或学号,删除其所有信息;
信息修改:
按名字或学号,修改其信息;
成绩排序:
按照成绩对学生排序,给出排序后的学生信息列表。
二、问题分析
1、学生基本信息的录入和保存:
这部分的功能主要包括信息的录入和保存。
首先进入主菜单界面,按照界面的提示选择进入录入信息功能,按照程序的提示分别录入学生的学号、姓名、性别、各科成绩,在录入信息的同时系统会自动缓冲存储录入的信息,并最终自动保存到文件。
输入完毕后请按任意键可自动返回到主菜单界面。
2、按学生的姓名或学号查询此学生信息:
此功能可以根据用户输入的要查询的学生的姓名或学号查询该生的信息并在屏幕上输出该学生的所有信息。
3、删除指定学生的信息:
此功能可以根据用户输入的要删除的学生的学号或姓名,在文件中删除该生的所有信息。
4、信息修改指定学生信息:
由于修改程序比较繁杂,可以将信息删除与信息入库结合完成此功能。
5、成绩排序学生名次:
由于信息入库时没有规律,可以将信息库中的成绩进行排序,以便找到优秀同学的信息
三、算法设计
1、用到函数:
sort:
排序函数
paixu:
算法
charinter_face();//主界面
voidinputInformation();//输入信息
voidsaveNew();//保存文件
voidalter();//修改
voidaddStudent()//添加学生成绩
voiddelStudent();//按姓名删除学生信息
voiddelStudent1();//按学号删除学生信息
voidinquireName();//按姓名查询
voidinquireNumber();//按学号查询
voidshowAll();//显示所有信息
voiddelAll();//删除所有
voidbaocun();//显示保存
voidstudentHelp();//帮助
2、Student类的完整表示:
Student
-allscore:
double
-average:
double
-name:
string
-number:
string
-sex:
string
-froession:
string
-cpro,english,math,sport,physics:
double
+Student();
+Student(stringna,stringnumber,stringsex,stringfression,doublecc,doubleenglish,doublemath,doublesport,doubleel,doubleas,doubleav);
+inter_face():
char
+inputInformation():
void
+saveNew():
void
+alter():
void
+addStudent():
void
+delStudent():
void
+delStudent1():
void
+inquireName():
void
+inquireNumber():
void
+showAll():
void
+delAll():
void
+baocun():
void
+studentHelp():
void
3、Paixu类的数据成员:
Paixu
-allscore:
double
-average:
double
-name:
string
-number:
string
-sex:
string
-froession:
string
-cpro,english,math,sport,physics:
double
四、程序详细清单
源代码:
头文件:
#ifndef_STUDENT_H_
#define_STUDENT_H_
#include
#include
usingnamespacestd;
classpaixu{
public:
doubleallscore;//总成绩
doubleaverage;//平均成绩
stringname;//姓名
stringnumber;//学号
stringsex;//性别
stringprofession;//专业
doublecpro,english,math,sport,physics;//c++,英语,数学,体育,物理
};
classStudent{
private:
doubleallscore;//总成绩
doubleaverage;//平均成绩
stringname;//姓名
stringnumber;//学号
stringsex;//性别
stringprofession;//专业
doublecpro,english,math,sport,physics;//c++,英语,数学,体育,物理
public:
Student();
Student(stringna,stringnumber,stringsex,stringprofession,doublecc,doubleenglish,doublemath,doublesport,doubleel,doubleas,doubleav);charinter_face();//首页
voidinputInformation();//输入信息界面
voidsaveNew();
voidalter();//修改信息
voidaddStudent();//增加学生成绩
voiddelStudent();//删除学生信息
voiddelStudent1();
voidinquireName();//按姓名查询
voidinquireNumber();//按学号查询
voidshowAll();//显示所有信息
voiddelAll();//删除所有
voidbaocun();
voidstudentHelp();
};
#endif
//student.cpp
#include
#include
#include
#include
#include
usingnamespacestd;
structrecord
{
Studentobject;
record*prior;
record*next;
};
Student:
:
Student(){};
Student:
:
Student(stringna,stringnumber,stringsex,stringprofession,doublecc,doubleenglish,doublemath,doublesport,doubleel,doubleas,doubleav)
{
name=na;
this->number=number;
this->sex=sex;
this->profession=profession;
this->cpro=cc;
this->english=english;
this->math=math;
this->sport=sport;
this->physics=el;
this->allscore=as;
this->average=av;
}
charStudent:
:
inter_face()
{
system("cls");//调獭用系统命令cls清除屏幕上所有的文字
cout<cout<<"~~o(>_<)o~~~~o(>_<)o~~~~~~o(>_<)o~~~~~~o(>_<)o~~~~~~o(>_<)o~~~~o(>_<)o~~"<cout<<"※学生信息管理系统※"<cout<<"※0、输入学生成绩1、增加学生成绩※"<cout<<"※2、按姓名查询成绩3、按学号查询成绩※"<cout<<"※4、按姓名删除成绩5、按学号删除成绩※"<cout<<"※6、修改信息7、按平均成绩的升序输出所有学生成绩※"<cout<<"※8、删除所有人成绩¨信息9、退出系统※"<cout<<"※a、保存文件s、帮助※"<cout<<"~~o(>_<)o~~~~o(>_<)o~~~~~~o(>_<)o~~~~~~o(>_<)o~~~~~~o(>_<)o~~~~o(>_<)o~~"<cout<<"*******************************************************************************"<cout<<"请输入0--9或a、s序号进行相对应的操作";
charchoose;
cin>>choose;
fflush(stdin);//清除缓冲区
returnchoose;
}
voidStudent:
:
saveNew()
{
ofstreamoutData("student.txt",ios_base:
:
app);
if(!
outData)
{
cout<文件t不能打开"<system("pause");
return;
}
outData<:
left)<<outData.close();
}
voidStudent:
:
inputInformation()
{
cout<<<"姓名:
";
cin>>name;
cout<<"学号:
";
cin>>number;
cout<<"性别:
";
cin>>sex;
cout<<"专业:
";
cin>>profession;
cout<<"C++:
";
cin>>cpro;
cout<<"英语:
";
cin>>english;
cout<<"高数:
";
cin>>math;
cout<<"体育:
";
cin>>sport;
cout<<"物理:
";
cin>>physics;
allscore=cpro+english+math+sport+physics;
average=allscore/5;
saveNew();
cout<"<system("pause");
}
voidStudent:
:
addStudent()
{
cout<<<"姓名:
";
cin>>name;
cout<<"学号:
";
cin>>number;
cout<<"性别:
";
cin>>sex;
cout<<"专业:
";
cin>>profession;
cout<<"C++:
";
cin>>cpro;
cout<<"英语:
";
cin>>english;
cout<<"高数:
";
cin>>math;
fflush(stdin);
cout<<"体育:
";
cin>>sport;
cout<<"物理:
";
cin>>physics;
allscore=cpro+english+math+sport+physics;
average=allscore/5;
saveNew();
cout<"<system("pause");
}
voidStudent:
:
delStudent()
{
ofstreamoutData("text.txt",ios:
:
out);
ifstreaminData("student.txt",ios:
:
in);
if(!
outData||!
inData)
{
cout<找不到文件t!
"<system("pause");
return;
}
stringsign;
cout<";
cin>>sign;
stringstr1;
boolflag=true;
stringstr;
while(inData>>name)
{
getline(inData,str);
if(sign==name)
{
cout<"<cout<cout<:
left)<<cout<:
left)<flag=false;
break;
}
outData<:
left)<}
if(flag)
{
cout<成绩单中没你找的人!
"<}
else
{
while(getline(inData,str))
{
outData<}
outData.close();
inData.close();
ofstreamout("student.txt",ios:
:
out);
ifstreamin("text.txt",ios:
:
in);
if(!
out||!
in)
{
cout<"<system("pause");
return;
}
while(getline(in,str))
{
out<}
out.close();
in.close();
cout<"<}
system("pause");
}
voidStudent:
:
delStudent1()
{
ofstreamoutData("text.txt",ios:
:
out);
ifstreaminData("student.txt",ios:
:
in);
if(!
outData||!
inData)
{
cout<找不到文件t!
"<system("pause");
return;
}
stringsign;
cout<";
cin>>sign;
stringstr1;
boolflag=true;
stringstr;
while(inData>>name>>number)
{
getline(inData,str);
if(sign==number)
{
cout<"<cout<cout<:
left)<<<<"高数"<<<"总成绩¨"<cout<:
left)<flag=false;
break;
}
outData<:
left)<}
if(flag)
{
cout<成绩单中没你找的人!
"<}
else
{
while(getline(inData,str))
{
outData<}
outData.close();
inData.close();
ofstreamout("student.txt",ios:
:
out);
ifstreamin("text.txt",ios:
:
in);
if(!
out||!
in)
{
cout<"<system("pause");
return;
}
while(getline(in,str))
{
out<}
out.close();
in.close();
cout<"<}
system("pause");
}
voidStudent:
:
delAll()
{
ofstreamoutData("student.txt",ios:
:
out);
cout<<"已经删除所有人的成绩信息"<system("pause");
}
voidStudent:
:
inquireName()
{
ifstreaminData("student.txt",ios:
:
in|ios_base:
:
binary);
ofstreamoutData("text.txt",ios:
:
out);
charch;
if(!
inData)
{
cout<没有你要找的文件t!
"<system("pause");
return;
}
stringsign;
cout<";
cin>>sign;
fflush(stdin);
boolflag=true;
stringstr;
while(inData>>name)
{
getline(inData,str);
if(name==sign)
{
cout<:
left)<<<"高数"<cout<:
left)<flag=false;
system("pause");
break;
}
}
}
voidStudent:
:
inquireNumber()
{
ifstreaminData("student.txt",ios:
:
in|ios_base:
:
binary);
ofstreamoutData("text.txt",ios:
:
out);
charch;
if(!
inData)
{
cout<没有你要找的文件t!
"<system("pause");
return;
}
stringsign;
cout<";
cin>>sign;
fflush(stdin);
boolflag=true;
stringstr;
while(inData>>name>>number)
{
getline(inData,str);
if(number==sign)
{
cout<:
left)<