鱼C论坛

 找回密码
 立即注册
查看: 7229|回复: 21

C++题目求代码 重金!!!!

[复制链接]
发表于 2012-9-16 22:45:37 | 显示全部楼层 |阅读模式
20鱼币
若不做特别说明,在编程题中成员函数均为公有成员函数。

1。定义一个复述类complex,数据成员包括实部和虚部。成员函数包括:(1)设置实部。(2)设置虚部。(3)取实部值。(4)取虚部值。 (5)输出复数。 在主函数中定义一个复数类对象,然后对所有成员函数进行测试。

2。定义一个日期类date,数据成员有year,month,day。成员函数有:私有成员函数int isleap()判断year是否是闰年,若是返回1,否则返回0。(2)私有成员函数int check()判断日期是否合法,若合法返回1,若不合法返回0。(3)设置年,月,日,并检测是否为合法日期。(4)按yyyy/mm/dd格式输出日期,若是闰年,还要输出是否是闰年的信息。在主函数中定义一个日期类对象,任意输入年、月、日值,然后对若有成员函数进行测试。

3。为第1题复数类增加构造函数:(1)无参的构造函数 (2)带参数的构造函数,参数为实部和虚部的初值。
(3)拷贝构造函数。 在主函数中增加测试三个构造函数的语句。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-9-16 22:45:38 | 显示全部楼层
  1. /*
  2. 1。定义一个复述类complex,数据成员包括实部和虚部。成员函数包括:
  3. (1)设置实部。(2)设置虚部。(3)取实部值。(4)取虚部值。
  4. (5)输出复数。 在主函数中定义一个复数类对象,然后对所有成员函数进行测试。
  5. 3。为第1题复数类增加构造函数:(1)无参的构造函数 (2)带参数的构造函数,参数为实部和虚部的初值。
  6. (3)拷贝构造函数。 在主函数中增加测试三个构造函数的语句。
  7. */
  8. #include <iostream>
  9. using namespace std;

  10. class Complex{
  11. public:
  12.         Complex();
  13.         Complex(double r, double v);
  14.         Complex( const Complex& c );
  15.         void real( double r );
  16.         double real()const;
  17.         void vir( double v );
  18.         double vir()const;
  19.         void output()const;
  20. private:
  21.         double m_real;
  22.         double m_vir;
  23. };

  24. void Complex::real( double r ){
  25.         m_real = r;
  26. }
  27. double Complex::real()const{
  28.         return m_real;
  29. }
  30. void Complex::vir( double v ){
  31.         m_vir = v;
  32. }
  33. double Complex::vir()const{
  34.         return m_vir;
  35. }
  36. void Complex::output()const{
  37.         cout<<"("<<m_real<<","<<m_vir<<")"<<endl;
  38. }
  39. Complex::Complex() {
  40.         real(0);
  41.         vir(0);
  42. }
  43. Complex::Complex(double r, double v) {
  44.         real(r);
  45.         vir(v);
  46. }
  47. Complex::Complex( const Complex& c ) {
  48.         real(c.real());
  49.         vir(c.vir());
  50. }


  51. void test_all();
  52. void print_all( const Complex& c, const char* msg );
  53. int main(){
  54.         test_all();
  55. }

  56. void test_all() {
  57.         Complex c1;
  58.         c1.real(1);
  59.         c1.vir(2);
  60.         print_all(c1,"c1");

  61.         Complex c2;
  62.         print_all(c2,"c2");

  63.         Complex c3(3,5);
  64.         print_all(c3,"c3");

  65.         Complex c4(c1);
  66.         print_all(c4,"c4");
  67. }

  68. void print_all( const Complex& c, const char* msg ) {
  69.         cout<<"-----------------------------------"<<endl;
  70.         cout<<"the msg for "<< msg <<endl;
  71.         cout<<"real = "<<c.real()<<endl;
  72.         cout<<"vir = "<<c.vir()<<endl;
  73.         cout<<"the value is: ";
  74.         c.output();
  75.         cout<<"-----------------------------------"<<endl;
  76. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-18 18:44:23 | 显示全部楼层
重金...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-18 22:02:10 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-18 23:23:04 | 显示全部楼层
longdeqidao 发表于 2012-9-18 22:02
嘿嘿   如果版主你能给出代码  我就再加点。。。嘿嘿

看看书自己都能写出来的代码还要让别人写
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-19 12:08:41 | 显示全部楼层
仰望天上的光 发表于 2012-9-18 23:23
看看书自己都能写出来的代码还要让别人写

我刚学面向对象  不会。。。看Eseential C++ 还有 Accelerated C++都看不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-19 14:03:15 | 显示全部楼层
Accelerated C++不错,很值得初学者看。建议认真看。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-19 17:55:57 | 显示全部楼层
仰望天上的光 发表于 2012-9-19 14:03
Accelerated C++不错,很值得初学者看。建议认真看。

我还是先看谭浩强的吧  入门后在看外国的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-19 21:06:06 | 显示全部楼层
Accelerated C++就是用来入门的,并且质量比谭浩强的书高得多。认真看,不要看得太快,把课后题都做出来就很牛了。有问题可以到这里来问,但是显然是因为自己没看书的问题问了也不会有人回答的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-19 22:46:32 | 显示全部楼层
仰望天上的光 发表于 2012-9-19 21:06
Accelerated C++就是用来入门的,并且质量比谭浩强的书高得多。认真看,不要看得太快,把课后题都做出来就很 ...

不  这不是什么课后题  是我一直自学  老师的作业根本就是跟着垃圾书籍走得  我没跟  就不会
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-19 23:38:27 | 显示全部楼层
  1. /*
  2. 2。定义一个日期类date,数据成员有year,month,day。成员函数有:私有成员函数int isleap()判断year是否是闰年,
  3. 若是返回1,否则返回0。
  4. (2)私有成员函数int check()判断日期是否合法,若合法返回1,若不合法返回0。
  5. (3)设置年,月,日,并检测是否为合法日期。
  6. (4)按yyyy/mm/dd格式输出日期,若是闰年,还要输出是否是闰年的信息。
  7. 在主函数中定义一个日期类对象,任意输入年、月、日值,然后对若有成员函数进行测试。
  8. */
  9. #include <iostream>
  10. using namespace std;

  11. class BadDate{};
  12. class Date {
  13. public:
  14.         Date();
  15.         void setDate( int y, int m, int d )throw (BadDate);
  16.         void output()const;
  17. private:
  18.         int isleap()const;
  19.         int check()const;
  20.         int m_year;
  21.         int m_month;
  22.         int m_day;
  23. };

  24. Date::Date():m_year(2012), m_month(9), m_day(19) {
  25. }
  26. void Date::setDate( int y, int m, int d ) throw (BadDate){
  27.         m_year = y;
  28.         m_month = m;
  29.         m_day = d;
  30.         if (!check()) throw BadDate();
  31. }
  32. void Date::output()const {
  33.         cout<<m_year<<"/"<<m_month<<"/"<<m_day<<endl;
  34.         cout<<(isleap()?"is Leap year\n":"");
  35. }

  36. int Date::isleap()const {
  37.         return (m_year%400==0)||((m_year%4==0)&&(m_year%100!=0));
  38. }

  39. int Date::check()const {
  40.         int check_year = ( m_year > 0 );
  41.         int check_month = ( 1 <= m_month  && m_month <= 12 );
  42.         static int days[]={0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  43.         int check_day = (
  44.                 (1 <= m_day && m_day <= days[m_month])&&
  45.                 ( ( m_month==2 && !isleap() )?(m_day<=28):1 )
  46.         );
  47.         return check_year && check_month && check_day;
  48. }


  49. int main() {
  50.         try{
  51.                 Date d1;
  52.                 d1.output();

  53.                 d1.setDate(2011,7,30);
  54.                 d1.output();               

  55.                 d1.setDate(2012,2,30);
  56.                 d1.output();
  57.         }catch( BadDate& b ) {
  58.                 cout<<"bad date value "<<endl;
  59.         }
  60. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-20 10:44:25 | 显示全部楼层

谢谢版主呢  还有一题  谢了哈  还是鱼C温暖!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-20 10:52:38 | 显示全部楼层
longdeqidao 发表于 2012-9-20 10:44
谢谢版主呢  还有一题  谢了哈  还是鱼C温暖!!

1和3合并起来做了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-20 22:26:29 | 显示全部楼层

现在发现 我根本不能把第三题改成第一题  还有就是跟着老师进度的同学都有点看不懂你的程序。。我怕老师搞我。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-20 22:50:16 | 显示全部楼层
longdeqidao 发表于 2012-9-20 22:26
现在发现 我根本不能把第三题改成第一题  还有就是跟着老师进度的同学都有点看不懂你的程序。。我怕老师搞 ...

1. 我是把1和3合起来做的
2.你们老师的C++水平显然不高,这个可以从以下及格方面看出:
(1)所有的判断函数如int isleap()等函数的返回值居然不是bool类型
(2)很多const函数没有说明,不知道是自己不知道还是故意想考你们
(3)第3题中,根本就可以不用定义自己的拷贝构造函数,系统默认生成的就很好。
3.我认为正常人一眼就可以看出这些代码虽然简单但绝对不是初学者可以写得出来的
4.我现在不可能写出你们同学写出的那种“正常代码”,那些代码实际上才是不正常的
5.你就拿这个代码给你老师看又如何?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-20 22:51:42 | 显示全部楼层
忘记补充了,你们老师居然把类名以小写字母开头...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-20 22:54:18 | 显示全部楼层
此外还有一点,就是注释的问题。这个代码对于注释的处理是相当好的---就是没有注释,因为函数名,变量名,类名已经将所有的意思都表达清楚了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-9-21 10:20:17 | 显示全部楼层
仰望天上的光 发表于 2012-9-20 22:50
1. 我是把1和3合起来做的
2.你们老师的C++水平显然不高,这个可以从以下及格方面看出:
(1)所有的判断 ...

我们老师好歹也学了十几年的c++了 吧= =  版主你在哪儿高就啊   主要是我怕老师问我代码  不是我写的 解释不了  其实就是应付作业罢了 自己走自己的进度
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-21 17:46:29 | 显示全部楼层
longdeqidao 发表于 2012-9-21 10:20
我们老师好歹也学了十几年的c++了 吧= =  版主你在哪儿高就啊   主要是我怕老师问我代码  不是我写的 解释 ...

你们老师也许学了很多年C++,但是应该没有用C++做过什么实际项目。我也是老师。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-9-21 17:47:16 | 显示全部楼层
longdeqidao 发表于 2012-9-21 10:20
我们老师好歹也学了十几年的c++了 吧= =  版主你在哪儿高就啊   主要是我怕老师问我代码  不是我写的 解释 ...

你们老师难道有空看每个人的代码?一般就统计下交的人数而已。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-15 04:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表