我是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();
}
答案 0 :(得分:1)
您想要做的事情有几个部分,根据您的代码,您似乎是一个完整的初学者。
您最好的选择是研究字符串流。您也可以结帐scanf。至于将数据放入数组类中,为什么不使用std :: array或std :: deque?
答案 1 :(得分: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;
}