东南大学四系_C上机练习.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上机练习题 (时间:70分钟) (分数:100分卷折合总分30分) 说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于保存上交的考试文件。 可 以先在E盘对以下问题按要求编制程序,调试运行。然后将源程序文件和自定义的头文 件(若存在)复制到Z盘自己的文件夹中。 ㈠改错题(50分) 【要求】 请在错误行中直接修改。不允许.修改没有错误的行,不允许.删除有错误的行,不允许 添加新的语句,不要删除.任何注解。 将修改后源程序以文件名 MYF1_C.cpp存入Z盘自己的文件夹中,不要修改文件名。 【题目】 ①下面程序定义了圆类 Circle及其两个派生类:球体类 Sphere、圆柱体类Cylinder ②修改程序中的错误,运行并输出正确的结果为: 球体的表面积=1256 析构球体。 析构圆。 圆柱体的表面积=1884 圆柱体的底圆面积=314 析构圆柱体。 析构圆。 【含有错误的源程序如下】 # in cludeiostream.h # defi ne PI = 3.14 //圆类class Circle //圆类 public: Circle ( float a=0 ) : r( a ) { } ?Circle ( ) { cout 析构圆。\n ”; } double area( ) { return ( PI * r * r ) ; } // 求圆面积 }; class Sphere :public Circle 〃球体类 { public: Sphere ( float a=0 ) : Circle ( a ); ?Sphere ( ) { cout 析构球体。\n; } double area( ) { return ( 4 * PI * r * r ) ; } // 求球体表面积 }; class Cyli nder :public Circle // 圆柱体类 { float h ; public: Cyli nder ( float a=0, float b=0 ) : Circle ( a ) { h = b ; } ?Cyli nder ( ) { cout 析构圆柱体。\n ”; } double area( ) { return ( 2 * PI * r * ( h + r ) ) ; } // 求圆柱体表面积 }; void mai n( ) { Circle *p = new Sphere ( 10 ); cout 球体的表面积= parea( ) endl ; delete p ; Cyli nder c( 10, 20 ); Circle *p = c ; cout 圆柱体的表面积 =” -area( ) endl ; cout 圆柱体的底圆面积 =” c.area( ) endl ; } ㈡编程题(50分) 【要求】将源程序以文件名 MYF2_C.cpp存入Z盘自己的文件夹中,不要修改文件名。 【要求】 将源程序以文件名 MYF2_C.cpp存入Z盘自己的文件夹中,不要修改文件名。 若存在原始数据文件、结果输出文件,最后也复制到 Z盘自己的文件夹中。 【题目】 编写面向对象的程序:若文本文件stu.txt中的n个学生资料已按成绩降序排列, 现将从 键盘输入的k个学生资料插入到文件 stu.txt中,插入后文件stu.txt中的n+k个学生资 料仍然保持按成绩降序排列。 假设:文件stu.txt中的学生数目不祥,但总学生数(原有 +新增)不超过100人。 【提示】 ?定义学生类Student ” ★私有成员数据: int id ; char n ame [10 ]; int score ; ★公有成员函数: bool operator ( ★友元函数: frie nd istream frie nd ostream Stude nt 〃学号 //姓名 //成绩 s operator ( operator* ( //成员重载关系运算符 istream n , Stude nt s ); ostream out , Stude nt s ); 〃存放已按成绩降序排列的 n个学生资料〃存放数组 〃存放已按成绩降序排列的 n个学生资料 〃存放数组s中实际元素的个数 //输入输出文件流 Stude nt s[100]; int n ; fstream dfile ; ★公有成员函数: //构造函数 //构造函数 〃析构函数 Student x ) ; //将x学生有序插入到数组 s中 //屏幕输出数组s中的学生资料,按每行1个学生的格式 ~Sort (); void in sert ( void show (); ★算法提示: 在构造函数中:打开文本文件stu.txt,将其中的学生资

文档评论(0)

kunpeng1241 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档