2016-11-21 2 views
-6

kleines Problem, und ich kann nicht auf den Grund davon gehen. Der {in Zeile 35 erwartet eine Erklärung. Ich kann nicht für das Leben von mir es reparieren. Hier ist der gesamte Code zusammen, ich habe im Code neben dem {wo das Problem auftaucht kommentiert.Erwartet eine Erklärung CPP

#include <stdio.h> 
char ScoreMarks(float percentage); 
char ScoreRawMarks(float scoreAwarded, float mscoreAvailable); 

int main(void) 
{ 
    float percent, Awarded, Available; 
    char result; 
    printf("Enter Score Available\n"); 
    scanf("%f", &Available); 
    printf("Enter Score Awarded\n"); 
    scanf("%f", Awarded); 
    result = ScoreFromRawMarks(Awarded, Available); 
    printf("Score Achieved = %c\n", result); 
} 
char ScoreFromPercentage(float percentage) 
{ 
    char output; 
    if (percentage >= 90.0) { 
     output = 'A'; 
    } 
    else if (percentage >= 70.0) { 
     output = 'B'; 
    } 
    else if (percentage >= 50.0) { 
     output = 'c'; 
    } 
    else if (percentage >= 30.0) { 
     output = 'D'; 
    } 
    else { 
     output = 'F'; 
    } 
    return output; 
}; 
char ScoreFromRawMarks(float scoreAwarded, float scoreAvailable, float percentage); 
{ //EXPECTED DECLARATION 
    char output; 
    percentage = (scoreAwarded/scoreAvailable) * 100; 
    output = ScoreFromPercentage(scoreAwarded, scoreAvailable); 
    return output; 
} 
+3

Ist das wirklich 'C++'? Es sieht aus wie 'c' zu mir. – drescherjm

+6

Sie haben ein Semikolon am Ende der vorherigen Zeile. –

+0

Offensichtlich haben Sie "Copy-Paste" der Deklaration für die Implementierung und vergessen, das abschließende Semikolon zu entfernen ... Während wir keine Heiligen von "Do not Copy-Paste" sind ... Es kann, hat, und wird sehr weh tun ... vertrau mir ... – WhiZTiM

Antwort

2

Sie haben ein Semikolon am Ende der Zeile, die den Compiler macht denken Sie einen Funktionsprototyp tun:

char ScoreFromRawMarks(float scoreAwarded, float scoreAvailable, float percentage); 
{ //EXPECTED DECLARATION 
1

das Semikolon aus der vorherigen Zeile entfernen?

1

Den Fehler zu verstehen ist, dass die Funktion, die Sie geschrieben haben, einen Semikolon hatte, wie andere Leute angegeben haben und erwartet hat, dass eine Linie ausgeführt wird. Erwartete Deklaration Fehler müssen sich mit Semikola und Klammern befassen, also überprüfen Sie diese immer.