面向对象程序设计+课程设计报告1Word文档下载推荐.docx
- 文档编号:4425151
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:35
- 大小:259.21KB
面向对象程序设计+课程设计报告1Word文档下载推荐.docx
《面向对象程序设计+课程设计报告1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计+课程设计报告1Word文档下载推荐.docx(35页珍藏版)》请在冰点文库上搜索。
提交课程设计报告。
指导教师签章:
教研室主任签章
面向对象程学设计课程设计指导教师评语与成绩
指导教师评语:
课程设计表现成绩:
课程设计验收成绩:
课程设计报告成绩:
课程设计总成绩:
指导教师签章
2012年7月6日
第1章需求分析4
1.1性能需求4
1.2功能需求4
第2章概要设计5
2.1功能模块设计5
2.2类的分析与设计7
第3章程序设计9
3.1录入函数9
3.2查找函数9
3.3删除函数10
3.4显示函数11
3.5修改函数11
3.6保存函数12
3.7统计函数13
第4章用户使用说明14
第5章程序清单14
参考文献26
第1章需求分析
1.1性能需求
系统软件环境:
MicrosoftVisualC++6.0,即利用网上资料查询。
1.2功能需求
要开发学生成绩数据管理程序,首先要分析改程序应实现哪些功能。
对学生成绩管理系统程序的功能需求可描述如下:
程序运行后显示程序运行后显示学生成绩管理系统的操作界面,操作界面中有8项操作,分别有1:
录入学生信息2:
显示学生信息3:
查找学生信息4:
删除学生信息5:
修改学生信息6:
统计学生成绩7:
保存学生信息0:
退出系统这8个操作是学生成绩系统要实现的功能。
实现基本的学生成绩数据管理,如:
具有建立文件,读取文件和保存记录的功能,并可增加、显示、修改、删除、查询学生记录的功能,并能对学生成绩进行统计.其中数据的查找、数据的删除又可通过不同的方式如按学号或姓名等进行操作。
第2章概要设计
2.1功能模块设计
Show(
)函数:
所运用的几个模块整体上有个统一认识,方便了对程序的调用,节省了时间。
显示主菜单功能。
del(
该函数实现的是删除功能。
该函数虽然定义的变量不多,但通过if语句和scanf语句的使用,对文件进行了读去和运用,简便的删除所选的目标
output()函数
该函数是一个输出函数,它运用了for循环语句,本程序定义了两个变量,通过scanf语句的使用,又调用了函数SIR,实现了简洁明了的对学生成绩,姓名以及学号等进行输出
Input(
该函数是一个输入函数,它运用了for循环语句,本程序定义了两个变量,通过scanf语句的使用,又调用了函数SIR,实现了简洁明了的对学生成绩,姓名以及学号等进行键入。
found()函数
该函数实现的是查找功能。
该函数虽然定义的变量不多,但通过if语句和scanf语句的使用,对文件进行了读去和运用,简便的查找所选的目标
mend()函数
该函数实现的是修改功能。
该函数虽然定义的变量不多,但通过if语句和scanf语句的使用,对文件进行了读去和运用,简便的修改所选的目标
2.2类的分析与设计
此程序主要包含一个类student用来.对学生相关学籍信息的描述.
School.数据成员number;
name.sex.place.nation.Birth.party.id.score
Number学生学号.Name学生姓名sex学生性别place学生籍贯nation民族
Classstudent
{public:
student*next;
student(){}
~student(){}
char*getname(){returnname;
}
intgetnumber(){returnnumber;
}
doublegetscore(inti){returnscore[i];
floatgetg(){return(score[0]+score[1]+score[2]+score[3]+score[4]+score[5]);
}
classschool
{
public:
school(){head=newstudent;
head->
next=NULL;
key=0;
~school(){deletehead;
voidinput();
voidmend();
voiddel();
intfind(student**p,intnum,char*pn="
^"
);
voidfound();
voidshow();
第3章程序设计
3.1录入函数
本段函数通过链表尾插法录入学生的信息,通过while函数的使用,可以实现连续输入学生信息
voidschool:
:
input()
student*p,*p2=NULL;
p=head;
intn;
while(p->
next)
p=p->
next;
while(n)
{
p2=newstudent;
p2->
input();
p->
next=p2;
school:
setkey
(1);
cout<
<
"
\t\t\t按1继续,按0返回:
"
;
cin>
>
n;
3.2查找函数
found()
student*p;
intnum=-1,n=9;
charname[20]="
do
\t\t1:
按学号查找,2:
按姓名查找:
}while(n<
1||n>
2);
if(n==1)
\t\t\t输入学号:
num;
if(n==2)
{cout<
\t\t\t输入姓名:
name;
if(!
find(&
p,num,name))
\t\t找不到你要查找的内容!
endl;
return;
(p->
next)->
output();
/
3.3删除函数
del()
student*p,*p2;
intnum;
if(!
p,num,"
)){
\t\t找不到你要删除的内容!
p2=p->
next=p2->
deletep2;
3.4显示函数
此函数主要是遍历整个链表,用来输出ZG类链表中的所有结点,就是所有职工信息。
show()
3.5修改函数
mend()
intnum=-1,n;
按学号修改,2:
按姓名修改:
\t\t找不到你要修改的内容!
3.6保存函数
通过链表访问学校类中的信息并进行保存,其中还用while函数实现这一过程
save()
ofstreamos("
student.txt"
ios:
out);
if(school:
getkey()==1)while(p->
output(os);
cout<
\t\t\t文件已保存!
setkey(0);
3.7统计函数
通过使用链表访问shool类并使用while循环实现了这一统计
count()
intn=0;
doubleg[3]={0,0,0};
floatj[3]={0,0,0};
n++;
for(inti=0;
i<
3;
i++)
{
g[i]=g[i]+(p->
getscore(i));
getscore(i))>
=60?
j[i]++:
0;
\t\t\b\b\b\b高数总分:
g[0]<
平均分:
g[0]/n
<
及格率:
j[0]/n<
endl<
\t\t\b\b\b\b大学英语总分:
g[1]
g[1]/n<
j[1]/n<
endl
\t\t\b\b\b\b面向对象程序设计总分:
g[2]<
g[2]/n
j[2]/n<
\t\t\b\b\b\b大学物理总分:
g[3]<
g[3]/n
j[3]/n<
\t\t\b\b\b\b线性代数总分:
g[4]
g[4]/n<
j[4]/n<
\t\t\b\b\b\b大学体育总分:
g[5]<
g[5]/n
j[5]/n<
第4章用户使用说明
系统功能说明:
1录入:
作用:
用于对学生学籍信息进行输入,并保存.
方法:
先输入学生学籍信息,然后录入,最后按enter结束.你所录入的文字
就给保存到该文件里!
2显示
输入学生学号,或者姓名可以显示学生的学籍信息
3查找:
有两种,一种按学号,一种按姓名.
4删除
输入需要删除的学生的学号,或者姓名
5修改
输入需要修改的学生的学号,或者姓名
6统计:
用于对学生学习成绩进行统计
输入学生学号,或者姓名.然后按确定
7保存
.
按7,并按确定,可以保存学生学籍信息
0退出:
退出整个"
学生学籍管理系统"
按0并按确定.
第5章程序清单
#include<
iostream>
string>
fstream>
iomanip>
usingnamespacestd;
classstudent
protected:
intnumber;
charname[20];
charsex[6];
charplace[20];
charnation[6];
charbirth[20];
charparty[10];
charid[20];
floatscore[5];
voidinput()
inte=1;
\t\t\t按提示输入:
\t\t输入学号:
number;
\t\t输入姓名:
\t\t输入性别:
sex;
if(strcmp(sex,"
男"
)==0||strcmp(sex,"
女"
)==0)
\t\t输入籍贯:
place;
\t\t输入民族:
nation;
\t\t输入生日:
birth;
\t\t输入政治面貌:
party;
\t\t输入身份证号:
id;
\t\t输入高数分数:
score[0];
\t\t输入大学英语分数:
score[1];
\t\t输入面向对象程序设计分数:
score[2];
\t\t输入大学物理分数:
score[3];
\t\t输入线性代数分数:
score[4];
\t\t输入大学体育分数:
score[5];
e=0;
else
\t\t\t无此类型性别!
重新输入!
e=1;
}while(e);
return;
voidinput(ifstream&
is)
is>
number>
name>
sex>
place>
nation>
birth>
party>
id
>
score[0]>
score[1]>
score[2]>
score[3]>
score[4]>
is.get();
voidoutput()
学生基本信息如下:
学号:
number
姓名:
name
性别:
sex
籍贯:
place
民族:
nation
生日:
birth
政治面貌:
party<
身份证号:
高数:
score[0]
大学英语英语:
score[1]
面向对象程序设计:
score[2]
大学物理:
score[3]
线性代数:
score[4]
大学体育:
score[5]
总分:
getg()<
voidoutput(ofstream&
os)
os<
setw(6)<
setw(15)<
setw(20)<
party
score[5]<
};
voidcount();
voidsave();
voidbegin();
voidclear();
charmainmenu();
intgetkey(){returnkey;
voidsetkey(intk){key=k;
private:
student*head;
intkey;
//主选菜单函数
charschool:
mainmenu()
charn[6];
\n\n☆☆☆☆Welcometothestudentmanagementsystem☆☆☆☆"
作者:
计11-1班田媛媛梁娟迟苗苗"
****************************"
**1:
录入学生信息**"
**2:
显示学生信息**"
**3:
查找学生信息**"
**4:
删除学生信息**"
**5:
修改学生信息**"
**6:
统计学生成绩**"
**7:
保存学生信息**"
**0:
退出系统**"
请选择:
returnn[0];
//录入函数
p2=new
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 课程设计 报告