-7

我是 C++ 新手。必须在主函数中实现输入源数据和输出结果(使用操作符开关)。在案例 1 中我需要在数组中输入 10 个数字。在案例 1 中如何在数组中输入 10 个数字?

#include <iostream>
#include <iomanip>
#include <conio.h>

using namespace std;

class Array {
  int SIZE; //array size
  int *mass; //array name
  public: 

  Array(int = 0); 

  Array(const Array &ob); 

  void set_mass(int ,int ); 

  int get_mass(int)const; 

  void show_mass(void) const; 
  ~Array(); 
};


Array :: ~Array(){ 
  delete [] mass; 
}


Array::Array(const Array &ob):SIZE(ob.SIZE)
{
  mass = new int [SIZE];
  if(!mass) exit(1);

  for(int i=0;i<SIZE;i++) 
    mass[i]=ob.mass[i];
}

Array::Array(int N){
  if(N < 0) {cout<<"Size error!!!!\n"; return;}

  N=10;
  SIZE = N;
  mass = new int[SIZE];
  if(!mass) exit(1);

  for(int i = 0;i < SIZE; i++) {
    mass[i] = i+1;
  }
}

void Array::set_mass(int i,int x)
{ 
  mass[i] = (i >= 0 && i <SIZE) ? x :0; 
}

int Array::get_mass(int i) const
{ 
  return (i >= 0 && i < SIZE) ? mass[i] : 0; 
}

void Array::show_mass( void ) const{ 
  for(int i = 0; i < SIZE; i++)
    cout<<"["<<i<<"]="<<mass[i]<<endl;

}


int menu()   //menu
{
  cout<<"Enter: "<<endl;
  cout<<"1 - Array"<<endl;
  cout<<"2 - Show"<<endl;
  cout<<"0 - Quit"<<endl;
  int z;
  cin»z;
  return z;
}


void main()
{
  int SIZE;
  Array *mass[10];
  while (int z=menu())
  {

    switch(z)
    {

      case 1:
        {

          cout<<"Enter 10 numbers: ";

          break;
        }

      case 2:
        {
          for(int i=0;i<SIZE;i++){
            Array A1;
            A1.show_mass();
          }
          break;
        }

      default:
        {
          cout<<"Error"<<endl;
          break;
        }
    }
  }

  getch();
}
4

2 回答 2

1

您想要做的事情有几个部分,并且根据您的代码,您似乎是一个完整的初学者。

你最好的选择是研究字符串流。您也可以签出scanf。至于将数据放入数组类,为什么不直接使用 std::array 或 std::deque?

于 2012-10-18T19:45:03.847 回答
1

我相信这是一个家庭作业问题!无论如何写一个单独的方法

void GetTenNumbers(int arr[]){  
    for(int counter =0; counter <10; counter ++){  
        cout<<"Enter number ";  
        cin>> arr[counter];  
    }  
}

做这样的事情

case 1: 
{
  cout<<"Enter 10 numbers: ";
  GetTenNumbers(arr);
  break;
}
于 2012-10-18T19:45:11.023 回答