所以我有這個文件,它有一些字符串和數字,它從西班牙足球甲級聯賽是:從文件讀取字符串,並在C++不同的變量保存的不同部分
Malaga 1 Levante 1
Malaga 1 Osasuna 1
Osasuna 1 Deportivo 1
Osasuna 1 Madrid 2
Osasuna 1 Levante 1
Osasuna 1 Malaga 1
#
好吧,我有什麼要做的就是閱讀這些內容,然後用5個不同的變量保存不同的球隊(馬拉加,萊萬特,奧薩蘇納,拉科魯尼亞和馬德里),還必須將他們在一個變量中爲每個球隊所取得的目標以及他們在另一個球隊中得到的目標爲每個團隊。 這裏是我的代碼:
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
const char FI='#';
const int MAX_EQUIPS=20;
struct Equip {
string nomEquip;
int golsf;
int golsc;
int punts;
};
typedef Equip TaulaEquip[MAX_EQUIPS];
struct EquipLliga {
TaulaEquip t;
int n;
};
int cercaEquip(EquipLliga l, string equip) {
// Pre: --
// Post: si equip no hi es a d.t, retorna -1
// altrament retorna posicio de l'equip de nom equip a d.t
int ret=l.n-1;
bool trobat= false;
while (ret>=0 and not trobat) {
if (l.t[ret].nomEquip.compare(equip)==0) trobat= true;
else ret--;
}
return ret;
}
void llegir(ifstream & f) {
string string1;
f.open("Lliga.txt");
char output;
if (f.is_open()) {
while (!f.eof()) {
getline(f,string1);
cout << string1 << endl;
}
}
f.close();
}
void actualitzacioGols(ifstream & f, EquipLliga & e) {
// Pre: f obert
// Post: ha llegit totes les dades de f, incorporat altes i traspasos a al, i els
// ingresos i despeses dels equips per altes, baixes i traspasos a d
char tipus;
string equipA, equipB;
int golsf=0, golsc=0, cerca;
e.n=0;
f >> tipus;
while (tipus!=FI) { // per cada equip
cerca=cercaEquip(e,equipA);
if (cerca=-1)
{
e[n].e.nomEquip=equipA;
e[n].e.golsf=l[n].e.golsf+golsA;
e[n].e.golsf=l[n].e.golsf+golsB;
}
else
{
e[cerca].e.golsf=l[cerca].e.golsf+golsA;
e[cerca].e.golsc=l[cerca].e.golsc+golsB;
}
lliga.n++;
cerca=cercaEquip(e,equipB);
if (cerca=-1)
{
e[n].e.nomEquip=equipB;
e[n].e.golsf=l[n].e.golsf+golsA;
e[n].e.golsf=l[n].e.golsf+golsB;
}
else
{
e[cerca].e.golsf=l[cerca].e.golsf+golsA;
e[cerca].e.golsc=l[cerca].e.golsc+golsB;
}
}
int main() {
}
我在使用功能的問題 '無效actualitzacioGols(ifstream的&樓EquipLliga & E)'。我不知道如何對它進行編碼,以便它讀取到第一個空格,然後將其保存到第一個團隊變量'equipA',然後將第一個數字保存到第一個目標變量'golsf'中,並與另外兩個。
任何想法或有用的提示來解決這個問題? 我對C++很陌生。
如果是C++,不要將其標記爲C. C程序員可能不會能夠幫助您使用C++。 – netcoder 2013-02-12 15:44:37
哎呀我以爲它會在C中一樣,對不起; p! – 2013-02-12 15:53:22
是您提前知道的球隊名稱? – 2013-06-04 02:57:32