Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Getline在使用cin.ignore()时忽略第一个字符_C++_Oop_Structure_Getline_C Strings - Fatal编程技术网

C++ Getline在使用cin.ignore()时忽略第一个字符

C++ Getline在使用cin.ignore()时忽略第一个字符,c++,oop,structure,getline,c-strings,C++,Oop,Structure,Getline,C Strings,我试图将信息输入到一个结构中,如姓名、地址、联系电话等。但实际情况是,第一名员工姓名的第一个字符被删除,而其他员工的姓名是完整的 void input(){ char ans; int i=0; int x=1; char num[2]; char temp1[5] = "E0"; char id1[5] = "E0"; do{ system ("c

我试图将信息输入到一个结构中,如姓名、地址、联系电话等。但实际情况是,第一名员工姓名的第一个字符被删除,而其他员工的姓名是完整的

    void input(){
        char ans;
        int i=0;
        int x=1;
        char num[2];
        char temp1[5] = "E0";
        char id1[5] = "E0";


        do{
            system ("cls");
            if (x<10){
                strncpy(temp1,id1,1);
            }

            cout<< "Employee Number: " << temp1 << x;
            itoa(x,num,10);
            strcat (temp1,num);
            strcpy(emp[i].num,temp1);
            cout<< endl;
            cout<< "Name: ";
            cin.ignore();
            cin.getline(emp[i].name,99);
            cout<<"Address: ";  
            cin.getline(emp[i].add, 99);
            cout<<"Contact Number: ";
            cin>> emp[i].connum; 
            cout<<"Department: ";
            cin.ignore();
            cin.getline(emp[i].dept,99);
            cout<<"Position: ";
            cin.getline(emp[i].pos,99);
            cout<<"Date Started: ";
            cin>> emp[i].date;
            cout<<"Rate per Day: ";
            cin>>emp[i].rateperd;
            cout<< fixed << setprecision(2);
            cout<<"Rate per Hour: ";
            emp[i].rateperh=emp[i].rateperd/8;
            cout<<emp[i].rateperh<<endl;
            cout<<"Overtime Rate: ";
            emp[i].otrate=emp[i].rateperh*1.5;
            cout<< emp[i].otrate<<endl;
            i++;
            x++;
            strcpy(temp1,id1);
            cout<< "Would you like to ADD another EMPLOEE (Y/N)?";
            cin>> ans;
        }while (ans == 'Y' || ans == 'y');
    }
void输入(){
查尔安斯;
int i=0;
int x=1;
字符数[2];
字符temp1[5]=“E0”;
字符id1[5]=“E0”;
做{
系统(“cls”);
如果(x
cin.ignore();
忽略一个字符。将
cin.ignore();
从当前位置移动到ans