Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Komplexe While-Schleifen! Komisch???

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
09.04.2004, 18:47 Uhr
Cebinem



Hallo an alle da draußen!!!
Ich hab ein Problem mit meinem Programm. Ich hab das Programm aus dem E-Book "C++ in 21 Tagen" per "Kopieren" und "Einfügen" in mein Compiler gemacht und hab es kompiliert und es erschienen folgende Fehlermeldungen:

Code:
[Warning] In function `int main()':
redeclaration of C++ built-in
parse error before `;' token
parse error before `<<'
parse error before `<' token
At global scope:
parse error before `++'
syntax error before `-='
syntax error before `<<'
syntax error before `.'



Hier ist der komplette Quellcode des Programms:


C++:
#include <iostream>
using namespace std;
int main()
{
unsigned short small; // Fehler hier
unsigned long  large;
const unsigned short int MAXSMALL = 65535;
cout << "Bitte eine kleine Zahl eingeben: ";
cin >> small; // Fehler hier
cout << "Bitte eine grosse Zahl eingeben: ";
cin >> large;
cout << "Klein: " << small << "..."; // Fehler hier
while(small < large && large > 0 && small < MAXSMALL) // Fehler hier
                                                                             /* bei jedem Schleifendurchlauf drei Bedingungen testen, wenn irgendeine der drei Bedingungen in der while-Schleife nicht erfüllt ist, endet die Schleife und die Ausführung des Programms setzt sich nach der schließenden Klammer der while-Schleife fort und gibt die Zeile " Klein: ... Gross: ..." aus*/                                                                  // berechnet den Wert von small modulo 5000
{
  if (small % 5000 == 0)  /* alle 5000 Zeilen einen Punkt ausgeben, der Ausdruck liefert das Ergebnis 0, wenn "small" ein genaues Vielfaches von 5000 ist */
  {
   cout << "."; // wird ausgegeben wenn "small" ein genaues Vielfaches von 5000 ist
  }
  small++; // Inkremention des Wertes von "small" --> Fehler hier
  large -= 2; // Dekremention des Wertes von "small" um 2 --> Fehler hier
}
cout << "\nKlein: " << small << " Gross: " << large << endl; // Fehler hier
                                                              /* wird ausgegeben, wenn irgendeine der drei Bedingungen in der While-Schleife nicht erfüllt ist */
cin.get(); // Fehler hier
return 0;
}



Ich hab den Quellcode in dem "DEV-c++ 4.9.8.0" kompiliert und da kamen die Fehlermeldungen. Komisch ist aber, wenn ich genau den selben Quellcode in "Visual C++ 6.0" kompiliere erscheinen keine Fehlermeldungen und das Programm läuft einwandfrei. Ich möchte aber trotzdem, dass der Quellcode
auch mit dem "DEV-C++ 4.9.8.0" zu kompilieren geht und das damit das Programm auch funktioniert.
Warum geht das im "DEV-C++ 4.9.8.0" nicht, aber in "Visual C++ 6.0"? Der Quellcode ist doch der selbe und ich kann keine Fehler entdecken.

Ich hoffe, ihr könnt mir helfen!!!!!!!!!!!!

Hier noch ein paar Daten vn mir:
Betriebssystem: Windows XP Professional
Compiler: DEV-C++ 4.9.8.0

Ich danke euch schon mal im vorraus für alle Antworten!!!!!!!!!!!!!!!!!!!!!!!

MFG
Cebinem
--
Jetzt sind wir hier, was jetzt geschieht, geschieht uns. - Anna Seghers
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.04.2004, 18:51 Uhr
Cebinem



Tut mir leid, dass meine Kommentare so schlecht eingerückt sind, ich hab das alles vorher in einem Editor geschrieben und dann eingefügt und deswegen sieht alles so durcheinander aus, sorry!

MFG
Cebinem
--
Jetzt sind wir hier, was jetzt geschieht, geschieht uns. - Anna Seghers
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.04.2004, 18:57 Uhr
Pablo
Supertux
(Operator)


hmm. da steht redeclaration of C++ built-in. Wenn ich mich nicht irre, es gibt schon ein Datentyp oder so names small. Sonst sehe ich keine Redeklaration. Benutze einen anderen Namen als small.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.04.2004, 19:47 Uhr
Cebinem



für deine Hilfe, das Programm funktioniert jetzt!!!!!!!!!!!!!!!!!!!!!!!!!! Ich hab einfach wie du gesagt hast "small" in "little" umgenannt und dann halt auch überall wo "small" stand auch "little" genannt und es hat funktioniert! DANKE!!!Aber warum ist das so? Ich hab doch vorher nie einen Datentyp namens "small" deklariert. Ich hab die Fehlermeldung: redeclaration of C++ built-in erst nicht richtig verstanden aber nachdem du mir auf die Sprünge geholfen hast, scheint sie doch logisch. Doch warum ist das so? Das ist irgendwie merkwürdig...

MFG
Cebinem
--
Jetzt sind wir hier, was jetzt geschieht, geschieht uns. - Anna Seghers
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.04.2004, 19:54 Uhr
Pablo
Supertux
(Operator)


Ich kenne nicht alle C++ Standard (ich bin nicht virtual oder beefy) und ich kenne auch nicht, was alles in iostream definiert ist. Aber es gibt bestimmt dort sowas wie typedef small irgendetwas. Ich weiß es nicht, aber ich bin sicher, dass ich schon mal gelesen habe, dass small ein Datentyp ist. Achtung, ich will nicht sagen, dass es so wirlich ist, weil es nur meine Vermutung ist.

Aber wenn dein Proggi. so funktioniert, dann hast du small entweder als keyword oder Datentyp, oder Klassen, oder so. Deshalb kommt der Fehler redeclaration of C++ built-in. Moment, dort steht ja built-in, das heißt, small gehört schon C++.

Tut mir leid, ich kann es nicht so genau erklären, Mangel an C++!


Warum da einen Fehler ergibt. Du kannst nicht eine Variable mit einem reservierten Wort benennen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 09.04.2004 um 19:56 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.04.2004, 20:07 Uhr
Cebinem



Ich weiß es auch nicht, ob es typedef small gibt. Typedef gibt es auf jedenfall aber mit small weiß ich auch nicht. Aber trotzdem DANKE!!! Ist nicht schlimm, dass du es nicht richtig erklären kannst. Es ist auch logisch, dass man eine Variable nicht mit einem reservierten Wort benennen kann.

PS: Ich hab mir auch mal deinen Thread ("Letzte Zeile wird zweimal gelesen")angesehen, aber da kann ich auch nicht helfen weil ich noch Anfänger bin. Ich hätte dir gerne geholfen, denn du hast mir ja auch schon so oft geholfen!

MFG
Cebinem
--
Jetzt sind wir hier, was jetzt geschieht, geschieht uns. - Anna Seghers
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: