Cin结构与cin.get

时间:2015-03-27 12:44:23

标签: c++ structure

我是新来的!

我是编程的初学者。现在我从我的书中做了一些练习,我有疑问 - 为什么在

cin.get(ps->volume);

告诉我错误?这是我的整个代码:

#include <iostream>

using namespace std;

struct inflatable //definicja struktury
{
   char name[20];
   float volume;
   double price;
};

int main()
{
   inflatable *ps = new inflatable; //alokacja pamieci na strukture, dynamiczne
   cout << "Podaj nazwe dmuchanej zabawki: ";
   cin.get(ps->name,20); //metoda pierwsza dostepu do pól
   cout << "Podaj objetosc w centymetrach: ";
   //cin >> (*ps).volume; //metoda druga dostepu do pól
   cin.get(ps->volume);
   cout << "Podaj cene (zl): ";
   cin >> ps->price;
   cout << "Nazwa: " << (*ps).name << endl;
   cout << "Objetosc: " << ps->volume << " centymetrow." << endl; //metoda 1
   cout << "Cena: " << ps->price << " zl." << endl; //metoda 1
   delete ps;

   return 0;
}

我知道这条线很好

//cin >> (*ps).volume; //metoda druga dostepu do pól

但我想明白为什么我不能在帖子的开头使用line。

1 个答案:

答案 0 :(得分:1)

嗯,cin.get()用于字符。 声明的卷有一个浮点数,因此它应该是:

cin>>ps->volume;