rt,然后为什么读到了 \r……
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
string s, expl, msg;// s 表示当前消息,expl 表示被轰炸的人,msg 表示当前消息的内容
int Queuesize;
string msgname() {
string ret = "";
for(int i = 0; i < s.size(); i++) {
if(s[i + 1] == ':') return ret;
ret += s[i];
}
} // 返回发出消息的人
string msgcont() {
string ret = "";
int i;
for(i = 0; i < s.size(); i++) {
if(s[i] == ':') {
i += 2;
break;
}
}
for( ; i < s.size(); i++) ret += s[i];
return ret;
} // 返回消息内容
string findexpl() {
string ret = "";
int i;
for(i = 0; i < s.size(); i++) {
if(s[i] == '@') break;
}
++i;
for(int j = 0; j < 10; j++) {
ret += s[i];
++i;
}
for( ; i < s.size(); i++) {
if(s[i] == ' ') return ret;
ret += s[i];
}
} // 返回被轰炸的人
int main() {
while(++Queuesize) {
getline(cin, s);
if(s[0] == '\n') break;
if(msg == "") {
msg = msgcont();
expl = findexpl();
continue;
}
if(msgname() == expl) {
printf("Successful @");
cout << expl;
printf(" attempt\n");
return 0;
}
if(msgcont() != msg) {
printf("Unsuccessful @");
cout << expl;
printf(" attempt\n%d\n", Queuesize);
cout << msgname() << endl;
return 0;
}
}
printf("Unsuccessful @");
cout << expl;
printf(" attempt\n%d\nGood Queue Shape\n", --Queuesize);
return 0;
}