2016-03-21 18 views
-2

Ich kann keine Daten aus einer Textdatei lesen. Die Daten haben folgendes Format:Lesen von Zeichen und Ganzzahlen aus Textdatei

Balto 85 83 77 91 76 
Mickey 80 90 95 93 48 
Minnie 78 81 11 90 73 
Doc 92 83 30 69 87 
Pluto 85 72 49 75 63 
Grumpy 27 31 52 74 83 

Ich muss die Summe der ganzen Zahlen vor jedem Namen berechnen. Keine Strings erlaubt, keine Arrays! Kann mir jemand dabei helfen ??

Code habe ich versucht, so weit ist:

int main() 
{ 
    ifstream infile; 
    char b; 
    int x, i=0, sum=0, j=1; 

    infile.open("input.txt"); 

    if (infile.fail()) 
    { 
     cout<<"Unable To Open Input File, File Not Found!!"<<endl; 
     exit(1); 
    } 

    while (i < 6) 
    { 

     infile.get(b); 

     while (b != ' ') 
     { 
      cout<<b; 
      infile.get(b); 
     } 

     infile>> x; 

     while (j<=5) 
     { 
      sum = sum + x; 
      infile>> x; 

      j++; 
     } 

     cout<<"'s Average is: "<<sum/5<<endl; 

     i++; 

    } 
+1

Wo ist der Code, den Sie bereits versucht und nicht funktioniert? – DimChtz

+0

Das scheint eine Hausaufgabe zu sein. –

+0

Und abgesehen von dem Tag, würde ich nicht einmal die Sprache, in der Sie es schreiben ... – Aaron3468

Antwort

0

Das Problem ist hier:

while (j<=5) { 
    sum = sum + x; 
    infile>> x; 

    j++; 
} 

Nach der ersten Zeile j ist immer 5. Also, die Schleife, die die Zahlen bekommt und berechnet den Durchschnitt startet einfach nicht. Setzen Sie einfach die zurück auf 1 nach der Schleife:

while (j<=5) { 
    sum += x; 
    infile >> x; 

    j++; 
} 

cout << "Average is: "<< sum/5.0f << endl; 

i++; 
j = 1; 
sum = 0; 
+0

Das war einer der Fehler, eine andere Sache, die ich herausgefunden habe, war, dass die Summe nach jeder Iteration der Schleife ebenfalls Null sein sollte. Aber immer noch hat das Problem nicht gelöst !! –

+0

Ja, das ist ein weiteres Problem, das ich nicht bemerkt habe – DimChtz

+0

Jetzt sollte es funktionieren, also was hast du jetzt Problem? – DimChtz