C++综合应用实例

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C/C++综合应用实例
1、数据代数运算系统的设计(相当于计算器) 2、学生成绩管理系统的设计 3、三角形面积验证程序的设计
可编辑ppt
1
1、数据代数运算系统的设计 (相当于计算器)
问题:设计一个计算器程序,完成整数间的加、减、乘、除
以及求运算,以及累加求和、计算n!等。
(1)计算器程序设计文档 (2)使用TC开发的dos界面程序; (3)程序运行演示;
(1)学生信息的输入(输入学生的信息,存放到数组s中,返回实际学 生个数给n,注意:输入的结束条件如何设计?)
void iuput(st s[] int *n);
(2)将数组s中,n个学生信息输出,要求:按一定得格式输出学生信 息(最好是表格格式,并且当学生人数较多时,应按页显示)
void pint(st s[],int n)
同学们自己给出各函数的源代码。
可编辑ppt
11
设计主函数,实现系统所要求的功能
定义学生数组: 这里要注意,学生人数问题
Void main() {
st *t; \\定义数组 int m; \\数组的最大空间 int n; \\实际学生人数 m=1000; st=new st[m]; n=0;
显示菜单,分别调用有关的函数。
//各课程成绩(6门)
float ave;
//平均成绩
int order;
//名次
public:
分析:关于学生类,该有哪些函数成员?
};
可编辑ppt
15
学生类,函数成员的定义与实现
public:
(1) 构造函数的定义: 利用参数传递,形成一个学生 有键盘输入形成一个学生
(2) 输出学生信息函数;
可编辑ppt
(4)采用面向对象的程序设计方法ห้องสมุดไป่ตู้用链表(定义链表类), DOS界面
另外,对这4种方式,都可以采用Windows(图形) 界面实现。
可编辑ppt
5
(1)采用面向结构的程序设计方法 用顺序表(数组和结构体) DOS界面
可编辑ppt
6
采用面向结构的程序设计方法,用顺序表 (数组和结构体),DOS界面
7
(1)定义学生结构体;
struct st { char Class[20];
int num; char name[8]; float kc[6]; float ave; int order; };
//班级 //学号 //姓名 //各课程成绩(6门) //平均成绩 //名次
可编辑ppt
8
按功能要求定义各有关功能函数
(3)从数组s,n个学生信息中,查询学号为x的学生信息,并返回查找 成功是(位置号)否(-1)。
int find(st s[],int n, int x)
可编辑ppt
9
(4)将数组s,n个学生信息中按平均成绩降序排序,形成排序数组y。
sort(st s[],int n,st y[])
(5)在数组s,n个学生信息的未,输入追加学生信息。
}
可编辑ppt
12
(3)采用面向对象的程序设计方法 用顺序表(定义顺序表类) DOS界面
可编辑ppt
13
采用面向结构的程序设计方法,用顺序表 (定义顺序表类),DOS界面
分析:
由于成绩管理是由多名学生构成的,所以需要定义学生类;
另外,由多个学生,形成一个班或年级,所以还需要定义 一个班级(年级)类
顺序表(数组存放一个班学生信息)
链表(利用指针存放一个班可编的辑学pp生t 信息)
4
该题目的分析与设计:
本题目可以采用4种方式实现:
(1)采用面向结构的程序设计方法,用顺序表(数组和结构 体),DOS界面。
(2)采用面向结构的程序设计方法,用链表(指针和结构体), DOS界面
(3)采用面向对象的程序设计方法,用顺序表(定义顺序表 类),DOS界面
这样的系统不好,我们可以将其改写为图形界面 (4)图形界面程序演示; (5) 图形界面程序源代码
可编辑ppt
2
2、学生成绩管理系统的设计
例2:编写程序,实现学生成绩管理:要求实现
用户登录, 显示主菜单, 学生信息的输入, 学生信息的输出, 按学号查询学生信息, 按成绩降序排序, 追加学生信息, 把学生信息保存到文件, 从文件中导出学生信息 等有关的功能。
处理过程:
(1)定义学生类; (2)定义班级类 (3)设计主函数,定义有关的对象,并调用有关的函数,
完成系统功能。
可编辑ppt
14
(1)定义学生类;
class st
{ private:
char Class[20]; //班级
int num;
//学号
char name[8];
//姓名
float kc[6];
该功能的实现,可以使用(1)输入学生信息功能
(6)将数组s,n个学生信息,保存到文件f中。
save(st s[],int n, char *f)
(7) 从文件f中导出学生信息,存放到数组s中,并返回实际学生人数n。
load(char *f,st s[],int &n)
可编辑ppt
10
给出每个函数的具体实现
处理过程:
(1)定义学生结构体;
(2)定义学生数组(一般放到主函数中定义) 这里要注意,学生人数问题
(3)按功能要求定义各有关功能函数; 这里要注意,每个函数的参数及其函数的返回值
(4)设计主函数,实现系统所要求的功能。
思考:
假设将(2)定义成一个“班级结构体”,那么,整
个系统该如何实现); 可编辑ppt
16
class bj {
private: int m; int n; st *s;
(2)定义班级类
//私有变量,顺序表实例的最大长度 // 私有变量,顺序表实例的当前长度 //存放学生的数组(利用指针实现)
public:
分析:关于班级类,该有哪些函数成员?
};
可编辑ppt
17
班级类,函数成员的定义与实现
可编辑ppt
3
关于该设计题目的有关问题与分析:
(1)采用的程序设计方法的选择? A)面向结构的设计方法? B)面向对象的设计方法?
(2)运行界面的选择? A) DOS界面的设计? B) 图形界面(Windows界面)?
(3)数据类型的定义 (结构体或类的定义)
(4)(数据结构的定义)存放数据的方式
public: (1) 构造函数的定义: 利用参数传递,形成班级
由数组s中,n各学生,形成班级 bj(st s[] int n);
有键盘输入形成班级 学生信息的输入(输入的结束条件如何设计?) bj();
相关文档
最新文档