Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Tamagotchi problem

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 <
000
21.02.2011, 19:11 Uhr
~Negikun
Gast


Ich habe mal ein kleines Tamagotchi programm geschrieben. Es kommen 3 Fehlermeldungen die ich nicht kapiere.


C++:
#include <cstdlib>
#include <iostream>
#include "klasse.h"


int main() {
int aktivitaet;
using namespace std;    

      cout <<"T A M A G O T C H I mit S A L Z M OR D E N\n";
      //Tamagotchi wird erstellt
      cPerson Tamagotchi;    
                                    
                                      do{
                                      cout <<"Was moechten sie mit ihren Tamagotchi machen? Mit 0 alles anzeigen lassen: ";
                                      cin  >>aktivitaet;
                                      //Hier schaut es nun, welche Aktivität man eingegeben hat und sucht danch die Methode
                                      if(aktivitaet==0){
                                               cout<<" 0 = Alles einzeigen\n1 = Salz essen lassen\n2 = Tamagotchi füttern\n3Alles vom Tamagotchi Anzeigen\n4Tamagotchi sich selbst überlassen: ";
                                               //bringt die Schleife wieder zum Start zurück
                                               continue;}
                                      else if(aktivitaet==1){
                                               Tamagotchi.Salzesser();
                                               //Hier läuft die abfrage, ob die Salzmenge im Blut des Tamagotchis mehr ist, als die menge die es umbringt
                                               if(Tamagotchi.gegessenesSalz >= Tamagotchi.totmenge){
                                                                            cout<<"Sie sind ein Moerder\n";
                                                                            //wenn das der fall ist, endet die schleife
                                                                            break;}
                                                            }                                              
                                      else if(aktivitaet==2)
                                           Tamagotchi.fuettern();
                                      else if(aktivitaet==3)
                                           Tamagotchi.Anzeigen();
                                      else if(aktivitaet==4)
                                           cout <<"Ihr Tamagotchi wird bald sterben \nR I P";
                                      //nun wird geprüft, ob die eingabe eine 4 war
                                      }while(aktivitaet != 4);
                                      //ende der schleife
      }




und noch eine header datei in der ich die klasse geschrieben hab.


C++:
using namespace std;

class cPerson
{    
    

      //Eigenschaften des Tamagotchis
      public:      
               float Koerpergewicht;
               float totmenge;
               float gegessenesSalz;
               float salzmenge;
               float futter;
               int Happyness;
              
      //Konstruktor
      cPerson()
      {
               cout << "Wie viel soll ihr Tamagotchi wiegen: ";
               cin >> Koerpergewicht;
               //menge die umbringt wird errechnet
               totmenge = Koerpergewicht * 0.003;
               Happyness = 100;
               }

      //Salt eating
     void Salzesser()
      {
          cout <<"Wie viel Salz: ";
          cin  >>salzmenge;
          gegessenesSalz = gegessenesSalz + salzmenge;
      }
      //Meat eating
      void fuettern()
      {
           cout <<"Wie viel soll ihr Tamagotchi essen: ";
           cin  >>futter;
           Koerpergewicht = Koerpergewicht + futter;
           cout <<"Tamagotchi wiegt nun: "<<Koerpergewicht<<"\n";
      }
      //Ist noch nicht drin
      void Rundenlaeufer()
      {
          Koerpergewicht = Koerpergewicht - 200);
      }
      //Ist noch nicht drin
      void Musikhoeren(){
           cout <<"How long should your Tamagotchi listen to musik: ";
           cin >>Minuten;
           Happyness = Happyness + 20;
           }
     //Ist noch nicht drin
     void Happynessbaddermaker(){
          Happyness = Happyness - 10;
          }
            
     void Anzeigen(){
          cout <<"Ihr Tamagotchi wiegt zur Zeit: "<<Koerpergewicht<<"\nHat zur Zeit "<<salzmenge<<"im Blut\n"<<"und ist zur Zeit zu"<<Happyness<<"gluecklich";
          
};



Nun kommt folgende Fehlermeldung

expected ´}' at the end of input
expected unqualified-id at end of input
expected ',' or ´;' at the end of input


Bearbeitung:
cpp-Tags korrigiert

Dieser Post wurde am 21.02.2011 um 21:13 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.02.2011, 21:34 Uhr
Hans
Library Walker
(Operator)


Hi,

also die erste und die letzte Fehlermeldung bedeuten einfach, das der Compiler eine schliessende Klammer '}' erwartet, die da aber nicht steht, bzw. ein Komma oder Semikolon, das er dort aber auch nicht gefunden hat.
Normalerweise gibt der Compiler noch eine Zeilennummer mit aus, die besagt, an welcher Stelle im Code er die Zeichen vermisst. Dabei kann der eigentliche Fehler aber auch in der Zeile darüber liegen.

Dann noch was Grundsätzliches zum Design: in der Headerdatei sollte man wirklich nur Definitionen rein schreiben, aber keinen übersetzbaren Code. Der gehört in *.cpp Dateien. D.h. Du solltest Deine Klasse person in zwei Dateien auftrennen: Eine Person.h und eine Person.cpp.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.02.2011, 22:42 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


an der stelle:


C++:
                                                                            //wenn das der fall ist, endet die schleife
                                                                            break;}
                                                            }



hast du eine } zu viel - aber die zeilennummer sollte dir der compiler ausspucken.

weiterhin solltest du dich um sauberes einrücken bemühen (unter Visual Studio macht das Strg+A, Strg+K, Strg+F) dann sieht man solche fehler auch einfacher und dein code ist deutlich besser lesbar
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.02.2011, 08:08 Uhr
ao

(Operator)



Zitat von ~Negikun:

void Happynessbaddermaker(){
Happyness = Happyness - 10;
}


Aua. Das müsste eigentlich auch einen Compilerfehler geben, besser noch einen Bluescreen.

Aber jetzt verstehe ich Hey Jude endlich: Take a sad song and make it badder ...

Dieser Post wurde am 22.02.2011 um 08:08 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: