Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Brauche dringend hilfe

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 ] > 3 <
020
15.11.2004, 20:16 Uhr
(un)wissender
Niveauwart


Du gewöhst dir schlechten Stil an. Den wird man nur schwer wieder los, und größere Prgramme im schechten Stil sind schon fast ein Widerspruch in sich. Letztendlich ist es deine Sache, wie wollen doch nur dein bestes.
--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 15.11.2004 um 20:16 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
15.11.2004, 22:47 Uhr
0xdeadbeef
Gott
(Operator)


Zum Beispiel ein typischer Fehler mit goto:

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

using namespace std;

int main() {
  string lang;

  retry:
  cout << "Sprache: " << flush;
  cin >> lang;

  if(lang == "deutsch") goto deutsch;
  else if(lang == "english") goto english;
  else goto unknown_language;

  deutsch:
  cout << "Deswegen ist goto so böse." << endl;

  english:
  cout << "This is why goto sucks." << endl;

  unknown_language:
  cout << "Sprache nicht bekannt. Versuchs nochmal." << endl;
  goto retry;

  return 0;
}


Das ist noch ein einfaches Beispiel, bei dem man den Fehler noch finden kann, aber jetzt stell dir sowas mal mit 20 labels und 40 gotos vor. Na dann viel Spaß beim debuggen.


Bearbeitung:

OK, Tippfehler korrigiert. Das Programm ist trotzdem für den Arsch.


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 16.11.2004 um 18:27 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
16.11.2004, 01:49 Uhr
Hans
Library Walker
(Operator)


... also gemäss Kopfkompiler würde ich sagen, dass das Label retry fehlt, bzw. vor der ersten cout-Zeile stehen soll/muss. Und es fehlen jeweils breaks am Ende von den Codeblöcken, die mit einem Label beginnen.

Hans


Bearbeitung von Hans:

Sag ich doch...

D: \borland\CommandLine\own>bcc32 gototest.cpp
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
gototest.cpp:
Error E2378 gototest.cpp 9: Goto statement missing ; in function main()
Warning W8066 gototest.cpp 27: Unreachable code in function main()
Error E2448 gototest.cpp 28: Undefined label 'retry' in function main()
*** 2 errors in Compile ***


Den Fehler behoben...

Bearbeitung von Hans:

D: \borland\CommandLine\own>bcc32 gototest.cpp
Borland C++ 5.5 for Win32 Copyright (c) 1993, 2000 Borland
gototest.cpp:
Warning W8066 gototest.cpp 28: Unreachable code in function main()
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

D: \borland\CommandLine\own>gototest
Sprache: deutsch
Deswegen ist goto so b÷se.
This is why goto sucks.
Sprache nicht bekannt. Versuchs nochmal.
Sprache: ^C
D: \borland\CommandLine\own>


--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 16.11.2004 um 01:58 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
16.11.2004, 14:20 Uhr
morbid



hah krass naja ich werd mir ne andere lösung überlegen^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ 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: