003
15.12.2007, 18:47 Uhr
~malibu85
Gast
|
ah ja stimmt für das einlesen einer Taste, gibt es in c getchar() und diese funktion st in <stdio.h> enthalten.Das habe ich auch gerade erst gelesen. Ich habe es mal ausprobiert und es funktioniert. Jetzt wollte ich aber ein Programm um eine Option erweitern. Und zwar soll nachdem eine Zinseszinsrechnung durchgeführt wurde dem Benutzer die möglichkeit geboten werden durch das drücken einer Taste die Wertsteigerung in % des angelegten Kapitals auszugeben. Nun liegt es mir nur erstmal daran mit getchar eine taste einzulesen und, dass der Compiler in der Lage ist diese auch als String bzw char zu erkennen. Im folgenden klappt dies leider nicht. Nachdem das Ergebnis (KapitalwertNeu) nach der Berechnung ausgegeben wurde, beachtet der Compöer die getchar() -Anweisung gar nicht mehr und gibt zwar den in printf angegebenen Text aus aber unterschlägt die Anweisung des Einlesens der Taste und die Ausgabe der eingelesenen Taste. Wie gesagt. Das Einlesen und Ausgeben einer Taste und der zuehörigen Bezeichnung aus dem ASCII-Code haut bei mir in einem seperaten Programm hin aber in dem folgendem
C++: |
#include<stdlib.h> #include<stdio.h> #include<math.h>
int main () { float Kapitalwert,Zins,Jahre,KapitalwertNeu,Klammerausdruck; char taste;
printf("Geben Sie einen Kapitalwert ein:\n"); scanf("%f", &Kapitalwert);
printf("Geben Sie nun den Zinssatz an:\n"); scanf("%f",&Zins);
Zins=1+Zins;
printf("Geben Sie dauer der Verzinsung in Jahren an:\n"); scanf("%f",&Jahre);
Klammerausdruck=pow(Zins,Jahre); KapitalwertNeu=Kapitalwert*Klammerausdruck;
printf("Das angelegte Kapital ist nach %f Jahren\n\n",Jahre); printf("%f Euro Wert.\n",KapitalwertNeu);
/*hier liegt das Problem*/ printf("druecken sie eine Taste\n"); taste=getchar(); printf("die eingabe war %c\n\n",taste);
return(0); }
|
sieht hier vielleicht jemand den Fehler? |