Probleme beim Compilieren
-
Hallo zusammen,
ich habe folgendes Problem:Ich möchte meinen Quellcode Compilieren, jedoch gibt der Compiler einen
Fehler aus.
Der Fehler: "char ant = Abfrage();"(Zeile 17)Was ist daran Falsch?
Würde mich über eure Hilfe Freuen.
Das ist der dazugehörige Quelltext:
#include <iostream> using namespace std; char Abfrage(); /* Abfrage der Übereinstimmung der Geratenen Zahl. */ char Groesser(); /* Abfrage ob die Rate-zahl Größer ist als die Zuratende. */ void Gewonnen(); /* Ausgabe der Gratulation. */ int guess = 50; /* Globale User-eingabe-Variable, da von mehreren Funktionen Benutzt. */ int main(){ unsigned int max = 100, min = 0; /* initalisierung von MAX-Wert, MIN-Wert, Rate-wert. */ bool geraten = false; /* initialisierung von Test-Variable für die ueberpruefung. */ do( char ant = Abfrage(); if(ant == 'y'){ Win(); /* Ausgabe der Gewinn-nachricht */ geraten = true; /* Variable geraten wird true zugewiesen, da Zahl erraten wurde. */ }else char ant = Groesser(); if(ant == 'y'){ min = guess; /* Da Zahl groesser kann MIN sich erhoehen. */ guess += (max - min)/2; /* guess wird auf die haelfte der uebrig geblibenen zahlen erhoet. */ }else{ max = guess; /* Da Zahl kleiner kann MAX sich senken. */ guess -= (max - min)/2; /* guess wird auf die haelfte der uebrig geblibenen zahlen gesenkt */ } } )while(geraten == false) return 0; } char Abfrage(){ char ant; System("cls"); /* Saeuberung der Konsole */ cout << "Ist Ihre Zahl: " << guess << " ?" << endl; cout << "Antwort: "; cin >> ant; /* Speicherung der User-Eingabe in ant */ return ant; } char Groesser(){ char ant; cout << "Ist Ihre Zahl größer als" << guess << " ? \n"; cout << "Antwort: "; cin >> ant; return ant; } void Win(){ System("cls"); /* Saeberung der Konsole */ cout << "Herzlichen Glückwunsch, Sie haben gewonnen!\n\n" System("pause"); /* Warten auf beliebigen Tastendruck. */ }
-
Wenn das Hilft der Compiler gibt folgendes aus:
[Error] expected primary-expression before 'char'
-
do( ... )while(geraten == false)
Bist du sicher, dass du da die richtigen Klammern benutzt hast?
-
@hailaiter
Klar stimmen die Klammern. Kennst du nicht die neuedo-else-while
Schleife?
-
Danke, hab das garniert gemerkt...
Jetzt funktioniert alles einwandfrei.