《C++面向对象程序设计》习题答案(共66页).doc
《《C++面向对象程序设计》习题答案(共66页).doc》由会员分享,可在线阅读,更多相关《《C++面向对象程序设计》习题答案(共66页).doc(66页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C+程序设计习题解答专心-专注-专业目录第2部分 习题解答第1章 面向对象程序设计概述一、简答题简述面向过程程序设计和面向对象程序设计的编程思想,体会面向对象程序设计的优点。【答案要点】面向过程程序设计的编程思想:功能分解、逐步求精、模块化、结构化。当要设计一个目标系统时,首先从整体上概括出整个系统需要实现的功能,然后对系统的每项功能进行逐层分解,直到每项子功能都足够简单,不需要再分解为止。具体实现系统时,每项子功能对应一个模块,模块间尽量相对独立,通过模块间的调用关系或全局变量而有机地联系起来。面向对象程序设计的编程思想:(1)客观世界中的事物都是对象(object
2、),对象之间存在一定的关系。(2)用对象的属性(attribute)描述事物的静态特征,用对象的操作(operation)描述事物的行为(动态特征)。(3)对象的属性和操作结合为一体,形成一个相对独立、不可分的实体。对象对外屏蔽其内部细节,只留下少量接口,以便与外界联系。(4)通过抽象对对象进行分类,把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是其所属类的一个实例。(5)复杂的对象可以用简单的对象作为其构成部分。(6)通过在不同程度上运用抽象的原则,可以得到一般类和特殊类。特殊类继承一般类的属性与操作,从而简化系统的构造过程。(7)对象之间通过传递消息进行通信,以实
3、现对象之间的动态联系。(8)通过关联表达类之间的静态关系。与传统的面向过程程序设计相比,面向对象程序设计的优点如下:(1)从认识论的角度看,面向对象程序设计改变了软件开发的方式。软件开发人员能够利用人类认识事物所采用的一般思维方式来进行软件开发。(2)面向对象程序中的数据的安全性高。外界只能通过对象提供的对外接口操作对象中的数据,这可以有效保护数据的安全。(3)面向对象程序设计有助于软件的维护与复用。某类对象数据结构的改变只会引起该类对象操作代码的改变,只要其对外提供的接口不发生变化,程序的其余部分就不需要做任何改动。面向对象程序设计中类的继承机制有效解决了代码复用的问题。人们可以像使用集成电
4、路(IC)构造计算机硬件那样,比较方便地重用对象类来构造软件系统。二、编程题【程序参考代码】/*学生信息管理系统C语言源代码student.c*/#include /*包含输入/输出头文件*/#include /*包含字符串处理头文件*/#include #define MAXSIZE 100 /*能够处理的学生总人数,可以随意修改*/typedef struct /*用于存放生日信息的结构体*/ int year; int month; int day;Date;typedef struct Stud /*用于存放学生信息的结构体*/char Num12; /*学号为11位*/ char N
5、ame11; /*姓名,最多5个汉字*/ char Sex2; /*性别,男记为m,女记为f */Date Birthday; /*出生日期*/ float English, DataStructure, CPlusPlus; /*三门课成绩*/ float Sum, Average; /*总成绩、平均成绩*/Student;char CurFile40; /*存放当前正在操作的磁盘文件的文件名*/int IsOpen=0; /*当前是否有磁盘文件被打开标志*/int found=0; /*在查找学生信息时是否找到标志*/Student studMAXSIZE; /*用于存放读入内存中的所有学
6、生信息的全局数组*/int Index=0; /*存放实际学生人数的全局变量*/*各自定义函数原型声明*/void Create(); /*新建学生信息文件*/ void Open(); /*打开学生信息文件,并读取学生信息到全局数组stud中*/void Display(); /*显示学生信息*/void Search(); /*查询学生信息*/int SearchNum(char* Num); /*按学号查询学生信息*/int SearchName(char* Name); /*按姓名查询学生信息*/void Append(); /*添加学生信息*/void Modify(); /*修改学
7、生信息*/void Delete(); /*删除学生信息*/void Total(); /*统计所有学生某一科目总成绩*/void Sort(); /*学生信息排序*/ void Backup(); /*备份学生信息*/void menu() /*系统功能菜单*/ int choice; /*用于保存用户对功能菜单的选择结果*/for( ; ; ) /*显示系统功能菜单*/printf(n*n);printf(* 学生信息管理系统 *n); printf(*n); printf(* 1新建学生信息文件 *n); printf(* 2打开学生信息文件 *n); printf(* 3显示学生信息
8、*n); printf(* 4查询学生信息 *n); printf(* 5添加学生信息 *n);printf(* 6修改学生信息 *n);printf(* 7删除学生信息 *n);printf(* 8统计学生信息 *n);printf(* 9学生信息排序 *n); printf(* 10备份学生信息 *n); printf(* 0退出系统 *n); printf(*n); printf( 请选择要执行的操作(08):_); scanf(%d, &choice); switch(choice) case 1: Create(); break; case 2: Open(); break; cas
9、e 3: Display(); break; case 4: Search(); break;case 5: Append(); break;case 6: Modify(); break;case 7: Delete(); break;case 8: Total(); break; case 9: Sort(); break;case 10: Backup(); break; case 0: return; default: printf(选择错误!请重新选择。n);/*switch结束*/*for结束*/void ReOrEx()/*在用户执行完一项系统功能后,可以选择:是继续运行系统,还
10、是退出系统*/int n; printf(n*n);printf(* 1. 返回上级菜单 *n); printf(* 0. 退出系统 *n);printf(*n);printf( 请选择(1/0)?_); scanf(%d,&n);if(n=0)printf(n*n); printf(* 谢谢使用本系统! *n); printf(*n); exit(1);void main()printf(*n);printf(* 欢迎使用学生信息管理系统! *n);printf(*n);system(pause); menu();/*系统功能以菜单的形式提供给用户*/ printf(n*n);printf(
11、* 谢谢使用本系统! *n);printf(*n);/*main函数结束*/*各自定义函数实现代码*/int New(char* FileName) /*创建磁盘文件*/FILE *fp; if(fp=fopen(FileName,w)=NULL) return 0; else fclose(fp); Index=0;return 1; void Create() /*新建学生信息文件*/char FileName40;printf(请输入新建文件的名称:);scanf(%s, &FileName);if(strcmp(FileName, studentbackup) strcat(FileN
12、ame, .dat);if(!New(FileName)printf(%s文件创建失败!n, FileName);else strcpy(CurFile, FileName); printf(%s文件创建成功!n, FileName);else printf(%s是备份文件,禁止创建与此文件同名的文件!n,FileName); ReOrEx();void Open() /*打开学生信息文件*/char FileName40;printf(请输入要打开的数据文件的名称:);scanf(%s, &FileName);if(strcmp(FileName, studentbackup)strcat(
13、FileName, .dat); if(IsOpen=0) FILE *fp; if(fp=fopen(FileName, rb)=NULL) printf(%s文件打开失败!n, FileName); elseIsOpen=1;Index=0; while(!feof(fp)fread(&studIndex, sizeof(struct Stud), 1, fp);Index+;Index-;printf(学生总人数为:%dn, Index);fclose(fp); printf(%s文件打开成功!n, FileName); strcpy(CurFile, FileName); elsepr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+面向对象程序设计 C+ 面向 对象 程序设计 习题 答案 66
限制150内