Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Findet ihr den Fehler(syntaxerror)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
23.10.2005, 21:09 Uhr
~AceKiller73
Gast


Mein Problem:

ich finde im folgendem Prog den Fehler nicht aber compiler meldet syntaxerror


C++:
#include <iostream.h>
#include <cstdio>
void warte_auf_taste()
{
    std::cout << std::endl << std::endl << "ENTER druecken, um fortzufahren.";
    getchar();
}

int main()
{
float addition(float,float);
float subtraktion(float,float);
float multiplikation(float,float);
float division(float,float);
float auswaehlen(int);
float zahl1, zahl2,ergebnis;
int rechenart;
cout << "Geben sie bitte die Zahl der Rechenart an in der sie rechnen wollen!\n\n";
cout << "Addition = 1, Subtraktion = 2, Multiplikation = 3, Division = 4\n\n";
cout << "Ihre Zahl: ";
cin >> rechenart;
cout << "\n";
while (rechenart > 4)
{
   cout << "Geben sie bitte eine RICHTIGE Rechenartszahl an!\n";
   cout << "Ihre Zahl: ";
   cin >> rechenart;
   cout << "\n";
}  
float auswaehlen(int rechenart);
cout << "Ihre " << rechenart << " der Zahlen: " << zahl1 << "und " << zahl2 << " ergab das Ergebnis:\n";
cout << ergebnis;  
warte_auf_taste();
    return 0;
}
float auswaehlen(int rechenart)
{
    if (rechenart == 1)
    {
        return (float addition(float zahl1, float zahl2)); //Compiler meldet hier Fehler
    }    
}

float addition(float zahl1, float zahl2)
{
    return (zahl1+zahl2);
}    
    

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.10.2005, 21:15 Uhr
Pler
Einer von Vielen
(Operator)



C++:
float addition(float,float);


usw. gehoehrt vor main
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.10.2005, 21:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


und ein Funktionsaufruf geht so:


C++:
ergebnis = auswaehlen(rechenart);



und nicht


C++:
float auswaehlen(int rechenart);


--
class God : public ChuckNorris { };

Dieser Post wurde am 23.10.2005 um 21:48 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.10.2005, 22:28 Uhr
Pablo
Supertux
(Operator)


Und in Zukunft (das waren ja offensichtliche Fehler) solltest du auch sagen, welchen fehler du bekommen has. Wir sind nämlich keine Compiler und arbeiten als solches gar nicht.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.10.2005, 09:28 Uhr
ao

(Operator)



Zitat von Pablo:
Wir sind nämlich keine Compiler und arbeiten als solches gar nicht.

Was Pablo damit sagen will: Auch wenn dir die Fehlermeldung völlig unverständlich vorkommt, zitier sie trotzdem, am besten wörtlich (ist mit Copy & Paste ganz einfach).

In 99 % der Fälle gibt der Text einem erfahrenen Programmierer tatsächlich einen Hinweis auf den Fehler, und das restliche eine Prozent sind krasse Sachen, die den Compiler so verwirrt haben, dass er nicht mal mehr einen sinnvollen Fehlertext zustandebringt. Die fallen aber auch beim Hinsehen meist schon auf.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
24.10.2005, 11:13 Uhr
~ACeKiller73
Gast


Jo Danke erst mal.
Ich habe gedacht es reicht wenn ich angebe das der compiler einen Syntax error
an der stelle die ich makiert hatte angibt.
Aber in Zukunft gebe ich den ganzen fehler an!


mfg AceKiller73
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
24.10.2005, 15:27 Uhr
BT



ich habe 9 fehler von diesem code bekommen

error C2653: 'std' : Keine Klasse oder Namespace
error C2653: 'std' : Keine Klasse oder Namespace
error C2653: 'std' : Keine Klasse oder Namespace
error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'addition'
error C2065: 'addition' : nichtdeklarierter Bezeichner
error C2144: Syntaxfehler : Fehlendes ')' vor Typ 'float'
error C2059: Syntaxfehler : ')'
error C2059: Syntaxfehler : ')'
error C2373: 'addition' : Neudefinition; unterschiedliche Modifizierer
Fehler beim Ausführen von cl.exe.

9 Fehler, 0 Warnung(en)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
24.10.2005, 15:30 Uhr
Tommix



Hallo,
es muß

C++:
#include <iostream>


ohne .h heißen.
Bei den restlichen Fehlern bitte die Quelltextzeile mit angeben.


Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
24.10.2005, 15:36 Uhr
BT



(5) error C2653: 'std' : Keine Klasse oder Namespace
(5) error C2653: 'std' : Keine Klasse oder Namespace
(5) error C2653: 'std' : Keine Klasse oder Namespace
(40) error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'addition'
(40) error C2065: 'addition' : nichtdeklarierter Bezeichner
(40) error C2144: Syntaxfehler : Fehlendes ')' vor Typ 'float'
(40) error C2059: Syntaxfehler : ')'
(40) error C2059: Syntaxfehler : ')'
(45) error C2373: 'addition' : Neudefinition; unterschiedliche Modifizierer
Fehler beim Ausführen von cl.exe.

9 Fehler, 0 Warnung(en)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
24.10.2005, 15:50 Uhr
Tommix



Du bist lustig. Kann es sein, daß Du von den bereits gegebenen Hinweisen keinen einzigen umgesetzt hast? So wird es schon mal compiliert:

C++:
#include <iostream>
#include <cstdio>

void warte_auf_taste()
{
    std::cout << std::endl << std::endl << "ENTER druecken, um fortzufahren.";
    getchar();
}

float addition(float,float);
float subtraktion(float,float);
float multiplikation(float,float);
float division(float,float);
float auswaehlen(int);

float zahl1, zahl2, ergebnis;

int main()
{
    int rechenart;
    std::cout << "Geben sie bitte die Zahl der Rechenart an in der sie rechnen wollen!\n\n";
    std::cout << "Addition = 1, Subtraktion = 2, Multiplikation = 3, Division = 4\n\n";
    std::cout << "Ihre Zahl: ";
    std::cin >> rechenart;
    std::cout << "\n";
    while (rechenart > 4)
    {
        std::cout << "Geben sie bitte eine RICHTIGE Rechenartszahl an!\n";
        std::cout << "Ihre Zahl: ";
        std::cin >> rechenart;
        std::cout << "\n";
    }  

    auswaehlen(rechenart);
    std::cout << "Ihre " << rechenart << " der Zahlen: " << zahl1 << "und " << zahl2 << " ergab das Ergebnis:\n";
    std::cout << ergebnis;  
    warte_auf_taste();
    return 0;
}

float auswaehlen(int rechenart)
{
    if (rechenart == 1)
    {
        return addition(zahl1, zahl2);
    }    
    
    return 0.0;
}

float addition(float zahl1, float zahl2)
{
    return (zahl1+zahl2);
}    



Allerdings ist es von der Struktur recht merkwürdig, vor allem fehlt noch die Eingabe der beiden Operanden (zahl1, zahl2).

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: