读书人

一个循环的有关问题 内详

发布时间: 2012-03-01 10:25:46 作者: rapoo

求助 一个循环的问题 内详
设计一个名为car的结构,存储一下两个信息:生产商和生产年份。编写一个程序 向用户询问有多少辆汽车 随后程序使用new来创建一个由相应数量的car结构组成的动态数组 接下来 程序提示用户输入每辆车的生产商和生产年份 最后程序将显示每个结构的内容

以下是我编写的 输入部分
#include <iostream>
using namespace std;
struct car
{
char name[20];
int year;
};

int main()
{
int x;
cout << "how many cars do you wish to catalog? ";
cin >> x;
car *ps = new car[x-1];
for (int a=1;a<=x;a++)
{
cout << "car #" << a << endl;
cout << "enter the make: ";
cin.get(ps->name,20);
cout << "enter the year made: \n";
cin >> (*ps).year;
}
return 0;
}
运行结果:
for中的两个输入语句被程序无视 无法输入生产商和生产年份
求高手解。。。。

[解决办法]
帮你修改了下
int x;
cout << "how many cars do you wish to catalog? ";
cin >> x;
car *ps = new car[x];
for (int a = 0; a < x; a++)
{
cout << "car #" << a << endl;
cout << "enter the make: ";
//cin.get((ps+a)->name,20);
cin >> (ps + a)->name;
cout << "enter the year made: \n";
cin >> (ps + a)->year;
}

for (int i = 0; i < x; i++)
{
cout << "name:" << (ps + i)->name << "\t" << "year:" << (ps + i)->year << endl;
}

读书人网 >C++

热点推荐