• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

In c rechnen ...

BDG

Mitglied
Hallo Leute
Ich fange gerade an c zu lernen .. Jetzt habe ich hier ein kleines programm :
Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
  system ("color 0A");
  int Alter;
  printf("gebe ein wie alt du bist:\a");
  scanf("%d",&Alter);
  fflush(stdin);
  printf("Du bist %d Jahre alt !\n",Alter);
  system("PAUSE"); 
  return 0;
}
So jetzt will ich machen das da steht :
gebe ein wie alt du bist : 11
du bist 11 jahre alt !
In 30 Jahren bist du 41 Jahre alt
Drücken sie eine beliebige taste !"
so also das markierte hab ich schon aber wie soll ich jetzt machen das das Alter das man
eigegeben hat ( %d ) + 30 gerechnet wird ? kann mir jemand ein code besispiel geben ?
 
hmm aber wie mache ich dann das ich schreiben kann:
in 30 jahren bist du <bla> Jahre alt
krig ich dafür auch ein code pls ?
 
Hast du den Code da oben einfach nur kopiert oder auch verstanden? Kommt mir net so vor...


Code:
#include <stdio.h> 
#include <stdlib.h> 

int main(int argc, char *argv[]) {   
  system ("color 0A");   
  int Alter;   
  printf("gebe ein wie alt du bist:\a");  
  scanf("%d",&Alter);   
  fflush(stdin);   
  printf("Du bist %d Jahre alt !\n",Alter);                 
  Alter = Alter + 30;
  printf("In 30Jahren bist du %d Jahre alt !\n", Alter);
  system("PAUSE");    
return 0; 
}
ungetestet
 
THX das geht ... jetzt versteh ich auch wiso ... aber nun hab ich noch ein problem : ich hab noch eine abfrage gemacht und die funktioniert nicht ... Hier der code :
Code:
#include <stdio.h> 
#include <stdlib.h> 
int main(int argc, char *argv[]) { 
system ("color 0A"); 
int Alter; 
printf("gebe ein wie alt du bist:"); 
scanf("%d",&Alter); 
fflush(stdin); 
printf("Du bist %d Jahre alt !\n",Alter); 
[COLOR=red]char wahl;[/COLOR]
[COLOR=red]printf("Wolen sie wissen wie alt sie in 30 Jahren sind ? Wenn ja druecken sie <1> wenn nicht <2>");[/COLOR]
[COLOR=red]scanf("%s", &wahl); [/COLOR]
[COLOR=red]if (wahl==1)[/COLOR]
[COLOR=red]getchar;[/COLOR]
[COLOR=red]{ [/COLOR]
[COLOR=red]Alter = Alter + 30;[/COLOR]
[COLOR=red]printf("In 30 Jahren bist du %d Jahre alt !\n", Alter);[/COLOR]
[COLOR=red]}[/COLOR]
[COLOR=red]if (wahl==2)[/COLOR]
[COLOR=red]{[/COLOR]
[COLOR=red]system("PAUSE"); [/COLOR]
[COLOR=red]return 0; [/COLOR]
[COLOR=red]}} [/COLOR][COLOR=black][[/COLOR]CODE]
 
Du vergleichst den Char mit einem Integer. Der Integer-Wert des Chars '1' wäre aber 49, nicht 1 (ASCII-Kodierung).

Code:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    int Alter;
    char wahl;
    
    //system ("color 0A");
    
    printf("gebe ein wie alt du bist:");
    scanf("%d",&Alter);
    fflush(stdin);
    printf("Du bist %d Jahre alt !\n",Alter);
    
    printf("Wolen sie wissen wie alt sie in 30 Jahren sind ? Wenn ja druecken sie <1> wenn nicht <2>");
    scanf("%s", &wahl);
    
    printf("%d\n", wahl);
    
    if (wahl == '1') {
        getchar;
        Alter = Alter + 30;
        printf("In 30 Jahren bist du %d Jahre alt !\n", Alter);
    } else if (wahl == '2') {
        system("PAUSE");
        return 0;
    }
}
 
das geht aber auch nicht ....
wenn man jetzt 1 drückt wirdt es sofort beendet wenn man 2 drückt steht da eine Zahl und dann "drücken sie eine belibige ....." Wiso geht das nicht ?
 
Code:
    printf("%d\n", wahl);

Die Zeile hatte ich vergessen zu löschen.

Die Ausgabe bei mir geht so:

Code:
$ gcc test.c
$ ./a.out

gebe ein wie alt du bist:78
Du bist 78 Jahre alt !
Wolen sie wissen wie alt sie in 30 Jahren sind ? Wenn ja druecken sie <1> wenn nicht <2>1
In 30 Jahren bist du 108 Jahre alt !

$ ./a.out

gebe ein wie alt du bist:89
Du bist 89 Jahre alt !
Wolen sie wissen wie alt sie in 30 Jahren sind ? Wenn ja druecken sie <1> wenn nicht <2>2
sh: PAUSE: not found

$

Zeilen mit Dollarzeichen am Anfang sind Eingaben auf der Konsole. Die erste ist die zum Kompilieren des Quellcodes.

Edit: Du könntest testweise noch einen dieser Befehle, die Tastendrücke erfordern, ans Ende setzen, vielleicht beendet sich das Programm dann nicht sofort. Habe das gerade nicht im Kopf.
 
hmm jetzt kalppt es zwar mit den taste drücken aber jetzt rechnet er nicht richtig ....
Code:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    int Alter;
    char wahl;
    
    system ("color 0A");
    
    printf("gebe ein wie alt du bist:");
    scanf("%d",&Alter);
    fflush(stdin);
    printf("Du bist %d Jahre alt !\n",Alter);
    
    printf("Wolen sie wissen wie alt sie in 30 Jahren sind ? Wenn ja druecken sie <1> wenn nicht <2>");
    scanf("%s", &wahl);
    
    if (wahl == '1') {
        getchar;
        Alter = Alter + 30;
        printf("In 30 Jahren bist du %d Jahre alt !\n", Alter);
    } else if (wahl == '2') {
        system("PAUSE");
        return 0;
    }
    scanf("%s", &wahl);
}
 
Zurück
Oben