注册 登录
编程论坛 C++教室

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

逃离色彩 发布于 2008-05-13 22:04, 1529 次点击
跪求了,要开始了,请大家帮帮忙.

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

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

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


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类的对象。


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




红色部分以解...

[[it] 本帖最后由 逃离色彩 于 2008-5-14 21:44 编辑 [/it]]
17 回复
#2
newyj2008-05-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]]
#3
newyj2008-05-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;
}
#4
sunkaidong2008-05-13 23:19
return 0;??
static int sum;??
#5
逃离色彩2008-05-14 08:39
谢谢二楼的兄弟.
#6
逃离色彩2008-05-14 08:42
第二道题是答案写的不太对吗?
#7
zjl1382008-05-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()
{
.....
}

最后多说一句,楼主真懒。
#8
dubaoshi2008-05-14 10:43
呵呵,最后还给个评价^_^
#9
逃离色彩2008-05-14 11:24
不是我懒啊,是完全不会,但是要考.所以才来求助,大家帮帮忙拉.
#10
sunkaidong2008-05-14 11:29
我也要考试了...不过比你这个更饶头..呵呵
#11
逃离色彩2008-05-14 11:43
我这只是一科,还有操作系统了,更恶心.minix的..恶心死我了.
#12
guojun9232008-05-14 13:20
上面的那个求最大的有错误啊
上面的那个求最大的有错误啊
#13
zjl1382008-05-14 13:40
数组初始化错误。
楼上可以自已改好,再发上来给大家看一下。
#14
daocaorenhe2008-05-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;

}
#15
daocaorenhe2008-05-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;

}
#16
daocaorenhe2008-05-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;
}
#17
daocaorenhe2008-05-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;
}
#18
daocaorenhe2008-05-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