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

1

01.12.2006, 22:38

C++ - Compiler beendet sich trotz system("PAUSE");

Hi,
hab ein kleines Problemchen.
Und zwar hab ich ein kleines "Programm" geschrieben (bin noch in der Anfangsphase, bzw. programmiere erst seit gestern.. :D )

Hier mal der Code:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
    #include <iostream>
    using namespace std;

    int main()
    {
        cout<<"Bitte geben sie eine Zahl ein.\n";
        int a;
        cin>>a;
        cout<<"Bitte geben sie noch eine Zahl ein.\n";
        int b;
        cin>>b;
        cout<<"Bitte geben sie eine letzte Zahl ein.\n";
        int c;
        cin>>c;
    
        int max=a;

        if (b>max)
        {
            max=b;
    }
        if (c>max)
        {
            max=c;
    }

        int min=a;

        if (b<min)
        {
            min=b;
    }
        if (c<min)
        {
            min=c;
    }

            cout<<"Die groeßte Zahl ist "<<max<<" und die kleinste Zahl ist "<<min<<"\n";

            system ("PAUSE");
    }


Nun, jedenfalls beendet sich das Programm, nachdem man die 3 Zahlen eingegeben hat einfach.. Obwohl das system("PAUSE"); drinsteht..
Hat jemand ne Ahnung wieso das so ist?

EDIT:
Geht nun.. Warum auch immer es vorher nich Ging :D

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

02.12.2006, 07:51

Hi!

Nur als Tipp. Verwende statt system Aufrufen lieber alternativen.

z.B.

C-/C++-Quelltext

1
2
3
std::cin.clear();
std::cin.ignore( std::cin.rdbuf()->in_avail() );
std::cin.get();


grüße
@D13_Dreinig

Anonymous

unregistriert

3

02.12.2006, 08:10

Jetzt bringt denn guten doch nicht schon am ersten Tag durcheinander. :D Er sollte sich zuerst an seinen Lesestoff halten und da im Sattel sitzen. Dann kann er immer noch "optimieren".

Mein Compiler sagt immer: "Es gibt nur 2 Arten von Codes, der der läuft und der der nicht läuft. Wie er läuft, das ist deine Sache" ;)

Ein gepflegtes RETURN 0; solltest du dir aber direkt angewöhnen.

Ausser brauchst du IF {} nur wenn mehr als eine Aktion durchgeführt werden soll. Du kannst deine Anweisungen also direkt hinter IF schreiben und auf die {} verzichten.

Quellcode

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
27
28
#include <iostream>
    using namespace std;

    int main()
    {
        int a, b, c, max, min; //mehrere Variablen auf einmal
   

        cout<<"Bitte geben sie eine Zahl ein.\n"; cin>>a;
        cout<<"Bitte geben sie noch eine Zahl ein.\n"; cin>>b;
        cout<<"Bitte geben sie eine letzte Zahl ein.\n"; cin>>c;
 
        max=a;
   
        if (b>max) max=b;
        if (c>max) max=c;
       
        min=a;

        if (b<min) min=b;
        if (c<min) min=c;
       
        cout<<"Die groeßte Zahl ist "<<max<<" und die kleinste Zahl ist "<<min<<"\n";

        system ("PAUSE");

Return 0;
    }


cu

4

02.12.2006, 10:08

Okay, werd mich dran halten. =)
Danke!

5

02.12.2006, 20:42

So, hab ne neue Frage, hat nix mim Thema zu tun, aber ich wollte keinen neuen Thread öffnen... ;)

Und zwar:
Wenn ich ein einfaches Programm ausführe (z.B. einfach nur einen Text ausgeben lasse (cout) ), dann startet dass ja in der "Eingabeaufforderung".

Nun, ich möchte, dass das Programm im Vollbildmodus (der Eingabeaufforderung..) startet.
Wie kann ich das bezwecken?
MfG Luinechor

Anonymous

unregistriert

6

03.12.2006, 00:17

Die CONSOLE wird von Windows gesteuert, du kannst sie aber mit [ALT]+[ENTER] vergrössern. Wenn das so bleiben soll dann schliesse sie halt miit EXIT wenn kein Programm läuft.

Wenn du Vollbild für Grafiken etc meinst ist jetzt DirectX oder OpenGL fällig, und die wollen bedient werden können (was ich dir am 2 ten Tag noch nicht zutraue). Es gibt aber auch libs wie zb ALLEGRO. Dies stellt dir einfache Defehle zur Verfügung un einen Bildschirm zu öffnen, Text auszugeben etc..

Das ist dann ein Win32 Anwendung!

http://www.allegro.cc/ <--gut für Einsteiger (2D). Aber bitte bitte bitte, lerne zuerst was includes, libs, headers etc sind und poste jetzt keine 50 Fragen zur Einrichtung. Es gibt aber auch gute Tuts auf Deutsch, einfach suchen.

Und gib bitte bei Fragen zu libs, engines etc auch immer an welchen Compiler du verwendest.

cu

7

03.12.2006, 10:25

Ok, danke.. ;)
Dann halte ich mich erstmal an meinen Lernstoff.^^

- Luinechor

Werbeanzeige