Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Aufgabe "Typumwandlung"

Empfohlene Antworten

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,

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

wie wärs mit

float summe = static_cast<float>((feunziger * 0.5) + mark + (zweimark * 2.0));

Wenn du in der Berechnung schon float verwendest (0.5, 2.0), dann ist es IMHO doch nicht mehr nötig, zu casten, oder?

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.

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

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

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.

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.

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.

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

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.