hallo
ich möchtein ein C programe einen auftrag zb + 2 3 in einer zeile in ms dos fenster eingeben und dann die summe von 2 und 3 wieder ausgeben
soll ich das auftrag in zeichenkette speichern?
aber wie kann ich die char in int konvertieren und auch ein problem habe ich wenn ich ein 2zählige integer nimmt die ganze integer als char oder jede zahl als char
*****************
char string[10];
printf(„auftrag:“);
gets(string);//speichet das auftrag + 2 3 in string
printf("%d",vek[2]+vek[4])//weil der 2 ist dritte element von string und 3 ist fünfte element von string
kann mir jemand helfen.
Hallo
Scha dir mal die Funktion „scanf()“ an. Sie ist das Gegestück zu printf().
ich möchtein ein C programe einen auftrag zb + 2 3 in
einer zeile in ms dos fenster eingeben und dann die summe von
2 und 3 wieder ausgeben
soll ich das auftrag in zeichenkette speichern?
aber wie kann ich die char in int konvertieren und auch ein
problem habe ich wenn ich ein 2zählige integer nimmt die ganze
integer als char oder jede zahl als char
MfG Peter(TOO)
char string[10];
printf(„auftrag:“);
gets(string);//speichet das auftrag + 2 3 in string
printf("%d",vek[2]+vek[4])//weil der 2 ist dritte element von
string und 3 ist fünfte element von string
kann mir jemand helfen.
Hallo!!!
Soll das eine einfache ein und ausgabe Aufgabe sein!?
z.B.
Ausgabe auftrag
eingabe 2+3
ausgabe 5
?
Sollte dies sein melde dich dan bekommst du die Lösung.
Hi youssef
soll ich das auftrag in zeichenkette speichern?
Kann man so machen
aber wie kann ich die char in int konvertieren
Das brauchst du nicht. Bei Berechnungen mit Operanden werden alle Datentypen, die kleiner als int sind, automatisch in int umgewandelt. Das gilt also für: char, signed char, unsigned char, short int und unsigned short int. Da kannst du nichts gegen machen, das ist einfach so! Daher geben gute Compiler bei Berechnungen wie z.B.
char a=0,b='z',c='B';
a= b+c;
eine Warnung aus, denn b und c werden in int umgewandelt, so dass das Ergebnis der Addition den Typ int hat. Dieses int soll nun einem char zugewiesen werden …
und auch ein
problem habe ich wenn ich ein 2zählige integer nimmt die ganze
integer als char oder jede zahl als char
Bei der automatischen Typumwandlung wird der ASCII-Code des char als Wert für das int genommen. Wenn du also das char ‚2‘ in ein int umgewandelt wird, hat dieses int den Wert 50 (ASCII-Code von ‚2‘). Wenn dein int den Wert 2 haben soll, musst du den ASCII-Code von ‚0‘ (=48) abziehen, also so:
int value = '2' - '0';
Damit kannst du dein Problem lösen:
char string[10];
printf ("auftrag:");
gets (string); //speichet das auftrag + 2 3 in string
printf("%d", (vek[2]-'0') + (vek[4]-'0') )
Viele Grüße
Stefan.