(string) (int) (string) (int) である文字列を分割する必要があります。最初の文字列が「#」になるまでこれを続けます。しかし、最後に '#' を入力したいときはいつでも、# (int) (string) (int) という文字列全体を入力する必要があります。文字列全体ではなく、# を入力して終了するだけで済むようにコーディングするにはどうすればよいですか? これは私が持っているコードです:
void afegirEquips(EquipLliga & e) {
// Pre: --
// Post: Afegeix els equips entrats per teclat amb els seus gols al vector d'equips i calcula els seus punts
string equipA, equipB;
int golsA=0, golsB=0, n=0, cerca;
e.n=0;
cin >> equipA;
cin >> golsA >> equipB >> golsB; // Entra el primer equip per poder comprobar la condicio del 'while'
while(equipA!=FI) {
if(e.n>0) {
cin >> equipA;
cin >> golsA >> equipB >> golsB; // Entra tots els equips menys el primer
}
cerca=cercaEquip(e,equipA);
int posA=0;
if(cerca==-1) { // Guarda la informacio del primer equip entrat i actualitza els gols i punts
e.t[n].nomEquip=equipA; // en el cas que l'equip sigui nou a la llista d'equips
e.t[n].golsf=golsA;
e.t[n].golsc=golsB;
if(golsA>golsB) e.t[n].punts=e.t[n].punts+3;
if(golsA<golsB) e.t[n].punts=e.t[n].punts;
if(golsA==golsB) e.t[n].punts=e.t[n].punts+1;
e.n++;
n++;
}
else { // Guarda la informacio del primer equip entrat i actualitza els gols i punts
e.t[cerca].golsf=e.t[cerca].golsf+golsA; // en el cas que l'equip ja existeixi a la llista d'equips
e.t[cerca].golsc=e.t[cerca].golsc+golsB;
if(golsA>golsB) e.t[cerca].punts=e.t[cerca].punts+3;
if(golsA<golsB) e.t[cerca].punts=e.t[cerca].punts;
if(golsA==golsB) e.t[cerca].punts=e.t[cerca].punts+1;
}
cerca=cercaEquip(e,equipB);
int posB=0;
if(cerca==-1) { // Guarda la informacio del segon equip entrat i actualitza els gols i punts
e.t[n].nomEquip=equipB; // en el cas que l'equip sigui nou a la llista d'equips
e.t[n].golsf=golsB;
e.t[n].golsc=golsA;
if(golsA>golsB) e.t[n].punts=e.t[n].punts;
if(golsA<golsB) e.t[n].punts=e.t[n].punts+3;
if(golsA==golsB) e.t[n].punts=e.t[n].punts+1;
e.n++;
n++;
}
else { // Guarda la informacio del segon equip entrat i actualitza els gols i punts
e.t[cerca].golsf=e.t[cerca].golsf+golsB; // en el cas que l'equip ja existeixi a la llista d'equips
e.t[cerca].golsc=e.t[cerca].golsc+golsA;
if(golsA>golsB) e.t[cerca].punts=e.t[cerca].punts;
if(golsA<golsB) e.t[cerca].punts=e.t[cerca].punts+3;
if(golsA==golsB) e.t[cerca].punts=e.t[cerca].punts+1;
}
}
}
コードの残りの部分は気にしないでください。重要なのは cin だけです。何か案が?