C anfänger Frage

12/25/2006 13:32 Medix#1
moin zusammen hab folgendes problem,..

erstmal den code
Code:
/* bsp2.c */ 
#include <stdio.h>

main() {
    int x,y;
    printf("\n\t1. R e c h e n p r o g r a m m\n");
    printf("\nBitte x eingeben :");
    scanf("%i",&x);
    printf("Bitty y eingeben:");
    scanf("%i",&y);
    printf("\n %i + %i ist %i",x,y,x+y);
    printf("\n %i - %i ist %i",x,y,x-y);
    printf("\n %i * %i ist %i",x,y,x*y);
    printf("\n %i / %i ist %i",x,y,x/y);
    printf("\n %i %% %i ist %i",x,y,x%y);
    }
so wenn ich das compile klappt alles super startet in MS-DOS ich gebe x ein drücke enter... gebe y ein drücke enter und das proggy schließt sich...
k.a an was das liegt wäre über hilfe sehr erfreut :)
12/25/2006 14:13 Ultima#2
ich nehme jetzt mal an du startest das ganze aus der IDE heraus und das dos fenster wird automatisch geöffnet richtig?

da liegt nun das Problem sobald dein Programm durchgelaufen ist beendet es sich und das Dos Fenster schließt sich automatisch

du hast nun 2 Möglichkeiten

1. du startest dein Programm von hand indem du ein Dos Fenster öffnest (Ausführen und "cmd" eingeben ohne tütelchen)

oder

2. du fügst in dein Programm am schluss

System("PAUSE");

ein

Code:
/* bsp2.c */
#include <stdio.h>

main() {
   int x,y;
   printf("\n\t1. R e c h e n p r o g r a m m\n");
   printf("\nBitte x eingeben :");
   scanf("%i",&x);
   printf("Bitty y eingeben:");
   scanf("%i",&y);
   printf("\n %i + %i ist %i",x,y,x+y);
   printf("\n %i - %i ist %i",x,y,x-y);
   printf("\n %i * %i ist %i",x,y,x*y);
   printf("\n %i / %i ist %i",x,y,x/y);
   printf("\n %i %% %i ist %i",x,y,x%y);
   System("PAUSE");
   }
12/25/2006 14:45 Medix#3
Ok danke für die fixe hilfe :)

Code:
System("PAUSE");
erkennt mein compiler nicht mhhh komisch er erkennt dies als fehler.
12/25/2006 14:51 Ultima#4
sollte eigentlich nicht aber alternativ geht auch

getchar();
getchar();

der 2. is zur sicherheit^^
12/25/2006 14:53 Medix#5
Vielen dank nun gehts <3
+karma... aber meine frage wieso erkennt mein compiler nicht system("pause");
den befehl werd ich ja bestimmt noch öfters brauchen...


und getchar();
getchar(); ist das die einzigemöglichkeit? Weil ich würde das prog schon gerne geöffnet halten auch wenn ich ne taste drücke... mfg medix :)
12/25/2006 14:56 Ultima#6
wenn du cross platform conform programmieren willst musst du das sowieso mit getchar machen System("PAUSE"); ist nur unter windows und do erlaubt nicht aber unter linux

hast du das System("PAUSE"); genauso geschrieben wie ich? auch auch groß und kleinschreibung?
12/25/2006 14:58 Medix#7
Jo habs rauskopiert aber ich probiers eben nochmal :)


edit: habs probiert nochmal... compiler meldet n fehler :> hab auch den modifizierten quellcode von dir mal compilen lassen kommt auch n fehler... aber mit 2x getchar(); gehts super :)
12/26/2006 00:02 Ultima#8
^^ wenn man die richtige bibliothek nicht einbindet kanns auch nciht gehen

#include stdlib.h

fehlt da noch ;)

aber mit dem getchar() ; fährste wesendlich besser !!!
12/26/2006 11:38 Medix#9
aso na dann is alles klar thx :D

naja habe ja erst kürzlich angefangen ( was man an den coden erkennt) und somit kenn ich die bibliotheken noch nicht alle >.<

trotzdem danke vielmals :D
01/02/2007 15:56 x]vIrus[x#10
printf("<hit return to quit>");
scanf("%i",&x);

:D