Ввод с клавиатуры

  • Автор темы Irisha
  • Дата начала
I

Irisha

#1
Здравствуйте! Может быть вы подскажете, что и где неправильно: ну никак не получается считать с клавиатуры:
Хочу просто ввести данные с клавиатуры и вывести их на экран:
C++:
#include <iostream>
#include <iomanip>
using namespace std;
#include <conio.h>
class PL
{
char Naz[];
int Code;
int Sum;
public:
PL();
~PL();
void vvod();
void show();
};

PL::PL()
{
Naz = new char[100]; 
Code = 0;
Sum = 0;

}

PL::~PL()
{
delete[]Naz;
}

void PL::vvod()
{
fflush(stdin);
cout <<endl<< "Vvedite naznachenie platega "<<endl;
cin >> Naz;
cout <<endl<< "Vvedite cod poluchatelya"<<endl;
cin >> Code;
cout <<endl<< "Vvedite summu platega"<<endl;
cin >> Sum;
}

void PL::show()
{
cout<<endl<<Naz;
cout<< endl<< Code << endl << Sum << endl;
}

int main()
{
PL *p1,*p2;
p1 = new PL();
cout<<"Vvedite plateg #1: "<<endl;
p1->vvod();
p2 = new PL();
cout<<"Vvedite plateg #2: "<<endl;
p2->vvod();
p1->show();
p2->show();
cout<<endl;
getch();
return 1;
}
В итоге я могу ввести только
cout <<endl<< "Vvedite naznachenie platega "<<endl;
cin >> Naz;
а все остальное у меня и не спрашивается, а выводится на экран: первое слово 1го платежа, код 0, сумма 0, для второго платежа: пустое название, код 0, сумма 0. В чем может быть причина? Что я делаю не так?
Заранее спасибо!
 
B

burime

#2
расскажите мне не образованному, а что это делает? ->> fflush(stdin);
 
C

ChexoV

#3
странно,проверил тока что.Ввод и вывод в поряде.попробуй через gets и scanf )а fflush по моему чистит буфер что ли)
 
I

Irisha

#5
fflush в правду чистит буфер (я думала, может это как-то поможет)... Ввод так и не получился пока что, но буду пробовать cin.get cin.getline gets и scanf ) Спасибо!!!