PfnasmC课程设计报告Word文件下载.docx

上传人:b****2 文档编号:4571998 上传时间:2023-05-03 格式:DOCX 页数:58 大小:187.63KB
下载 相关 举报
PfnasmC课程设计报告Word文件下载.docx_第1页
第1页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第2页
第2页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第3页
第3页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第4页
第4页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第5页
第5页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第6页
第6页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第7页
第7页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第8页
第8页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第9页
第9页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第10页
第10页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第11页
第11页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第12页
第12页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第13页
第13页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第14页
第14页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第15页
第15页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第16页
第16页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第17页
第17页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第18页
第18页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第19页
第19页 / 共58页
PfnasmC课程设计报告Word文件下载.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

PfnasmC课程设计报告Word文件下载.docx

《PfnasmC课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《PfnasmC课程设计报告Word文件下载.docx(58页珍藏版)》请在冰点文库上搜索。

PfnasmC课程设计报告Word文件下载.docx

1-录入学生信息2查询学生信息3-修改学生的信息-3增加学生的信息-4删除学生的信息5-总分排序-6浏览学生信息7-求各课程平均成绩-8求合格率-9浏览关机后学生信已经过全面的系统测试,能够很好的运行,达到了预期的效果。

关键词:

系统设计数据库信息功能模块-录入查询修改

增加删除总分排序浏览平均成绩合格率关机后

摘要Ⅰ

第1章绪论1

1.1课题研究的目的1

1.2选题的目的及意义5

1.3课程设计环境.....................................................

第2章系统需求分析12

2.1问题描述................................................

2.2功能要求.................................................

2.3问题的解决方案...............................................

第3章系统开发的技术背景17

3.1数据设计.............................................

3.1.1类设计。

...............................................

3.1.2类之间的关系...........................................

3.1.3函数设计..............................................

3.2结构设计...............................................

第4章系统实现.......................................................

4.1类实现............................................................

4.2函数实现......................................................

4.3主函数实现......................................................

第5章系统测试25

5.1模块测试25

5.2课程设计过程中遇到的问题..............................

总结37

致谢38

参考文献39

附录40

第一章绪论

1.1课程设计的目的

1)要求学生能够熟练掌握C++语言的基本知识和技能。

2)基本掌握面向对象程序设计的基本思路和方法。

3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

1.2课程设计的背景和意义

1.2.1课程设计的背景

当前的各个大学,中学,小学都需要拥有一套完善的,并且适合自身特点的学生信息管理系统,用它来管理学生信息。

2.技术层面的支持

1.2.2课程设计的意义

实现对学生信息的统一管理。

从而提高管理人员的工作效率。

1.3课程设计环境

MicrosoftVisualC++6.0笔记本电脑(显示器,鼠标等)

第二章需求分析

2.1问题描述

某校学生信息包括学号、姓名、性别、班级、三门课成绩和总成绩。

设计一程序实现对学生信息的管理,

2.2功能要求

(1)本程序完成的功能主要有:

1)添加学生信息。

2)删除学生信息。

(2)学生在完成本次课程设计的基本要求后,从便于用户使用和功能完整性的角度考虑进一步完善程序,请参照题目1和2的要求。

2.3问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

2)分析系统中的各个实体及它们之间的关系;

3)根据问题描述,设计系统的类层次;

4)完成类层次中各个类的描述;

5)完成类中各个成员函数的定义;

6)完成系统的应用模块;

7)功能调试;

8)完成系统总结报告。

第3章系统设计

3.1数据设计

3.1.1类设计。

Brick类

Student类

charname[5];

姓名

charsex;

性别

intschoolnumber;

学号

chargrade[7];

班级

intmath;

数学

intenglish;

英语

intc;

c++

intssum总分

brick;

staticintn;

统计文本中对象个数

students[100];

存放输入的数据

studentt;

比较后交换s[i]与s[i+1]的值

intsum();

求和函数

voidinput()输入数据函数

voidoutput()输出数据函数

brick(){}构造函数

voidcreate();

创建函数

voiddisplay();

显示函数

voidsearch();

查找函数

voidmodify();

修改编辑函数

voidadd();

添加函数

voiddeleted();

删除函数

voidaverage();

平均分函数

voidsort();

排序函数

voidhegelv();

求合格率函数

3.1.2类之间的关系

友元类

classstudent

friendclassbrick;

//模块类中定义模块函数

brickvoidcreate();

通过students[100];

调用student类中的数据成员charname[5];

intssum;

3.1.3函数设计

主函数算法

输入的字符存入choose变量中

在主函数中需要输出主菜单选择界面,

cout<

<

"

-------------s-浏览关机后学生信息---\n"

;

cout<

-------------1-录入学生信息-----------\n"

-------------2-查询学生信息-----------\n"

-------------3-修改学生的信息----------\n"

-------------4-增加学生的信息--------\n"

-------------5-删除学生的信息---------\n"

-------------6-总分排序--------------\n"

-------------7-浏览学生信息---------\n"

-------------8-求各课程平均成绩------\n"

-------------9-求合格率-----------\n"

------------t-退出\n"

请选择:

--------\n"

switch(choose)

{

case'

1'

:

-1-录入学生信息

case'

2'

-2-查询学生信息-

3'

-修改学生的信息-

ase'

4'

-增加学生的信息

5'

删除学生的信息--

6'

总分排序

7'

-浏览学生信息-

8'

求各课程平均成绩----

9'

求合格率

s'

-s-浏览关机后学生信息}

接着判断用户是否继续选择,若继续则从新获得用户输入,否则退出程序。

//求和函数算法,直接在sum函数中使数学,英语,c++的分数相加

//创建函数算法,创建一个文本文件,并从键盘输入的数据存放在文本文件中,不传递参数

//显示函数算法,打开学生信息管理系统文本文件,通过循环读取数据,并将数据一一输出到屏幕上,不传递参数

/修改编辑函数算法,打开学生信息管理系统文本文件,从文件中通过循环读取数据

并将它们存放students[100]中,对数据进行修改,最后再将数据存放到信息管理系统文本文件中,修改过程是:

输入需修改记录的学生号,通过循环查找到该记录后,再输入

新数据替代原有数据。

//查找函数算法,打开学生信息管理系统文本文件,从文件中通过循环读取数据

并将它们存放students[100]中,输入需修改记录的学生号,通过循环查找到该记录后,并将数据一一输出到屏幕上,不传递参数。

//添加函数算法,打开学生信息管理系统文本文件,从文件中通过循环读取数据

并将它们存放到students[100]中,输入新添加学生的学号和相应的信息,并将数据存放到students[100]中,每输入一条数据,记录数n加1.

//平均分函数算法,打开学生信息管理系统文本文件,从文件中通过循环读取数据

并将它们存放students[100]中,定义变量ch,输入ch,当输入m或M时,将数学成绩求和存入s1变量中,再输出s1除于记录数n的结果;

当输入e或E时,将英语成绩求和存入s2变量中,再输出s2除于记录数n的结果;

当输入c或C时,将C++成绩求和存入s3变量中,再输出s3除于记录数n的结果;

//求合格率函数算法,打开学生信息管理系统文本文件,从文件中通过循环读取数据

并将它们存放students[100]中,定义变量ch,输入ch,当输入m或M时,if(s[i].math>

=60)count1变量自加1,再输出count1除于记录数n的结果;

当输入e或E时,if(s[i].english>

=60)count2变量自加1,再输出count2除于记录数n的结果;

当输入c或C时,if(s[i].c>

=60)count3变量自加1,再输出count3除于记录数n的结果;

/排序函数算法,打开学生信息管理系统文本文件,从文件中通过循环读取数据

并将它们存放students[100]中,if(s[i].sum>

s[i+1].sum)使s[i]与s[i+1]互换,最后用循环将所有数据存入学生信息管理系统文本文件中。

//删除函数算法,打开学生信息管理系统文本文件,从文件中通过循环读取数据

并将它们存放students[100]中,输入新删除学生的学号和相应的信息,每删除一条数据,记录数n减1.

3.2结构设计

3.2.1系统流程图

3.2.2界面设计

主菜单

合格率子菜单

平均分子菜单

第四章系统实现

4.1类实现classstudent

{public:

student(){}

voidinput()

{cout<

学号(不能重复):

cin>

>

schoolnumber;

姓名:

name;

性别:

sex;

班级:

grade;

数学:

math;

英语:

english;

c++:

c;

}

voidoutput()

schoolnumber<

'

\t'

name<

sex<

grade<

math<

english<

c<

math+english+c<

endl;

private:

};

classbrick

brick(){}

studentt};

4.2函数实现

//求和函数

intstudent:

sum()

{ints;

s=math+english+c;

returns;

}

//创建函数

voidbrick:

create()

{

ofstreamoutfile("

d:

\\f1.txt"

ios:

app);

if(!

outfile)

openerror!

return;

intm;

录入学生信息人数"

m;

//outfile<

学号,姓名,性别,班级,数学,英语,c++,总分"

学号,姓名,性别,班级,数学,英语,c++,"

请输入相关信息"

for(inti=0;

i<

i++)s[i].input();

for(i=0;

i++)

{outfile<

s[i].schoolnumber<

s[i].name<

s[i].sex<

s[i].grade<

s[i].math<

s[i].english<

s[i].c<

s[i].math+s[i].english+s[i].c<

n++;

outfile.close();

//显示函数

display()

{

学号"

姓名"

性别"

班级"

数学"

英语"

c++"

总分"

n;

s[i].output();

//查找函数

search()

intnum,i;

\n请输入学号\n"

num;

for(i=0;

if(num==s[i].schoolnumber)

//修改编辑函数

modify()

intnum,i,j;

charnam[5];

charse;

intnumber;

chargra[7];

intm;

inte;

for(i=0;

i++)

if(num==s[i].schoolnumber)

for(j=i;

j<

n-1;

j++)

s[j]=s[j+1];

学号,姓名,性别,班级,数学,英语,c++"

学号(不能与其他号重复):

number;

nam;

se;

gra;

e;

s[n-1].schoolnumber=number;

strcpy(s[n-1].name,nam);

s[n-1].sex=se;

strcpy(s[n-1].grade,gra);

s[n-1].math=m;

s[n-1].english=e;

s[n-1].c=c;

outfile<

s[n-1].schoolnumber<

\t"

s[n-1].name<

s[n-1].sex<

s[n-1].grade<

s[n-1].math<

s[n-1].english<

s[n-1].c<

s[n-1].math+s[n-1].english+s[n-1].c<

//添加函数

add()

charc;

do

录入增加学生的信息"

s[n].input();

s[n].schoolnumber<

s[n].name<

s[n].sex<

s[n].grade<

s[n].math<

s[n].english<

s[n].c<

s[n].math+s[n].english+s[n].c<

\\f1.txt中已经了增加"

n++;

还要增加吗(y/n)?

}while(n<

100&

&

(c=='

y'

||c=='

Y'

));

//删除函数

deleted()

{inti,j;

intnum;

请输入删除学生的学生号"

if(s[i].schoolnumber==num)

{n--;

for(j=i;

e

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2