subset(transform(frame, total=ave(Freq, A, FUN=sum)), B==1, select=-B)
# A Freq total
#3 0 8 83
#4 1 6 27
问题是,在电子邮件地址之后它没有收到输入,程序忽略了在phno中输入,直接在电子邮件地址后退出。
答案 0 :(得分:0)
我对您的代码稍作修改。
请注意,我直接在变量cin.ignore()
或cin
上使用cin >> S1.ID
后,仅致电cin >> S1.phno
。
这是因为当你在int上使用cin
时,它会将\n
留在缓冲区中。当您稍后致电getline(cin,...)
时,您只需填充剩余的\n
,并认为这是您的整个"行。"
有一个工作示例here。
#include <iostream>
#include <string>
using namespace std;
struct Student
{
int ID;
long phno;
string name;
string depart;
string email;
};
int main ()
{
Student S1 ;
cout << "\n=======================================================\n" ;
cout << "Enter ID no. of student 1 :\n" ;
cin >> S1.ID ;
cin.ignore();
cout << "Enter name of student 1 :\n" ;
getline(cin, S1.name) ;
cout << "Enter department of student 1 :\n" ;
getline(cin, S1.depart) ;
cout << "Enter phone number of student 1 :\n" ;
cin >> S1.phno ;
cin.ignore();
cout << "Enter email adress of student 1 :\n" ;
getline(cin, S1.email) ;
cout << endl << endl;
cout << S1.ID << endl << S1.name << endl << S1.depart << endl << S1.phno << endl << S1.email << endl;
return 0;
}