2013-07-22 2 views
-2

L'utilisateur est censé entrer un nom suivi de notes. Lorsque l'utilisateur atteint -1, il ne peut y avoir plus de notes stockées pour cet individu. Lorsque l'utilisateur tape X, il entre le total puis -1 pour indiquer qu'il ne peut plus stocker de notes. Je ne comprends pas pourquoi mes boucles for sortent bizarrement. Le tableau names stocke les valeurs int supposées aller au tableau numbers.Stockage des valeurs dans les tableaux

Par exemple, l'entrée devrait ressembler à ceci:

Jane 3 4 -1 
Lane 4 5 -1 
X 10 10 -1 

La sortie devrait ressembler à ceci:

Jane 3 4 
Jane had a 7/20 
Lane 4 5 
Lane had a 9/20 

Ceci est mon travail jusqu'à présent:

#include <iostream> 
#include <cstring> 
#include <string> 

using namespace std; 

int main() 
{ 
string name = " "; 
string names[20]; 
int numbers[20]; 
int i = 0, j=0, number; 

do 
{ 
    cin >> name; 
    names[i]=name; 
    i++; 

    j=0; 
    if(number!=-1) 
    { 
     cin>> number; 
     numbers[j]=number; 
     j++; 
    } 
}while(name!="X"); 

for(int x = 0; x <= i; x++) 
{ 
    for(int y = 0; y <= j; y++) 
    { 
     cout << names[x]; 
    } 
} 

} 
+0

Qu'est-ce que la théorie de your? –

+0

Vous bouclez sur y sans utiliser y. Pourquoi? –

+0

Si vous utilisez C++ alors pourquoi ne pas utiliser le STL? –

Répondre

0

One problème avec votre code est,

int i = 0, j=0, number; 

Vous utilisez le uninitialised number dans votre code

if(number!=-1) 

Il contient des valeurs de déchets qui peut co-dit en passant être -1

Questions connexes