学生信息管理系统Word文档格式.docx
《学生信息管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
(2)完成设计过程:
40分;
(3)完成调试:
(4)回答问题:
20分。
5)参考文献:
(1)谭浩强.C++程序设计.北京:
清华大学出版社,2008
(2)
(3)
6)课程设计进度安排
内容天数 地点
构思及收集资料2 图书馆
编程设计与调试5 实验室
撰写论文3 图书馆、实验室
学生签名:
2012年6月18日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (20分):
(3)完成调试 (20分):
(4)翻译能力 (20分):
(5)回答问题 (20分):
(6)格式规范性及考勤是否降等级:
是( )、否( )
评阅人:
职称:
2012年6月日
目 录
一、总体设计4
二、详细设计5
2.1.系统的设计思路5
2.2.类的设计与函数实现5
2.3.源程序6
2.4.测试情况20
三、小结22
四、参考文献23
一、总体设计
(描述该系统主要解决的问题以及主要的功能模块)
字体为宋体五号字,行间距为1.1倍。
以下同.
1.该学生信息管理系统主要解决的问题学校更好地管理了解学生信息以及学生的学习情况。
2.
该学生信息管理系统主要的功能模块如下:
二、详细设计
2.1.系统的设计思路
(描述系统的设计思想,系统的实现方法的介绍,如果文字描述不清楚的话,建议用流程图来描述会更清楚。
)
1.我设计的学生信息管理系统,通过c++文件流开辟磁盘空间来存储学生信息的,该系统中,我定义了一个学生类。
2.学生类中包含了学生的学号,姓名,性别,物理成绩,数学成绩,英语成绩,c++成绩,学分,学生总分等学生信息。
3.该学生信息管理系统中有七个函数类实现以下功能:
(1)建立学生类。
(2)学生信息的初始化。
(3)字符串信息的输出。
(4)学生信息的添加、修改、删除、查找。
(5)学生信息的输出。
(6)对学生信息按学分、成绩排序。
(7)计算一门课的平均分和总分。
2.2.类的设计与函数实现
(主要写出该系统中用到的类,类与类之间的关系,以及函数的主要功能,主要参数的介绍)
1.该学生信息管理系统中定义student类。
2.输入函数voidadd():
用来输入学生信息。
3.添加函数voidadi():
用来添加未输入学生信息。
4.修改函数voidchance():
用来修改输入或者添加时的错误数据。
5.删除函数voiddel():
用来删除学生信息。
6.显示函数voiddisplay():
用来输出全部的学生信息。
7.排序函数voidpaixv():
通过学生的学分来排序,并输出排序后的学生信息。
2.3.源程序
(给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参数的含义和函数返回值的含义。
#include<
iostream>
fstream>
string>
iomanip>
usingnamespacestd;
#defineM200//可以存信息总量
intN=0;
voidmeun();
//学生总量
classstudent
{
public:
student();
voidset();
//初始化信息,第一次对信息的输入
voidadd();
//添加学生信息
voiddel();
//删除学生信息
voidchance();
//修改学生信息
voidsearch();
//查询学生信息
voiddisplay();
//显示全部学生信息
voidpaixv();
//学生学分排序
private:
staticintnum;
stringname,sex;
floatphysic_score,math_score,English_score,c_score,total_score,xuefan;
};
intstudent:
:
num=000;
student:
student(){}
voidstudent:
set()//学生信息输入函数
{
inti;
stringsetname,setsex;
floatsetphysic_score,setmath_score,setEnglish_score,setc_score,settotal_score,setxuefan;
ofstreamoutfile;
outfile.open("
f1.txt"
ios:
out);
//-----打开文件------
if(!
outfile)
cerr<
<
"
openerror"
endl;
exit
(1);
}
//---------依次录入相应个数的学生信息--------
for(i=0;
i<
M;
i++)
cout<
当输入姓名为'
0’时,停止输入"
请输入姓名"
cin>
>
setname;
name=setname;
if(setname=="
0"
)break;
if(setname!
="
{
N++;
num++;
outfile<
num<
"
;
setname<
cout<
请输入性别:
cin>
setsex;
sex=setsex;
setsex<
请输入物理成绩:
setphysic_score;
physic_score=setphysic_score;
setphysic_score<
请输入数学成绩:
setmath_score;
math_score=setmath_score;
setmath_score<
请输入英语成绩:
setEnglish_score;
English_score=setEnglish_score;
setEnglish_score<
请输入c++成绩:
setc_score;
c_score=setc_score;
setc_score<
请输入学分:
setxuefan;
xuefan=setxuefan;
setxuefan<
请输入总成绩:
settotal_score;
total_score=settotal_score;
settotal_score<
}
outfile.close();
//-------关闭文件--------
add()//学生信息添加函数
//--------以追加的方式录入信息,直接将信息追加到以前文件的末尾----------
ofstreamoutfile("
app);
N=N+1;
//----------依次输入相应的数据,并将信息追加到之前的文件的末尾---------
输入您要添加的数据"
请输入姓名:
outfile.close();
您已添加成功"
voidstudent:
del()//删除学生信息函数
intk,i;
intnum[M];
floatphysic_score[M],math_score[M],English_score[M],c_score[M];
floattotal_score[M],xuefan[M];
ifstreaminfile("
//打开f1.txt文件
infile)
N;
infile>
num[i];
setw(5)<
sex[i];
name[i];
physic_score[i];
math_score[i];
English_score[i];
c_score[i];
xuefan[i];
total_score[i];
total_score[i]<
你想删除那个"
k;
k=k-1;
infile.close();
//关闭f1.txt文件
//退出程序
//---------将数组存取的信息输出到文件中去--------
if(i!
=k)
outfile<
num[i]<
sex[i]<
name[i]<
physic_score[i]<
math_score[i]<
English_score[i]<
c_score[i]<
xuefan[i]<
N=N-1;
已删除成功"
chance()//修改学生信息函数
inti,k;
intnum[M];
floatphysic_score[M],math_score[M],English_score[M],c_score[M];
in);
你想修改第几个数据"
请输入新的数据"
name[k];
sex[k];
cin>
physic_score[k];
math_score[k];
English_score[k];
c_score[k];
xuefan[k];
total_score[k];
for(i=0;
已修改成功"
search()//学生信息查询函数
inti,j,w=0,num,a[i];
charch;
stringsearchname,name,sex,c[M][2];
floatphysic_score,math_score,English_score,c_score,total_score,xuefan,b[M][6];
按学号查找"
}
infile>
num;
a[i]=num;
c[i][0]=sex[i];
c[i][1]=name[i];
physic_score;
b[i][0]=physic_score;
math_score;
b[i][1]=math_score;
English_score;
b[i][2]=English_score;
c_score;
b[i][3]=c_score;
xuefan;
b[i][4]=xuefan;
total_score;
b[i][5]=total_score;
请输入学号!
intn;
n;
if(a[i]==n)
w=1;
学号"
a[i]<
姓名"
c[i][0]<
性别"
c[i][1]<
物理成绩"
b[i][0]<
cout<
数学成绩"
b[i][1]<
英语成绩"
b[i][2]<
c++成绩"
b[i][3]<
学分"
b[i][4]<
总成绩"
b[i][5]<
if(w==0)
无此人信息"
display()//显示全部学生信息函数
intk,num;
floatphysic_score,math_score,English_score,c_score,total_score,xuefan;
学号"
setw(8)<
性别"
物理"
数学"
英语"
c++"
总分"
for(k=0;
k<
k++)
name;
sex;
Engli