2010-04-29 9 views
0
void display_totals(); 
int exam1[100][3];// array that can hold 100 numbers for 1st column 
int exam2[100][3];// array that can hold 100 numbers for 2nd column 
int exam3[100][3];// array that can hold 100 numbers for 3rd column 
int main() 
{ 
    int go,go2,go3; 
    go=read_file_in_array; 
    go2= calculate_total(exam1[],exam2[],exam3[]); 
    go3=display_totals; 
    cout << go,go2,go3; 
    return 0; 
} 
void display_totals() 
{ 

    int grade_total; 
    grade_total=calculate_total(exam1[],exam2[],exam3[]); 
} 
int calculate_total(int exam1[],int exam2[],int exam3[]) 
{ 
    int calc_tot,above90=0, above80=0, above70=0, above60=0,i,j; 
    calc_tot=read_file_in_array(exam[100][3]); 
    exam1[][]=exam[100][3]; 
    exam2[][]=exam[100][3]; 
    exam3[][]=exam[100][3]; 
    for(i=0;i<100;i++); 
     { 
      if(exam1[i] <=90 && exam1[i] >=100) 
       { 
        above90++; 
        cout << above90; 
       } 
     } 
     return exam1[i],exam2[i],exam3[i]; 

} 

int read_file_in_array(int exam[100][3]) 
{ 
    ifstream infile; 

    int num, i=0,j=0; 
    infile.open("grades.txt");// file containing numbers in 3 columns 
    if(infile.fail()) // checks to see if file opended 
    { 
     cout << "error" << endl; 
    } 
    while(!infile.eof()) // reads file to end of line 
     { 
      for(i=0;i<100;i++); // array numbers less than 100 
      { 
      for(j=0;j<3;j++); // while reading get 1st array or element 
      infile >> exam[i][j]; 
      cout << exam[i][j] << endl; 
      } 
     } 
    infile.close(); 
    return exam[i][j]; 
} 
+3

errorerror? Cela semble beaucoup plus grave qu'une erreur normale :-) – paxdiablo

+0

Sur quelle ligne est votre erreur? –

+0

30-33, 27 sont les lignes que j'ai des problèmes avec – user320950

Répondre

1

Le type de données que vous transmettez à calculate_total est incorrect. C++ le voit comme un pointeur vers un int. Vous passez dans un tableau à deux dimensions. Vous devez faire en sorte que le type d'entrée de votre fonction calculate_total corresponde au type de votre tableau.

De plus, tous ces extra [] ne sont pas une syntaxe valide. Lors de la transmission d'une variable définie en tant que tableau, transmettez uniquement le nom de la variable.

// Invalid function call 
f(myArray[]); 

// Valid function call 
f(myArray); 

À l'intérieur de la fonction actuelle, qu'essayez-vous de faire? Essayez-vous de modifier un élément de exam1, exam2 et exam3 à la valeur de exam [100] [3]?

Il vous manque également la déclaration du tableau int exam[100][3]. Je ne le vois nulle part dans votre code.

Et dans le retour de calculate_total, votre déclaration de retour est malformée. Vous ne pouvez renvoyer qu'une seule valeur, contrairement à Python où cela retournerait un tuple contenant trois éléments.

+1

La déclaration de retour n'est pas mal formé, il ne fait probablement pas ce qui est attendu. Son utilisation de l'opérateur virgule et rejette simplement tout sauf la dernière valeur. –

+0

im essayant de trier les nombres dans le tableau à partir du fichier texte que j'ai lu. comme 100-90 est un A, 90-80 est un B et ainsi de suite. et puis allez à la colonne suivante et faites la même chose, puis le troisième et total tous les A, B, C, D, F et les imprimer sur l'écran à la fin – user320950

+0

je devrais utiliser i et j au lieu de 100 et 3 – user320950

0

J'ai observé les questions suivantes dans votre code

  1. read_file_in_array nécessite entre parenthèses. go = read_file_in_array; // Fonction non valide Appel

  2. passage des tableaux comme arguments

  3. display_totals nécessite entre parenthèses

  4. prototypes de fonction ont été portées disparues au début

  5. display_totals retourneront rien. Mais vous l'attribuez à une variable

  6. Je ne comprends pas ce que fait cette fonction calculate_total.

S'il s'agit de votre code d'origine, il y a beaucoup de problèmes dans ce code. J'ai pris ce code tel qu'il est et compilé en utilisant le compilateur Turbo C++. J'ai eu environ 24 erreurs.

Pouvez-vous s'il vous plaît refactoriser votre code et le compiler.

+0

je reçois ces erreur C2059: erreur de syntaxe: '] et je ne sais pas pourquoi – user320950

+0

Est-ce votre code source complet? Sinon, pouvez-vous partager le code exact pour lequel vous obtenez cette erreur. – Dinesh

Questions connexes