下学年CPP作业
文章平均质量分 78
临渊丶
这个作者很懒,什么都没留下…
展开
-
第十四周项目4 - 处理C++源代码的程序({}换行)
(2)读入一个C++程序,使程序中的所有左花括号“{”和右花括号“}”都单独占一行,新程序保存到另一个.cpp文件中,并在屏幕上显示处理过的程序,显示时加上行号。#include #include #include #include using namespace std;int main(){ char ch1='\0',ch2,out[256]; int i=0原创 2015-06-10 08:36:47 · 629 阅读 · 0 评论 -
第十三周项目2-形状类族的中的纯虚函数
写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。 [cpp] view plaincopyprint?int main() { Circle c1(12.6),c2(4.9);//建立原创 2015-05-31 19:37:59 · 373 阅读 · 1 评论 -
第十五周项目1-用二进制文件处理学生成绩
(1)定义学生类,其中包含学号、姓名、C++课、高数和英语成绩及总分数据成员,成员函数根据需要确定。 (2)读入学生的成绩,并求出总分,用对象数组进行存储。ASCII文件score.dat中保存的是100名学生的学号、姓名和C++课、高数和英语成绩。 (3)将所有数据保存到一个二进制文件binary_score.dat中,最后通过键盘输入你的信息,并写入到文件中(咱不谦虚,三科全100分,原创 2015-06-16 12:18:15 · 536 阅读 · 0 评论 -
第十一周项目2 - 职员有薪水了(2、来个深复制)
(2)字符串除了用C++扩充的string类型外,按C语言的传统,还可以用char *表示。请将类声明中的string全部改为char *后,重新写一遍程序(此时的区别是,类中有指针成员,构造和析构函数需要考虑深复制的问题了。)/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作原创 2015-05-17 16:31:09 · 308 阅读 · 0 评论 -
第十一周项目1 - 存储班长信息的学生类(2、private的访问权限)
class Stu //声明基类{public: Stu(int n, string nam ); //基类构造函数 void display( ); //成员函数,输出基类数据成员protected: //(*)访问权限为保护型的数据成员 int num; //学生学号 string name; //学生姓名原创 2015-05-17 15:11:29 · 341 阅读 · 0 评论 -
第十一周项目0-是春哥啊
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 5 月 17 日 *版本号:v1.0 */#include #include using namespace std;class Person{public: Pe原创 2015-05-17 14:37:53 · 397 阅读 · 0 评论 -
第十一周项目1 - 存储班长信息的学生类(1、完成类中成员的定义)
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 5 月 17 日 *版本号:v1.0 */class Stu //声明基类{public: Stu(int n, string nam ); //基类构造函数原创 2015-05-17 15:02:58 · 372 阅读 · 1 评论 -
第十一周项目2 - 职员有薪水了
(1)定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。并在此基础上派生出CEmployee类,派生类CEmployee增加了两个新的数据成员,分别用于表示部门和薪水。要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义析构函数,定义输出信息的函数。/* *Copy原创 2015-05-17 16:13:05 · 329 阅读 · 0 评论 -
第八周上机实践项目3-分数类中的运算符重载(分数与分数、分数与整数)
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 4 月 29 日 *版本号:v1.0 * *问题描述:实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算。原创 2015-04-29 09:26:04 · 417 阅读 · 0 评论 -
第八周上机时间项目3-分数类中的运算符重载
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 4 月 29 日 *版本号:v1.0 * *问题描述:实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算。原创 2015-04-29 09:10:58 · 378 阅读 · 0 评论 -
第十二周项目1 - 教师兼干部类
分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: (1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。 (3原创 2015-05-20 18:50:42 · 611 阅读 · 2 评论 -
第八周上机实践项目2-Time类中的运算符重载
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 4 月 28 日 *版本号:v1.0 * *问题描述:实现Time类中的运算符重载。 如 > = <= == != + -bablablabla.... *原创 2015-04-28 19:51:50 · 321 阅读 · 0 评论 -
第九周上机实践项目2-Time类中的运算符重载(续)
在Time类中的运算符重载基础上(1)定义对时间对象的自增和自减一目运算符[cpp] view plaincopyprint?//一目运算符的重载 CTime operator++(int);//后置++,下一秒 CTime operator++();//前置++,下一秒,前置与后置返回值不一样 CTime operator--原创 2015-05-05 22:24:35 · 449 阅读 · 2 评论 -
第八周上机实践项目4-String类的构造(减法精简了一些哦)
写一个能处理字符串的类,其数据成员如下所示:class String { public: ...//需要的成员函数(若需要的话,声明友元函数)private: char *p; //指向存储的字符串 int len; //记录字符串的长度 }; 请构造String类的加、减运算。其中,s1 + s2将两个字符串的连接起来;s1 - s2是原创 2015-04-30 18:39:28 · 383 阅读 · 2 评论 -
第八周上机实践项目1-实现复数类中的运算符重载(友元函数)
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 4 月 28 日 *版本号:v1.0 * *问题描述:请用类的友元函数,而不是成员函数,再次完成定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除; *输入描述: *原创 2015-04-28 10:21:15 · 452 阅读 · 1 评论 -
第八周上机实践项目1-实现复数类中的运算符重载(可与double型运算的“基础工程”)
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 4 月 28 日 *版本号:v1.0 * *问题描述:定义一个定义完整的类(是可以当作独立的产品发布,成为众多项目中的“基础工程”)。 这样的类在(2)的基础原创 2015-04-28 12:40:24 · 337 阅读 · 1 评论 -
第十三周项目1-动物这样叫
下面是给出的基类Animal声明和main()函数。[cpp] view plaincopyprint?class Animal { public: virtual void cry() { cout"不知哪种动物,让我如何学叫?" } }; int main( ){原创 2015-05-31 19:25:25 · 475 阅读 · 1 评论 -
第十一周项目3-点类派生直线类
定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点。/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 5 月 18 日 *版本号:v1.0 */#include原创 2015-05-18 17:00:26 · 375 阅读 · 0 评论 -
第十二周项目4 - 点、圆的关系
(1)先建立一个Point(点)类,包含数据成员x,y(坐标点);(2)以Point为基类,派生出一个Circle(圆)类,增加数据成员(半径),基类的成员表示圆心;(3)编写上述两类中的构造、析构函数及必要运算符重载函数(本项目主要是输入输出);(4)定义友元函数int locate,判断点p与圆的位置关系(返回值0 圆外);已提供代码:int main( ){ Ci原创 2015-05-25 16:05:09 · 334 阅读 · 0 评论 -
第十四周项目4 - 处理C++源代码的程序(m后n行加注释)
(3)读入一个C++程序,输入m、n两个数字,从第m行起的n行代码将作为注释使用(即在这些行前面加上”//”),新程序保存到另一个.cpp文件中,并在屏幕上显示处理过的程序,显示时加上行号。#include #include #include #include using namespace std;int main(){ char ch1='\0',ch2,out[256原创 2015-06-10 09:04:53 · 659 阅读 · 0 评论 -
第十四周项目4 - 处理C++源代码的程序(排查main())
在CodeBlocks等IDE中都提供了代码格式整理的功能。完成这种功能的程序,操作的数据是用C++写的源代码文件。C++源文件是一种文本文件,可以通过程序进行操作。集成开发环境(IDE)对对程序进行编译,操作的“数据”是源程序。编译中,要对源程序进行词法检查和语法检查,后续还要进行目标代码生成、代码优化等工作。相关的技术将在《编译原理》课中学习。这些技术可以用在很多领域,当然也能够让我们对于原创 2015-06-09 19:46:39 · 855 阅读 · 0 评论 -
第十二周项目3 - 日期时间类
定义一个日期类Date,数据成员包括年、月、日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期;再定义一个时间类Time,数据成员包括时、分、秒,SetTime(int h,int m,int s)和PrintTime()函数分别用于设置时间和显示时间,在此基础上再定义一个日期时间类TimeDate,充分利用已有的两个类中提供的方法,实现原创 2015-05-24 19:35:08 · 363 阅读 · 0 评论 -
第十二周项目2 - 摩托车继承自行车和机动车
在下面一段类的定义中,自行车类的虚基类为车辆类,机动车类的虚基类也为车辆类,摩托车类的基类为自行车类和机动车类,类之间均为公有继承,如图所示。下载可执行文件链接motorcar.exe.(1)根据上面各类间关系的描述,补全下面程序段中空缺的代码;(2)实现程序中声明的成员函数,注意相应操作中的动作发生的条件不能满足时应给出提示。(3)运行程序,享受开摩托的过程。(可以下载可执行文件原创 2015-05-24 18:41:07 · 415 阅读 · 1 评论 -
第十四周项目3-项目3-OOP版电子词典
做一个简单的电子词典。在文件dictionary.txt中,保存的是英汉对照的一个词典,词汇量近8000个,英文、中文释义与词性间用’\t’隔开。(1)编程序,由用户输入英文词,显示词性和中文释义。提示1:如果要用OOP完成这个词典(当然也可以用OO方法实现),可以定义一个Word类表示一个词条,其中的数据成员string english; 表示英文单词,string chinese;表示原创 2015-06-09 12:14:49 · 630 阅读 · 1 评论 -
第十一周项目4 - 类族的设计
按以下的提示,由基类的设计和测试开始,逐渐地完成各个类的设计,求出圆格柱体的表面积、体积并输出并且完成要求的计算任务: (1)先建立一个Point(点)类,包含数据成员x,y(坐标点),实现需要的成员函数,并设计main函数完成测试; (2)以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计ma原创 2015-05-19 10:52:56 · 840 阅读 · 3 评论 -
第十四周项目1 - 小玩文件(2)
(2)下面程序的功能是将文本文件abc.txt中的所有行加上行号后写到newabc.txt文件中,请填空将程序补充完整。[cpp] view plaincopyprint?#include #include #include using namespace std; int main() { fs原创 2015-06-04 15:55:38 · 756 阅读 · 3 评论 -
第十四周项目1 - 小玩文件(1)
(1)下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整。[cpp] view plaincopyprint?#include #include #include _____________ // (1) using namespace std; int main() {原创 2015-06-04 15:43:35 · 487 阅读 · 2 评论 -
第十四周项目2-用文件保存的学生名单
文件score.dat中保存的是若干名学生的姓名和C++课、高数和英语成绩。(1)定义学生类,其中包含姓名、C++课、高数和英语成绩及总分数据成员。[cpp] view plaincopyprint?//定义学生类 class Student{ public: //声明必要的成员函数 private:原创 2015-06-04 17:41:00 · 690 阅读 · 3 评论 -
第十六周项目3-max带来的冲突
分析下面程序出现的编译错误,给出解决的方案。#includeusing namespace std;//定义函数模板templateclass T>T max(T a, T b){ return (a>b)?a:b;}int main(){ int x=2,y=6; double x1=9.123,y1=12.6543; cout"把T实例化为原创 2015-06-24 16:51:09 · 578 阅读 · 0 评论 -
第十六周项目2-有些数的阶乘不算了
求n!的函数,当用户的输入为负数,以及输入数太大时(例如大于12),使用异常处理机制予以拒绝,并给出恰当的提示。#include using namespace std;double jiec(int n){ int j=1; if(n12) throw n; else for(int i=1; i<=n; ++i)原创 2015-06-24 16:35:34 · 348 阅读 · 0 评论 -
第十六周项目1-平方根中的异常
编写一个程序,求输入数的平方根。设置异常处理,当输入负数时采用异常处理机制给出提示。 #include #include using namespace std;double squareroot(double &a){ if(a<0) throw a; else return sqrt(a);}int m原创 2015-06-24 09:26:05 · 674 阅读 · 0 评论 -
第十五周项目2-二进制文件浏览器
(1)做一个类似BinaryViewer的查看二进制文件的程序,输入文件名后,可以以16进制和ASCII对照的方式列出该文件的内容,可以参考下图: 提示:循环中,一次读入16个字节,先用16进制形式输出,再用字符形式输出。 (2)通过为main函数加参数,在命令行方式下,输入“命令加文件名”的方式,就可以显示该文件的内容,也采用如上16进制和ASCII对照的形式。 代码如下#原创 2015-06-21 17:06:51 · 416 阅读 · 0 评论 -
第十三周项目3-立体类族共有的抽象类
设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。/* *Copyright (c) 2014,烟台大学计算机学院 *All原创 2015-05-31 20:10:15 · 422 阅读 · 0 评论 -
第八周上机实践项目1-实现复数类中的运算符重载(类的成员函数)
/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp *作 者:满星辰 *完成日期:2015 年 4 月 28 日 *版本号:v1.0 * *问题描述:请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除 *输入描述: *程序输出: */#in原创 2015-04-28 10:07:27 · 319 阅读 · 0 评论 -
第九周上机实践项目4-我的向量类(重载输入输出)
建立一个向量类MyVector,声明如下,请完成类的定义class MyVector //定义向量类{public: MyVector(int m); //构造函数,共有m个元素的向量,元素值预置为0 MyVector(const MyVector &v); //复制构造函数 ~MyVector(); //析构函数:释放动态数组所占用的原创 2015-05-08 13:55:36 · 478 阅读 · 1 评论 -
第九周上机实践项目3-分数类中的运算符重载(续 重载输入输出流)
在分数类中的运算符重载基础上(1)定义分数的一目运算+和-,分别代表分数取正和求反,将“按位取反运算符”~重载为分数的求倒数运算。(2)定义分数类中>运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。/* *Copyright (c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称: test.cpp原创 2015-05-08 12:23:14 · 462 阅读 · 1 评论 -
第四周上机实践项目1-三角形类的构造函数(默认构造函数)
/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2015年 3月 31日 *版本号:v1.0 *问题描述:设计默认构造函数,即不指定参数时,默认各边长为1。 *输入描述: *程序输出: */#include #include u原创 2015-03-31 10:35:36 · 330 阅读 · 0 评论 -
第四周上机实践项目1-三角形类的构造函数(有默认参数的构造函数)
/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2015年 3月 31日 *版本号:v1.0 *问题描述:使用有默认参数的构造函数,不给定实参时,默认边长为1; 注意——这个版本也只需要一个构造函数即可。 *输入描述: *原创 2015-03-31 10:41:38 · 359 阅读 · 1 评论 -
第一周上机实践项目3-时间类
/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2015年 3月 18日 *版本号:v1.0 *问题描述:阅读、运行程序后,按要求扩充类的功能 *输入描述: *程序输出: */#include using namespace std;c原创 2015-03-18 09:12:14 · 261 阅读 · 0 评论 -
第一周上机实践_长方柱
/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:满星辰 *完成日期:2015年 3月 18日 *版本号:v1.0 *问题描述:编写基于对象的程序,求3个长方柱(Bulk)的体积。 数据成员包括长(length)、宽(width)、高(heigth)、原创 2015-03-18 09:08:51 · 319 阅读 · 0 评论