XGuardian Geschrieben 24. September 2004 Geschrieben 24. September 2004 Hi vielleicht kann mir ja einer paar tips geben wie ich diese aufgabe lösen kann. Und zwar ist gestellt. /*Zum 6.Dezember möchte Nikolaus Eltern und Geschwister beschenken und leert dazu sein Sparschwein. Fünfmarkstücke findet er leider nicht; Pfennige und Zehnpfennige läst er erstmal außen vor. Der Computer soll nach Eingabe der Anzahl der Fünfziger, Markstücke und Zweimarkstücke den Inhalt des Sparschweins (in DM) ausgeben. Beachte: Die Anzahl der Geldstücke soll vom Typ int sein, während der Gesamtbetrag von Typ float sein muss, d.h. bei der Berechnung muss der Computer eine Typwandlung vornehmen. */ Vielleicht finde ich auch nicht den richten weg, #include <stdio.h> int main() { int summe, mark, zweimark; mark = 1; // Werte zweimark = 2; float = summe2; printf("Bitte geben sie die Summe ein :"); scanf("%d",&summe); summe = summe / mark; summe = summe / zweimark; summe2 = (float)summe; printf("%f,mark , %f zweimark"); return 0; // Ende der Funktion } zumindest hab ich mir so den lösungssweg gedacht aber total bug, evtl kann mit hier jemand einen weg zeigen wie ich die aufgabe lösen kann, Zitieren
Guybrush Threepwood Geschrieben 24. September 2004 Geschrieben 24. September 2004 float = summe2; Was soll das denn sein? Lass da mal das = weg. Warum lässt du die Summe eingeben wenn diese doch errechnet werden soll? Zitieren
kLeiner_HobBes Geschrieben 24. September 2004 Geschrieben 24. September 2004 Also, irgendwie klingt die Aufgabenstellung, wie Guybrush schon andeutet, ganz anders als die Lösung, die du vorschlägst. IMHO sollst du die Anzahl der 1er, 2er und 50er eingeben lassen und dann die Summe berechnen lassen. float summe; summe = (float)anz_einer + (2.0 * (float)anz_zweier) + (0.5 * (float)anz_fuffziger); Zitieren
PuppetMaster Geschrieben 24. September 2004 Geschrieben 24. September 2004 wie wärs mit float summe = static_cast<float>((feunziger * 0.5) + mark + (zweimark * 2.0)); Zitieren
kLeiner_HobBes Geschrieben 24. September 2004 Geschrieben 24. September 2004 Wenn du in der Berechnung schon float verwendest (0.5, 2.0), dann ist es IMHO doch nicht mehr nötig, zu casten, oder? Zitieren
XGuardian Geschrieben 24. September 2004 Autor Geschrieben 24. September 2004 kann mir dann einer mal aufzählen wie ich die schritte machen muss damit ich zur lösung komme. Ich bin hier alleine auf mich gestellt um die Lösung zu finden, was mich jetzt schon derbe an****t. Und ich vorallen nicht aufgeben will um die Lösung zu finden. Oder evtl jemand mir erklären wie das ganze geht, hock hier schon 2 tage an der Aufgabe. Zitieren
PuppetMaster Geschrieben 24. September 2004 Geschrieben 24. September 2004 Du hast recht, der Cast ansich ist hier gar nicht nötig, wenn ich float-Werte nutze. Dementsprechend kann man auch einfach float summe = (feunziger * 0.5) + mark + (zweimark * 2.0); sagen Zitieren
Guybrush Threepwood Geschrieben 24. September 2004 Geschrieben 24. September 2004 Es steht doch jetzt schon die komplette Berechnung in diesem Thread, so das du sie nur noch kopieren musst, die Variablen einlesen musst und das Ergebnis ausgeben. Wenn du mit irgendeinem dieser Schritte nicht klarkommst dann zeig deinen Ansatz und dir wird geholfen werden. Allerdings ist auch dieses Forum hier kein Hausaufgabenservice Zitieren
XGuardian Geschrieben 24. September 2004 Autor Geschrieben 24. September 2004 Also hier ist mein weg, #include <stdio.h> int main() { int mark=1.0, zweimark=2.0, fuffziger=0.5; float summe; summe = (float)mark + (2.0 * (float)zweimark) + (0.5 * (float)fuffziger); printf("Bitte gib die anzahl der Markstucke ein :"); scanf("%d,&mark"); printf("Bitte gib die anzahl der Zweimarkstuecke ein :"); scanf("%d,&zweimark"); printf("Bitte gib die anzahl der Fuffziger ein :"); scanf("%d,&fuffziger"); printf("mark = %f \n",summe); printf("zweimark = %f \n",summe); printf("fuffziger = %f",summe); return 0; // Ende der Funktion } das ergebniss ist das er mir Bitte gib die anzahl der Markstucke ein :4 Bitte gib die anzahl der Zweimarkstuecke ein :5 Bitte gib die anzahl der Fuffziger ein :3 mark = 5.000000 zweimark = 5.000000 fuffziger = 5.000000 ausgibt und ich nicht weiß wo der fehler ist. Zitieren
kLeiner_HobBes Geschrieben 24. September 2004 Geschrieben 24. September 2004 Dein Ansatz ist IMHO immer noch falsch. 1) Du berechnest die Summe, obwohl du noch gar keine Mengen eingegeben hast 2) Du brauchst die Mengen nicht auszugeben, die interessieren den Benutzer nicht 3) Erst nach der Eingabe der Mengen muß die Summe berechnet werden 4) Die Summe muß dann ausgegeben werden. Zitieren
XGuardian Geschrieben 24. September 2004 Autor Geschrieben 24. September 2004 Vor lauter zahlen zu viele wünsche gehabt, weiß der geier warum ich immer alle zahlen wollte, und die ausgabe darauf bezogen. also #include <stdio.h> int main() { int mark, zweimark, fuffziger; float ergebnis; ergebnis = (float)mark + (2.0 * (float)zweimark) + (0.5 * (float)fuffziger); printf("Bitte gib die anzahl der Markstucke ein :"); scanf("%d,&mark"); printf("Bitte gib die anzahl der Zweimarkstuecke ein :"); scanf("%d,&zweimark"); printf("Bitte gib die anzahl der Fuffziger ein :"); scanf("%d,&fuffziger"); printf("Summe in DM : %f",ergebnis); return 0; // Ende der Funktion } Aber hab immer noch nicht den gewünschten erfolg .. kann mir mal einer erklären was es mir der zeile auf sich hat bzw der ausbau summe = (float)mark + (2.0 * (float)zweimark) + (0.5 * (float)fuffziger); Und nein es ist keine Hausaufgabe es ist für mich eine Lern Aufgabe da ich komplett alleine gestellt bin in den Betrieb / anwendungsentwicklung zu lernen. Oder machen wirs anders Hilft mir die Antwort zu finden und gibt mir Bitte ein anderes Beispiel damit ich damit weiter üben kann. Zitieren
kLeiner_HobBes Geschrieben 24. September 2004 Geschrieben 24. September 2004 Stimmt doch schon fast: int main() { int mark, zweimark, fuffziger; float ergebnis; printf("Bitte gib die anzahl der Markstucke ein :"); scanf("%d,&mark"); printf("Bitte gib die anzahl der Zweimarkstuecke ein :"); scanf("%d,&zweimark"); printf("Bitte gib die anzahl der Fuffziger ein :"); scanf("%d,&fuffziger"); //Das Ergebnis kann logischerweise erst nach der Eingabe der Mengen //berechnet werden. ergebnis = (float)mark + (2.0 * (float)zweimark) + (0.5 * (float)fuffziger); printf("Summe in DM : %f",ergebnis); return 0; // Ende der Funktion } Schau mal hier: http://www.ps.uni-sb.de/courses/c-blockkurs-ws00/uebungen.html Zitieren
XGuardian Geschrieben 24. September 2004 Autor Geschrieben 24. September 2004 Ah normal eigentlich schon, also lag ich gar nicht mal so verkehr nur halt falsch aufgebaut, mmmmh er compiliert das ohne fehlermeldung aber ich das Prg funktioniert noch nicht. wobei mir das mit typumwandlung noch nicht so klar ist.. @kLeiner_HobBes Prima ich danke dir das hat mich jetzt 2 tage nerven gekostet. Zu solchen Übungen hast du da evtl noch paar seiten, gerade sowas suche ich damit ich die materie auch verstehen kann und mir daraus dann auch die lösung ersehen kann obwohl da verleiht das gucken auch... Aber übungsaufgaben das suche ich schon dringend deswegen mach ich ja auch gerade so ein Übungs Manuscript durch wo sich leider um jede neue seite die levelstufe um 1 erhöht und immer wieder neues Kapitel angesprochen wird aber ohne zu wissen welche funktionen, formel oder erklärung dabei steht. "ist mehr für jemanden ausgebaut der vor der Prüfung ist"... Zitieren
kLeiner_HobBes Geschrieben 24. September 2004 Geschrieben 24. September 2004 mmmmh er compiliert das ohne fehlermeldung aber ich das Prg funktioniert noch nicht. See PM http://www.fh-fulda.de/~klingebiel/c-uebung/ http://www.netzmafia.de/skripten/ad/index.html http://www.c-plusplus.de/index.php <- Hier sind haufenweise Bücher empfohlen, E-Books zum Download, Tutorials u.v.m. Ansonsten gibts noch google Zitieren
XGuardian Geschrieben 24. September 2004 Autor Geschrieben 24. September 2004 Also danke nochmals hier meine Lösung #include <stdio.h> int main() { int mark, zweimark, fuffziger; float ergebnis; printf("Bitte gib die anzahl der Markstucke ein :"); scanf("%d",&mark); printf("Bitte gib die anzahl der Zweimarkstuecke ein :"); scanf("%d",&zweimark); printf("Bitte gib die anzahl der Fuffziger ein :"); scanf("%d",&fuffziger); ergebnis = (float)mark + (2.0 * (float)zweimark) + (0.5 * (float)fuffziger); printf("Summe in DM : %.2f",ergebnis); return 0; // Ende der Funktion } Und danke für die Links.. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.