Zum Inhalt springen

Aufgabe "Typumwandlung"


Empfohlene Beiträge

Geschrieben

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,

Geschrieben

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);

Geschrieben

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.

Geschrieben

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 ;)

Geschrieben

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.

Geschrieben

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.

Geschrieben

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.

Geschrieben

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

Geschrieben

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"...

Geschrieben

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..

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...