私は、ユーザーが車の情報を追加するプロジェクトを作成しています、そして、利用可能なすべてのcars.Butを表示する1つの関数から車の名前をコピーすることはできませんここに別の配列に配列はコードです。クラスからの動的な文字配列は、適切な結果を印刷します
#include <fstream>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace std;
const int SIZE=10;
class car
{
public:
int car_no=0;
char car_name[SIZE][20];
char car_model[SIZE][20];
char car_colour[SIZE][20];
char reg_id[SIZE][20];
int rate_per_day[SIZE];
char cars_in_lot[SIZE][20];
};
addcar()
{
char choice;
do{
car*newcar=new car;
cout<<"\t\t\t\t(->) Name : ";
cin>>newcar->car_name[newcar->car_no];
strcpy(newcar->cars_in_lot[newcar->car_no],newcar->car_name[newcar->car_no]);
cout<<endl;
cout<<"\t\t\t\t(->) [email protected]!0n number : ";
cin>>newcar->reg_id[newcar->car_no];
cout<<endl;
cout<<"\t\t\t\t(->) c0l0ur : ";
cin>>newcar->car_colour[newcar->car_no];
cout<<endl;
cout<<"\t\t\t\t(->) Model : ";
cin>>newcar->car_model[newcar->car_no];
cout<<endl;
cout<<"\t\t\t\t(->) Rate of Rent Per Day : ";
cin>>newcar->rate_per_day[newcar->car_no];
newcar->car_no++;
cout<<"Want to add another car [y/n]"<<endl;
cin>>choice;
}while(choice == 'y' || choice == 'Y');
}
void show_cars_in_lot()
{
cout<<"Avaialable Cars in Lot are : "<<endl;
car*newcar=new car;
for(int i=0;i<SIZE;i++)
cout<<i+1<<"\t"<<newcar->cars_in_lot[i]<<"\t"<<newcar->car_colour[i] <<"\t"<<newcar->car_model[i]<<"\t"<<newcar->reg_id[i]<<endl;
getch();
}
void display1()
{
cout<<"\t\t\t(1) Show Cars in Lot"<<endl;
cout<<"\t\t\t(2) Add Cars"<<endl;
}// end of display1
int main()
{
char option;
int desire_car;
do
{
int choice;
display1();
cout<<"Enter Your Choice : ";
cin>>choice;
switch(choice)
{
case 1:
show_cars_in_lot();break;
case 2:
addcar();break;
default:
cout<<"You Entered Wrong Input"<<endl;
}
cout<<"Go To Main Menu [y/n]";cin>>option;
}while(option == 'y' || option == 'Y');
return 0;
}
あなたの人生を楽にするために 'std :: string'を使用してください。 –
また、デバッガを使用して、さらに簡単にしてください。 – edmz
あなたは別のオブジェクト( 'show * car_ new_car_in_lot()'中の 'car * newcar = new car;')から別のオブジェクト( 'car * newcar = new car;' 'addcar()')に車を追加します。 'new'は、新しいインスタンスにメモリを割り当てるためだけに使用してください。おそらく 'show_cars_in_lot()'で 'new'を使う必要はありません – kay27