逃离色彩 发表于 2008-5-13 22:04

<求助>请帮把这几道题编程

跪求了,要开始了,请大家帮帮忙.

[color=Red]1、编写一个C++程序,用面向流的输入/输出提示用户输入7个整数,计算并打印出其中的最大值。

2、设计累加器类,求1—100的偶数之和,要求使用静态数据成员sum存放求和值。

3、定义一个盒子box类,其数据成员有:长(length)、宽(width)和高(height),成员函数包括构造函数、析构函数、提供盒子体积函数及提供盒子表面积函数。并定义一个box类的对象进行测试。[/color]

4、为string类定义一个类转换函数:
string::operator const char *( );
以保证下面的程序能正确运行:
if (strcmp(ob1,ob2)= =0)
   cout<<ob1<<” is equal to “<<ob2<<endl;
else
   cout<<ob1<<”  is not equal to “<<ob2<<endl;
其中ob1和ob2是string类的对象。


[color=Red]5、定义类time,数据成员有hour, minute和second 。以“时:分:秒”(24时制)的格式输出时间,还提供将时间增加一秒的成员函数nextime( ),要求能测试出如下的结果:
① 能够进入下一分钟。
② 能够进入下一小时。[/color]



[color=Red]红色部分以解...[/color]

[[it] 本帖最后由 逃离色彩 于 2008-5-14 21:44 编辑 [/it]]

newyj 发表于 2008-5-13 22:37

第一道题
#include<iostream>
using namespace std;

int main(){
  int a[7]={0},max=0;
  cout<<"输入7个整数:";
  for(int i=0;i!=7;i++){
    cout<<"输入第i个数:";
    cin>>a[i];
  }
  max=a[0];
  for(int j=1;j!=7;j++){
    int var=0;
    if(max<a[j]){
      var=max;
      max=a[j];
      a[j]=var;
    }
  }
  cout<<"最大数为:"<<max<<endl;
  return 0;
}

[[it] 本帖最后由 newyj 于 2008-5-14 14:06 编辑 [/it]]

newyj 发表于 2008-5-13 22:49

这个有错误 不知道 是那里的问题
还请指教 谢谢了
#include<iostream>
using namespace std;

class num{
  public:
    int var();
  private:
    static int sum;
}
static int num::sum=0;
int num::var(){
  for(int i=0;i!=100;i++){
    if(i%2==0) sum+=i;
  }
  return 0;
}

int main(){
  num a;
  cout<<"1--100的偶数之和:"<<a.var()<<endl;
  return 0;
}

sunkaidong 发表于 2008-5-13 23:19

return 0;??
static int sum;??

逃离色彩 发表于 2008-5-14 08:39

谢谢二楼的兄弟.

逃离色彩 发表于 2008-5-14 08:42

第二道题是答案写的不太对吗?

zjl138 发表于 2008-5-14 09:43

to newyj:
#include<iostream>
using namespace std;

class num{
  public:
    int var();
  private:
    static int sum;
}
static int num::sum=0;//这里,sum被重复定义。
int num::var(){
  for(int i=0;i!=100;i++){          //这里少加了100。
    if(i%2==0) sum+=i;
  }
  return 0;  //这里改为return sum;
}

int main(){
  num a;
  cout<<"1--100的偶数之和:"<<a.var()<<endl;
  return 0;
}
//还有个人建议写代码最好用这里风格:
int main()
{
.....
}

最后多说一句,楼主真懒。

dubaoshi 发表于 2008-5-14 10:43

呵呵,最后还给个评价^_^
[tk01] [tk05] [tk05] [tk13] [tk12]

逃离色彩 发表于 2008-5-14 11:24

[tk01] 不是我懒啊,是完全不会,但是要考.所以才来求助,大家帮帮忙拉.

sunkaidong 发表于 2008-5-14 11:29

我也要考试了...不过比你这个更饶头..呵呵

逃离色彩 发表于 2008-5-14 11:43

[tk04] 我这只是一科,还有操作系统了,更恶心.minix的..恶心死我了.

guojun923 发表于 2008-5-14 13:20

上面的那个求最大的有错误啊

上面的那个求最大的有错误啊

zjl138 发表于 2008-5-14 13:40

数组初始化错误。
楼上可以自已改好,再发上来给大家看一下。

daocaorenhe 发表于 2008-5-14 17:37

回复 1# 的帖子第一题

#include <iostream.h>

void main()
{
        int i, temp, a[7] = {0};
        temp = a[0];
       
        cout<<"please input sever number:"<<endl;
        for (i = 0; i < 7; i++)
        {
                cin>>a[i];
                if (temp < a[i])
                        temp = a[i];
        }
        cout<<"the max number is:"<<temp<<endl;

}

daocaorenhe 发表于 2008-5-14 17:39

回复 1# 的帖子第一题

#include <iostream.h>

void main()
{
        int i, temp, a[7] = {0};
        temp = a[0];
       
        cout<<"please input sever number:"<<endl;
        for (i = 0; i < 7; i++)
        {
                cin>>a[i];
                if (temp < a[i])
                        temp = a[i];
        }
        cout<<"the max number is:"<<temp<<endl;

}

daocaorenhe 发表于 2008-5-14 19:38

the second

#include <iostream.h>

class num
{
public:
    int var();

private:
    static int sum;
};
int num::sum = 0;

int num::var()
{
  for(int i = 0; i <= 100; i++)
  {
    if(i % 2==0)
                sum += i;
  }
  return sum;
}

int main()
{
  num a;
  cout<<"1--100的偶数之和:"<<a.var()<<endl;
  return 0;
}

daocaorenhe 发表于 2008-5-14 19:39

the third

#include <iostream.h>

class box
{
public:
        box(float i, float j, float k);
        ~box();
  float        bulk();
  float        area();
private:
        float length;
        float width;
        float height;
};

box::box(float i, float j, float k)
{
        length = i;
        width = j;
        height = k;
}

box::~box()
{
}

float box::bulk()
{
        float bulk;
        bulk = length*width*height;
        return bulk;
}

float box::area()
{
        float area;
        area = 2*(length*width + width*height + length*height);
        return area;
}

void main()
{
        box BOX(1,2,3);
        cout<<"the bulk is:"<<BOX.bulk()<<endl;
        cout<<"the area is:"<<BOX.area()<<endl;
}

daocaorenhe 发表于 2008-5-14 19:40

第四题看不懂什么意思,所以直接第五题

#include <iostream.h>
#include <string.h>
class time
{
public:
        time();
        ~time();
  void        nextime();
  void        display();
private:
        int hour;
        int minute;
        int second;
};

time::time()
{
        hour = 0;
        minute = 0;
        second = 0;
}

time::~time()
{
}

void time::nextime()
{
        second += 1;
            if (second == 60)
                {
                        minute += 1;
                        second = 0;
                }
                if (minute == 60)
                {       
                        hour += 1;
                        minute = 0;
                }
                if (hour == 24)
                        hour = 0;
}

void time::display()
{
       
        cout<<hour<<"时 "<<minute<<"分 "<<second<<"秒"<<endl;
       
}

void main()
{
        time TIME;
    TIME.display();
while(1)
{
        char a;
        cin>>a;
        if (a != 'q')
        {
                TIME.nextime();
        TIME.display();
        }
        else
                break;       
}
}

页: [1]

编程论坛