Re[2]: getline() чудит
От: DukeNukem3D Россия  
Дата: 19.05.08 06:38
Оценка:
Здравствуйте, php-coder, Вы писали:

PC>Здравствуйте, DukeNukem3D, Вы писали:


DND>> void Set()

DND>> {
DND>> cout << "Enter Name of the employeer" << endl;
DND>> getline(cin, sName, '\n');
DND>> }
DND>>};

PC>Попробуйте заменить getline(cin, sName, '\n'); на getline(cin, sName); и подключить хедер string


Заменил, но не помогло — ведет себя точно также.

DND>> do

DND>> {

PC>Вы, видимо, код не правильно/не весь привели, потому что у вас тут есть do и нигде нет while() закрывающего.


да, прошу прощения, вот весь код


#include <iostream>    //cin, cout
#include <string>    //standard c++ clacc
#include <iomanip>    //setw

using namespace std;

lass clsEmployee
{
    private:

        string sName;
        unsigned int uiEmployeeID;
        static unsigned int uiEmpCounter;

    public:

        clsEmployee()
        {
            uiEmpCounter++;
            uiEmployeeID = uiEmpCounter;
        }

        void Print()
        {
            cout << "Name " << setw(40) << sName << " ID " << uiEmployeeID << endl;
        }

        void Set()
        {
            cout << "Enter Name of the employeer" << endl;
            getline(cin, sName);
        }
};

unsigned int clsEmployee::uiEmpCounter;

int main()
{
    short siCounter = 0;
    clsEmployee Employee[10];
    string strEmpName;
    char cCheck;

    do
    {
        cCheck = 'n';
        Employee[siCounter].Set();
        if (siCounter == 9)
        {
            cout << "Enough!" << endl;
            break;
        }
        else
        {
            cout << "Wanna enter more? (y/n) >";
            cin >> cCheck;
        }
        siCounter++;
    }
    while (cCheck != 'n');

    for ( int i = 0; i < siCounter; i++)
    {
        Employee[i].Print();
    }

    return 0;
}
С уважением, Андрей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.