FcsicvC 课程设计报告-2009年

更新时间:2024-05-16 03:28:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现出来。

--泰戈尔

北 华 航 天 工 业 学 院

《基于C++的面向对象程序设计实例》

课程设计报告

报告题目: 学生信息管理系统

作者所在系部: 计算机科学与工程系

作者所在专业: 计算机科学与技术 作者所在班级: B08512 作 者 姓 名 : 章国龙 指导教师姓名: 侯晓芳

完 成 时 间 : 2009年6月25日星期四

北华航天工业学院教务处制

摘 要

在当前的各个大学,中学,小学都需要拥有一套完善的,并且适合自身特点的学生信息管理系统,用它来管理学生信息。如1)添加学生信息。2)删除学生信息。3)修改学生信息。4)查询学生信息。5)显示学生信息。6)综合统计(各课程平均成绩和合格率)。7)总分排序。8)保存功能:将添加、删除、修改结果保存到文本文件中。9)退出系统。以实现对学生信息的统一管理。

本文利用Microsoft Visual C++6.0编写程序实现了用户对学生信息的管理操作。

该程序中定义了student类和brick类,在brick类中定义了创建函数,显示函数,查找函数,修改编辑函数,添加函数,删除函数,排序函数,平均分函数,求合格率函数。再用这些函数调用student类对象student s[100] 实现题中要求实现的功能。 本系统主要有 十个功能模块: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 课程设计环境

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

第二章 需求分析 第二章 需求分析

2.1 问题描述

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

实现对学生信息的管理,

2.2 功能要求

(1)本程序完成的功能主要有: 12)添加学生信息。3)删除学生信息。

4)修改学生信息。5)查询学生信息。 率)。6)显示学生信息。)

综合统计(各课程平均成绩和合格7果保存到文本文件中。8)总分排序。)保存功能:将添加、

删除、

9基本要求后,从便于用户使用和功能完整 )退出系统。(2)学生在完成本次课程设计的

性的角度考虑进一步完善程序,请参照题目1和2的要求。

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

1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; 2)分析系统中的各个实体及它们之间的关系;

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

4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义;

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

7)功能调试; 8)完成系统总结报告。

第三章 系统设计 3.1 数据设计

3.1.1 类设计。

Brick类 Student类

char name[5]; 姓名 char sex; 性别 int schoolnumber; 学号 char grade[7]; 班级 int math; 数学

int english; 英语 int c; c++

int ssum 总分

brick;static int n;统计文本中对象

个数

student s[100];存放输入的数据 student t;比较后交换s[i]与s[i+1]的值

int sum();求和函数 void input()输入数据函数 void output()输出数据函数 brick(){}构造函数 void create();创建函数 void display();显示函数 void search();查找函数 void modify();修改编辑函数 void add();添加函数 void deleted();删除函数

void average();平均分函数 void sort();排序函数 void hegelv();求合格率函数 student s[100];

3.1.2 类之间的关系

友元类 class student

函数friend

class brick;//模块类中定义模块brick void display(); void create();

void search(); void modify(); void add(); void deleted(); void average(); void sort();

用student void hegelv(); 类中的数据成员通过student char s[100];name[5];

调 char sex;

int schoolnumber; char grade[7]; int math; int english; 3.1 int c; .int ssum ; 3 函数设计

主函数算法

输入的字符存入choose变量中 在主函数中需要输出主菜单选择界面,

信息cout<<\---\\n\

浏览关机后学生息-----------\\n\

cout<<\录入学生信息-----------\\n\

cout<<\查询学生信信息 ----------\\n\

cout<<\修改学生的信息 --------\\n\

cout<<\增加学生的信息 ---------\\n\

cout<<\删除学生的 cout<<\总分排序

--------------\\n\---------\\n\

cout<<\浏览学生信息成绩 ------\\n\

cout<<\求各课程平均-----------\\n\ cout<<\求合选择: --------\\n\

cout<<\

格率退出\\n\请switch(choose)

{

case'1':-1-录入学生信息

case'2'-2-查询学生信息- case'3':-修改学生的信息- ase'4':-增加学生的信息 case'5':删除学生的信息-- case'6':总分排序

case'7':-浏览学生信息- case'8':求各课程平均成绩----

case'9':求合格率

}

case's':-s-浏览关机后学生信息 接着 判断用户是否继续选择,若继续则从新获得用户输入,否则退出程序。 使数学//求和函数算法,直接在,英语,c++的分数相加

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

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

并将它们存放student s[100]中,对数据进行修改,最后再将数据存放到信息管理系统文本文件中,修改过程是:输入需修改记录的学生号,通过循环查找到该记录后,再输入

新数据替代原有数据。

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

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

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

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

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

并将它们存放student s[100]中,定义变量ch,输入ch,当输入m或M时,将数学成绩求和存入s1变量中,再输出s1除于记录数n的结果;当输入e或E时,将英语成绩求和存入s2变量中,再输出s2将除于记录数C++成绩求和存入n的结果;s3当输入变量中,再输出c或C时,s3除于记录数n的结果;

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

并将它们存放student s[100]中,定义变量ch,输入ch,当输入m或M时,if(s[i].math>=60)count1出count1除于记录数n变量自加的结果;当输入1,再输e或E时,if(s[i].english>=60)count2变量自加1,再输出count2除于记录数n的结果;当输入c或C时,if(s[i].c>=60)count3变量自加1,再输出count3除于记录数n的结果;

统文本文件,从文件中通过循环读取数据/排序函数算法,打开学生信息管理系 并将它们存放student s[100]中,if(s[i].sum>s[i+1].sum)最后用循环将所有数据存入学生信息管理使s[i]与s[i+1]互换,系统文本文件中。

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

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

3.2 结构设计

3.2.1 系统流程图

Student

Input Brick类 Sum Output 创建函数 查找函数 Search 修改函数 Modify 添加函数 Add 删除函数 Deleted 总分排序 Sort 显示函数 Display 求合格率 Hegelv 求平均分 Average 显示关机 Look Create

3.2.2 界面设计

主菜单

合格率子菜单

平均分子菜单

第四章 系统实现

4.1 类实现class student

{public: student(){} int sum(); void input()

{cout<<\学号(不能重复):\

cout<<\姓名:\cout<<\性别:\cout<<\班级:\cout<<\数学:\cout<<\英语:\cout<<\} void output()

t'<

}

函数friend

class brick;//模块类中定义模块private: char name[5]; char sex; int schoolnumber; char grade[7]; int math; int english; int c; int ssum ;

}; class brick {public:brick(){} void create(); void display(); void search(); void modify(); void add();

void deleted(); void average(); void sort(); void hegelv(); private: static int n; student s[100]; student t};

4.2 函数实现

void input()

复):\

{cout<<\学号(不

cout<<\姓名:\cout<<\性别:\cout<<\班级:\cout<<\数学:\cout<<\英语:\cout<<\}

void output()

t'<

}

//求和函数 int student::sum() { int s;

s=math+english+c; return s; }

//创建函数 void brick::create() {

ofstream outfile(\if(!outfile)

{cout<<\return; } int m;

cout<<\录入学生信息人数\cin>>m;

英语//outfile<<\,c++,总分\

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

cout<<\学号,姓名,性别,班级,数学,英cout<<\请输入相关信息\for(int i=0;i

{outfile<

e<<'\\t'<

n++;

}

outfile.close(); }

//显示函数 void brick::display() {

性别cout<<\\学班级号\\姓数学名\\英语\总分\

for(int i=0;i

//查找函数 void brick::search() { int num,i;

cout<<\请输入学号\\n\cin>>num;

性别cout<<\\学班级号\\姓数学名\\英语\总分\

for( i=0;i

//修改编辑函数 void brick::modify() { int num,i,j;

char nam[5];

char se; int number; char gra[7]; int m; int e;

int c;

cout<<\请输入学号\\n\cin>>num;

ofstream outfile(\

if(!outfile)

{cout<<\return; }

for(i=0;i

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

语,c++\

cout<<\学号,姓名,性别,班级,数学,英cout<<\请输入相关信息\复):\

cout<<\学号(不能与其他号重cout<<\姓名:\cout<<\性别:\cout<<\班级:\cout<<\数学:\cout<<\英语:\cout<<\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;

s[n-1].name<<\outfile<

outfile.close();

-1].name<<\cout<

} //添加函数 void brick::add() {

ofstream outfile(\if(!outfile)

{cout<<\return; } char c; do

语,c++\

{cout<<\学号,姓名,性别,班级,数学,英cout<<\录入增加学生的信息\s[n].input();

n].name<<\outfile<

\cout<<\中已经了增加t'<

n++;

cout<<\还要增加吗(y /n) ?\cin>>c;

}while(n<100&&(c=='y'||c=='Y')); outfile.close(); }

//删除函数 void brick::deleted() { int i,j; int num;

\

cout<<\请输入删除学生的学生号cin>>num; for( i=0;i

if(s[i].schoolnumber==num) {n--;

for( j=i;j

}

ofstream outfile(\if(!outfile)

{cout<<\return; }

\outfile<<\学号\\性别\班级\姓数学名\

英语\总分for( i=0;i

.name<<\outfile<

}

outfile.close();

cout<<\删除成功\}

void look(char *filename) {

ifstream ifs(filename,ios::in ); if(!ifs) { cerr<<\ return;

} char ch; while(ifs.get(ch))

cout.put(ch);

cout<

}

//排序函数 void brick::sort() {int i; int j;

for( i=0;i

s[i].sum(); for( j=0;js[i+1].sum()) {

t=s[i];

s[i]=s[i+1]; s[i+1]=t; } }

cout<

性别cout<<\\学班级号\\姓数学名\\英语\总分\

for( i=0;i

//平均分函数 void brick::average() {

float s1=0; float s2=0; float s3=0; char ch;

(math-m,english-e,c)\

cout<<\你要查的各平均课程cin>>ch;

switch(ch) {case'M':

case'm':{for(int i=0;i

s1=s1+s[i].math; \

cout<<\数学平

}

case'E':

case'e':{for(int i=0;i

cout<<\英语平

} case'C':

case'c':{for(int i=0;i

cout<<\平均分\

} default:cout<<\非法选项\ } }

//求合格率函数 void brick:: hegelv() {

int count1=0,count2=0,count3=0; char ch;

(math-m,english-e,c)\

cout<<\你要查的合格率课程cin>>ch; switch(ch)

{ case'M':

case'm':{for(int i=0;i

if(s[i].math>=60)count1++; cout<<(float)count1/n;break;

}

case'E':

case'e':{for(int i=0;i

if(s[i].english>=60)count2++;

cout<<(float)count2/n;break;

} case'C':

case'c':{for(int i=0;i

if(s[i].c>=60)count3++;

cout<<(float)count3/n;break;

}

default:cout<<\非法选项\}

}

4.3 主函数实现int main() {brick b;

cout<<\学生信息管理系统\

cout<<\ char choose;

//显示主菜单,接受选择,并分支调用大学类的相应功能的成员函数 do {

cout<<\学生信息管理系统------------\\n\

cout<<\浏览关机后学生信息---\\n\

cout<<\录入学生信息-----------\\n\ cout<<\查询学生信息-----------\\n\ cout<<\修改学生的信息----------\\n\ cout<<\增加学生的信息--------\\n\ cout<<\删除学生的信息---------\\n\ cout<<\总分排序--------------\\n\

cout<<\浏览学生信息---------\\n\cout<<\求各课程平均成绩------\\n\cout<<\求合格率-----------\\n\ cout<<\退出\\n\请选择:--------\\n\cout<<\学生信息管理系统------------\\n\

cin>>choose; switch(choose) {

case'1':{b.create();break;}

case'2':{b.search();break;}

case'3':{b.modify();break;}

case'4':{b.add();break; } case'5':{b.deleted();break;} case'6':{b.sort();break;}

case'7':{b.display();break;} case'8':{b.average();break; } case'9':{b.hegelv();break;} case's':{look(\

}

}while(choose!='t'); return 0; }

第五章5.1模块测试

系统测试

输入函数抓图

查询函数抓图

添加函数抓图

浏览函数抓图

总分排序函数抓图 平均分函数抓图

合格率函数抓图

平均分函数抓图

退出函数抓图

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

遇到的问题1:开始设计时main函数实现代码太长,不便于阅读程序

解决方法:再设计一个brick类,将其 定义成student类的友元类,在brick类中定义//创建函数void brick::create()/

显示函数void brick::display()/修改编辑函数void brick::modify()//查找函数void brick::search()//添加函数void brick::add()//删除函数void brick::deleted()//求合格率函数void brick:: hegelv()//排序函数void brick::sort()//平均分函数void brick::average(),再用这些函数调用student类的对象student s[100]实现相应功能,

这样可以降低main函数的复杂度,增加程序的可读性。

遇到的问题2:定义成student类的友元类后,不能使用命名空间

解决方法:将#include #include #include

using namespace std;改成 #include #include #include

遇到的问题3:类外调用数据成员不方便。 解决方法:在student类中定义成员函数int sum(); void input()void output()

遇到的问题4:输出结果不对齐。

解决方法:语句中加\\t'如:cout<

cout<<\学号\姓名\性别\班级\数学\英语\总分\

遇到的问题5:不能读取关机后的数据。 解决方法:添加函数 读取关机后数据函数

void look(char *filename) {

ifstream ifs(filename,ios::in ); }

遇到的问题6:不能统计已有对象的个数。

解决方法:定义静态变量n,static int n=0;

遇到的问题7:不能向文本文件中输出数据。

解决方法:添加语句ofstream outfile(\if(!outfile)

{cout<<\return;}

遇到的问题8:比较后对象不能交换。

解决方法:定义student t;再for( j=0;j

if(!ifs) { } char ch; while(ifs.get(ch))

cout.put(ch);

cerr<<\return;

cout<

{ if (s[i].sum()>s[i+1].sum()) {

t=s[i];

s[i]=s[i+1]; s[i+1]=t; }

遇到的问题9:在average函数中定义float s=0;

s=s+s[i].math; s=s+s[i].english; S=s+s[i].c;三条语句出错

解决方法:float s1=0; float s2=0; float s3=0; s1=s1+s[i].math; s2=s2+s[i].english; s3=s3+s[i].c;

遇到的问题10:不能退出系统。 解决方法:用 do {

cin>>choose; switch(choose) {

...........

}

}while(choose!='t');

遇到的问题11:界面不友好。

解决方法:main函数改成int main()

{brick b; cout<<\学生信息管理系统\

cout<<\ char choose;

//显示主菜单,接受选择,并分支调用大学类的相应功能的成员函数 do {

cout<<\学生信息管理系统------------\\n\

cout<<\浏览关机后学生信息---\\n\

cout<<\录入学生信息-----------\\n\ cout<<\查询学生信息-----------\\n\ cout<<\修改学生的信息----------\\n\ cout<<\增加学生的信息--------\\n\ cout<<\删除学生的信息---------\\n\ cout<<\总分排序--------------\\n\

cout<<\浏览学生信息---------\\n\cout<<\求各课程平均成绩------\\n\cout<<\求合格率-----------\\n\ cout<<\退出\\n\请选择:--------\\n\cout<<\学生信息管理系统------------\\n\

cin>>choose; switch(choose) {

case'1':{b.create();break;} case'2':{b.search();break;} case'3':{b.modify();break;}

case'4':{b.add();break; } case'5':{b.deleted();break;} case'6':{b.sort();break;} case'7':{b.display();break;}

case'8':{b.average();break; }

case'9':{b.hegelv();break;} case's':{look(\

}

}while(choose!='t'); return 0; }

总 结

该程序代码清晰,一目了然,程序中的变量见名知义,具有很好的可读性,该程序功能齐全,严格按题目要求完成所规定的任务。程序中的求和函数,创建函数,显示函数,修改编辑函数,查找函数,添加函数,删除函数,求合格率函数,排序函数,平均分函数,实现功能都很强。

致 谢

经过了本次课程设计,使笔者能够熟练掌握C++语言的基本知识和技能。

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

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

基本了解编写大程序的思想和方法。

参考文献

[1]谭浩强,C++面向对象程序设计,北京, 清华大学出版社,2006

[2]谭浩强,C程序设计,北京,清华大学出版社,2006

附 录

将源程序代码附到附录中。

#include #include #include class brick; class student {public: student(){} int sum(); void input()

{cout<<\学号(不能

复):\

cout<<\姓名:\

cout<<\性别:\

cout<<\班级:\

cout<<\数学:\

cout<<\英语:\

cout<<\

}

void output()

{cout<

}

friend class brick;//模块类中定义模块函数

private:

char name[5]; char sex; int schoolnumber; char grade[7]; int math; int english; int c; int ssum ;

};

class brick {public:brick(){} void create();

void display();

void search();

void modify();

void add();

void deleted();

void average();

void sort();

void hegelv();

private: static int n; student s[100];

student t; };

int brick ::n=0;

//求和函数

int student::sum() { int s;

s=math+english+c; return s; }

//创建函数

void brick::create() {

ofstream

outfile(\

if(!outfile)

{cout<<\return; } int m;

cout<<\录入学生信息人数\cin>>m;

//outfile<<\学号,姓名,性别,班级,数学,英语,c++,总分\

cout<<\学号,姓名,性别,班级,数学,英语,c++,\

cout<<\请输入相关信息\for(int

i=0;i

for(i=0;i

{outfile<

n++;

}

outfile.close(); }

//显示函数

void brick::display() {

cout<<\学号\姓名\性别\班级\数学\英语\总分\

for(int i=0;i

//查找函数

void brick::search() {

int num,i;

cout<<\请输入学号\\n\

cin>>num;

cout<<\学号\姓名\性别\班级\数学\英语\总分\

for( i=0;i

//修改编辑函数 void brick::modify() {

int num,i,j;

char nam[5];

char se;

int number;

char gra[7];

int m;

int e;

int c;

cout<<\请输入学号\\n\

cin>>num;

ofstream

outfile(\

if(!outfile)

{cout<<\

return; }

for(i=0;i

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

cout<<\学号,姓名,性别,班级,数学,英语,c++\

cout<<\请输入相关信息\cout<<\学号(不能与其他号重复):\

cout<<\姓名:\

cout<<\性别:\

cout<<\班级:\

cout<<\数学:\

cout<<\英语:\

cout<<\

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<

outfile.close();

cout<

} //添加函数 void brick::add() {

ofstream

outfile(\

if(!outfile)

{cout<<\

return;

} char c; do

{cout<<\学号,姓名,性别,班级,数学,

英语,c++\

cout<<\录入增加学生的信息\

s[n].input();

outfile<

n].english<<\.math+s[n].english+s[n].c<<\l;

cout<<\中已经了增加\e<<'\\t'<

n++;

cout<<\还要增加吗(y /n) ?\cin>>c;

}while(n<100&&(c=='y'||c=='Y')); outfile.close(); }

//删除函数

void brick::deleted()

{ int i,j;

int num;

cout<<\请输入删除学生的学生号\

cin>>num;

for( i=0;i

if(s[i].schoolnumber==num) {n--;

for( j=i;j

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

}

ofstream

outfile(\

if(!outfile)

{cout<<\

return;

}

outfile<<\学号\姓名\性别\班级\数学\英语\总分\

for( i=0;i

outfile<

}

outfile.close(); cout<<\删除成功\}

读取关机后数据函数 void look(char *filename) {

ifstream ifs(filename,ios::in );

if(!ifs) { cerr<<\error!\

return;

}

char ch;

while(ifs.get(ch))

cout.put(ch);

cout<

}

//排序函数

void brick::sort() {int i; int j;

for( i=0;i

for( j=0;j

{ if (s[i].sum()>s[i+1].sum()) {

t=s[i];

s[i]=s[i+1];

s[i+1]=t; } }

cout<

cout<<\学号\姓名\性别\班级\数学\英语\总分\

for( i=0;i

//平均分函数

void brick::average() {

float s1=0;

float s2=0;

float s3=0;

char ch;

cout<<\你要查的各平均课程(math-m,english-e,c)\

cin>>ch;

switch(ch) {case'M':

case'm':{for(int i=0;i

s1=s1+s[i].math;

cout<<\数学

平均分

\

}

case'E':

case'e':{for(int i=0;i

\

} case'C':

case'c':{for(int i=0;i

\

}

default:cout<<\非法选项\}

}

//求合格率函数

void brick:: hegelv()

{

int count1=0,count2=0,count3=0;

char ch; cout<<\你要查的合格率课程(math-m,english-e,c)\

cin>>ch;

switch(ch)

{

case'M':

case'm':{for(int i=0;i

if(s[i].math>=60)count1++;

cout<<(float)count1/n;break;

}

case'E':

case'e':{for(int i=0;i

if(s[i].english>=60)count2++;

cout<<(float)count2/n;break;

} case'C':

case'c':{for(int i=0;i

if(s[i].c>=60)count3++;

cout<<(float)count3/n;break;

}

default:cout<<\非法选项\} }

int main() {brick b;

cout<<\学生信息管理系统\

cout<<\>>>\

char choose;

//显示主菜单,接受选择,并分支调用大学类的相应功能的成员函数

do {

cout<<\学生信息管理系统------------\\n\

cout<<\浏览关机后学生信息---\\n\

cout<<\录入学生信息-----------\\n\

cout<<\查询学生信息-----------\\n\

cout<<\修改学生的信息----------\\n\

cout<<\增加学生的信息--------\\n\

cout<<\删除学生的信息---------\\n\

cout<<\总分排序--------------\\n\

cout<<\浏览学生信息---------\\n\

cout<<\求各课程平均成绩------\\n\

cout<<\求合格率-----------\\n\

cout<<\\\n\请选择:--------\\n\

退

cout<<\学生信息管理系统------------\\n\

cin>>choose; switch(choose) {

case'1':{b.create();break;} case'2':{b.search();break;} case'3':{b.modify();break;}

case'4':{b.add();break; }

case'5':{b.deleted();break;}

case'6':{b.sort();break;}

case'7':{b.display();break;}

case'8':{b.average();break; }

case'9':{b.hegelv();break;}

case's':{look(\

}

}while(choose!='t'); return 0; }

评 语 指 导教师评语及设计成绩 课程设计成绩: 指导教师: 日期: 年 月 日

本文来源:https://www.bwwdw.com/article/thk7.html

Top