Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

21.07.2008, 19:57

Wie macht man das ohne dass der Programm abstürzt?

Hallo. Ich glaube, ihr könnt euch noch erinnern, dass ich "Rechenmaschine" programmiere. Nun ist es aber der Problem bei der Division: Wie soll ich einprogrammieren, wenn jemand diviiert durch 0 schreibt? Ich habe schon wirklich alles mögliche Versucht. Bitte um Hilfe.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        else if (Auswahl == 4)
        {
                cout << "-----" << endl;
                cout << "\n\n\n" << endl;
                cout << "Deine Zahl   : ";
                cin >> DeineZahl;
                cout << "Geteilt durch: ";
                cin >> Geteiltdurch;
                cout << "Ist          : " << DeineZahl/Geteiltdurch;
                cout << "\n";
                cout << "Rest         : " << DeineZahl%Geteiltdurch;
                cout << endl;
                cout << "-----" << endl;
                cout << "\n\n\n";
        }

ThePhil

Frischling

Beiträge: 23

Beruf: Schüler

  • Private Nachricht senden

2

21.07.2008, 20:00

kleiner tipp:

-> if <- ;)

Anonymous

unregistriert

3

21.07.2008, 20:03

Nein, denn wenn man schreibt: if (Geteiltdurch == 0) dann ist es ja aber schon ausgeführt! Man muss das schon vorher i.wie verhindern!

ThePhil

Frischling

Beiträge: 23

Beruf: Schüler

  • Private Nachricht senden

4

21.07.2008, 20:07

Dann mach die if-Abfrage bevor du dividierst.

Du kannst dann zB eine Fehlermeldung ausgeben oder sowas

Anonymous

unregistriert

5

21.07.2008, 20:14

Na toll, jetzt Kommt die Fehlermeldung sofort nach dem drücken von 4 -.-

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        else if (Auswahl == 4)
        {
            {
            if (Geteiltdurch == 0)
            {
                cout << "-----" << endl;
                cout << "\n\n\n";
                cout << "ERROR: Zahl laesst sich nicht durch '0' (Null) teilen!" << endl;
                cout << "\n\n\n";
                cout << "-----";

                cout << "-----" << endl;
                cout << "\n\n\n" << endl;
                cout << "Deine Zahl   : ";
                cin >> DeineZahl;
                cout << "Geteilt durch: ";
                cin >> Geteiltdurch;
                cout << "Ist          : " << DeineZahl/Geteiltdurch;
                cout << "\n";
                cout << "Rest         : " << DeineZahl%Geteiltdurch;
                cout << endl;
                cout << "-----" << endl;
                cout << "\n\n\n";
            }
            }
        }

NicoWe

Treue Seele

Beiträge: 126

Wohnort: Bielefeld / NRW

  • Private Nachricht senden

6

21.07.2008, 20:33

gehe den Code mal zeile für zeile durch... :roll:

zuerst hast du wahrscheinlich irgentwo geteiltdurch den wert 0 zugewiesen
dann wird die Auswahl abgefragt
dann wird abgefragt ob geteilt durch 0 ist(true)
die Fehlermeldung wird ausgegeben
die beiden Zahlen werden abgefragt (der benutzer hat als geteiltdurch 0 angeben)
es wird geteilt(Fehler)

Wenn du jetzt bevor geteilt wird abfragst ob die Eingabe 0 ist kannst du ja die Fehlermeldung ausgeben. Wenn du vorher abfragst kann die Variable jeden Wert haben(du hast ihr offensichtlich 0 zugewiesen also hat sie den Wert 0) und es geht wahrscheinlich etwas schief. Also probiers doch bei deinem nächsten Fehler einfach mal den Code Zeile für Zeile(evtl auch mit dem Debugger) durchzugehen.
Erfolg ist die Fähigkeit, von einem Misserfolg zum anderen zu gehen,
ohne seine Begeisterung zu verlieren.
-Winston Churchill-

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

7

21.07.2008, 20:57

Hast du mal den Debugger probiert? Mit dem kannst du dein Programm schritt für schritt ausführen lassen und siehst was der Computer rechnet, und welchen code er ausführt.

Wenn du das mal mit deinem Code machst solltest du dahintersteigen was das problem ist.

Anonymous

unregistriert

8

21.07.2008, 20:58

ich versteh' nicht

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

21.07.2008, 21:04

Vielleicht nochmal mit eingeschaltetem Hirn lesen?

10

21.07.2008, 21:23

Einfach nach cin >> Dividiere eine if abfrage machen ob die zahl null ist. Wo ist das Problem?

Werbeanzeige