"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Bitte helft mir!

pirate man 09.04.2002 - 21:42 1313 26
Posts

M.I.P.S.

Big d00d
Avatar
Registered: Mar 2002
Location: On the inside
Posts: 324
OMFG, Spagetticode! :eek: :eek: :eek:

Wenn mir morgen fad sein sollte, schreib ich das ganze ohne gotos

M.I.P.S.

Big d00d
Avatar
Registered: Mar 2002
Location: On the inside
Posts: 324
oops, is schon Do...

M.I.P.S.

Big d00d
Avatar
Registered: Mar 2002
Location: On the inside
Posts: 324
Kein perfektes Progi, aber ich habs so gut gemacht, wies um 2 in der Früh geht. Vielleicht siehst dus ja noch vor der Abgabe ;)

-----------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void main(int argc, char **argv)
{
double high = 100, low = 0, value = 0, finalvalue = 0;
char readchar;

fprintf(stdout, "Ich errate Ihre Zahl zwischen 0 und 100!\n");
fprintf(stdout, "Geben Sie k für kleiner und g für groesser ein!\n");

while (1)
{
value = ceil(((high - low) / 2.0) + low);
fprintf(stdout, "Ist die Zahl groesser oder kleiner als %d?\n", (int) value);
fscanf(stdin, "%c", &readchar);
fflush(stdin);
switch (readchar)
{
case ('k'):
{
high = value;
break;
} //end case
case ('g'):
{
low = value;
break;
} //end case
default:
{
fprintf(stderr, "Falsche Eingabe");
exit(EXIT_FAILURE);
} //end default
} //end switch
if (high == low)
{
finalvalue = low;
break;
} //end if
if (((low + 1) == high) && (readchar == 'k'))
{
finalvalue = low;
break;
} //end if
if (((low + 1) == high) && (readchar == 'g'))
{
finalvalue = high;
break;
} //end if
} //end while
fprintf(stdout, "Die Zahl lautet: %d\n", (int) finalvalue);
} //end main()

M.I.P.S.

Big d00d
Avatar
Registered: Mar 2002
Location: On the inside
Posts: 324
hmmm, copy&paste aus dem VC++ steht wohl mit dem region-intend auf kriegsfuß :mad:

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
BTW: Für "goto" im C-Code gabs bei uns @HTL eine Schelle oder Nuß vom Lehrer ;)

pirate man

Here to stay
Registered: Jul 2001
Location: @ home
Posts: 5556
thx, leute
hab schon mein prog :)

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
was habta alle gegen gotos ? funtzen prima :D

HaBa

Legend
Dr. Funkenstein
Avatar
Registered: Mar 2001
Location: St. Speidl / Gle..
Posts: 19725
Zitat von bBU.CyTrobIc
was habta alle gegen gotos ? funtzen prima :D

BASIC => GOTO => "Brav"
C => GOTO => "Schelle?"

:D

Naja, ich find sie nicht gut in c-code.

Kogse

Little Overclocker
Avatar
Registered: Feb 2002
Location: Villach / Grinzi..
Posts: 79
goto .. die guten alten assembler zeiten :)
wenn jetzt a lehrer a goto sieht kannst zampacken :)
i selba find a schleifn besser

that

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11338
"goto" sollte man generell nicht einsetzen, außer man ist ein erfahrener Programmierer und weiß wofür. ;)

(z.B. um mehrere Ebenen von geschachtelten Schleifen zu verlassen)

Ich habe in den letzten Jahren sicher einige zigtausend Zeilen Code geschrieben und dabei insgesamt ca. 1-2 "goto"s verwendet.

M.I.P.S.

Big d00d
Avatar
Registered: Mar 2002
Location: On the inside
Posts: 324
Hab auch schon einiges programmiert und muß sagen, daß ich noch keine einziges goto verwendet hab. Irgendeinen anderen Weg gibts immer (und es ist immer der elegantere) ;) :)

bBU.CyTrobIc

#include "billrulz.h"
Avatar
Registered: Oct 2000
Location: Hamburg
Posts: 1875
Zitat
(und es ist immer der elegantere)

also is goto nicht "shice" sondern euch nur zu einfach? :D :D :D

cy
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz