Die Mathe-Redaktion - 05.04.2020 10:21 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte / Top 15
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt? im neuen Schwätz
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps für den MP

Werbung

Bücher zu Naturwissenschaft und Technik bei amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 479 Gäste und 20 Mitglieder online

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 

Antworte auf:  Kassenautomat - Berechnung (C-Programmierung) von Tankynator_11
Forum:  Informatik, moderiert von: Bilbo matph

[Zur Forum-Gliederung] [Wie man Fragen beantwortet]

  Alle registrierten Mitglieder können Mitteilungen schreiben.
Benutzername:
Passwort:
Nachricht-Icon:                   
                  
              
Nachricht:


 
 


Eingabehilfen (JavaScript): [Link extern intern] [MathML?] [$$?]
[fed-Bereich] [LaTeX-inline] [LaTeX-display] [Tikz] [hide-Bereich][show-Bereich] [Quelltext [num.]][?]
 Zeige Vorschau      Schreibe im fedgeoFormeleditor oder mit Latex.

Smilies für Deine Nachricht:
😃 😄 😁 🙂 🙃 😉 🤗 🤫 🤔 🙄 😴 🤒 😎 😮 😲 😂
🙁 😖 😒 😐 😡 👌 👍 👎 🤢 🤧 🥵 🥶 😵 🤯 😛 😷
Optionen: Deaktiviere HTML in dieser Nachricht
Deaktiviere MATHML in dieser Nachricht. Wenn Dein Text $-Zeichen enthält, die nicht LaTeX-Formeln begrenzen.
Deaktiviere Smilies in dieser Nachricht
Zeige die Signatur (Kann in 'Mein Profil' editiert werden.)
    [Abbrechen]
 
Beachte bitte die [Forumregeln]


Themenübersicht
Tankynator_11
Neu
Dabei seit: 06.12.2019
Mitteilungen: 3
Herkunft:
 Beitrag No.4, eingetragen 2019-12-06 21:58    [Diesen Beitrag zitieren]

2019-12-06 20:42 - rlk in Beitrag No. 2 schreibt:
Hallo Tankynator_11,
herzlich willkommen auf dem Matheplaneten!

Wenn Du die Anzahl der jeweiligen Banknoten oder Münzen mit einer Division statt mit vielen Subtraktionen ermittelst, erübrigt sich die Frage nach einer passenden Grenze für die innere Schleife.

Ich hoffe, das hilft Dir,
Roland

PS: Wenn Du im Startbeitrag "NameDerSprache" durch "C" ersetzt, wird das Programm besser lesbar. Du kannst auf das Symbol "Ändern" unterhalb des Beitrags klicken, um ihn zu verbessern.

Auch bei dir möchte ich mich bedanken!
Vor allem für den Tipp zur besseren lesbaren Darstellung des Programms 😁


Tankynator_11
Neu
Dabei seit: 06.12.2019
Mitteilungen: 3
Herkunft:
 Beitrag No.3, eingetragen 2019-12-06 21:57    [Diesen Beitrag zitieren]

2019-12-06 20:20 - haegar90 in Beitrag No. 1 schreibt:
Hallo,
Du kannst eine While-Scheife verwenden um ohne Maximalwert auszukommen.

Danke dir!
Habs nun hinbekommen :)


rlk
Senior
Dabei seit: 16.03.2007
Mitteilungen: 10706
Herkunft: Wien
 Beitrag No.2, eingetragen 2019-12-06 20:42    [Diesen Beitrag zitieren]

Hallo Tankynator_11,
herzlich willkommen auf dem Matheplaneten!

Wenn Du die Anzahl der jeweiligen Banknoten oder Münzen mit einer Division statt mit vielen Subtraktionen ermittelst, erübrigt sich die Frage nach einer passenden Grenze für die innere Schleife.

Ich hoffe, das hilft Dir,
Roland

PS: Wenn Du im Startbeitrag "NameDerSprache" durch "C" ersetzt, wird das Programm besser lesbar. Du kannst auf das Symbol "Ändern" unterhalb des Beitrags klicken, um ihn zu verbessern.


haegar90
Aktiv
Dabei seit: 18.03.2019
Mitteilungen: 252
Herkunft: Danewerk
 Beitrag No.1, eingetragen 2019-12-06 20:20    [Diesen Beitrag zitieren]

Hallo,
Du kannst eine While-Scheife verwenden um ohne Maximalwert auszukommen.


Tankynator_11
Neu
Dabei seit: 06.12.2019
Mitteilungen: 3
Herkunft:
 Themenstart: 2019-12-06 19:53    [Diesen Beitrag zitieren]

Hallo liebe Matheplanet-Nutzer, 😄

habe momentan ein Problem bei einer Berechnung der Programmieraufgabe unseres Dozenten.
Wir sollten einen Kassenautomaten programmieren, sodass dieser die kleinst mögliche Stückelung (Scheine, Münzen, Cents) berechnet und ausgibt.
Kurz zu mir: Ich bin noch Programmieranfänger mit dem Umgang in C.

Hier mal meine Berechnung:
C
#include <stdio.h>
#include <stdlib.h>
 
 
int main()
{
    float n;                               //Eingabewert
    int i, anzahl, a;
    float geldeinheiten[15]={500,200,100,50,20,10,5,             //Scheine
                            2,1,                                                               //Münzen
                            0.50,0.20,0.10,0.05,0.02,0.01};                  //Cent
 
    //Eingabe der Summe
    printf("Eingabe Ihres Wunschbetrages: ");
    scanf("%f",&n);
    printf("\n");
 
 
    //Wenn eingegebene Geldsumme kleiner oder gleich 0
    if (n <=0){
    printf("Sie haben keinen Betrag eingegeben! \n");}
 
    //Berechnung der gestückelten Geldeinheiten
    else{
            for (i=0; i<15; i++)
            {
                if(n >= geldeinheiten[i])
                {
                    anzahl = 0;
                    n = n - geldeinheiten[i];           //Berechnung für eine 1-ner Stückelung
                    anzahl++;
                    for(a=0; a < 10000; a++)             // Maximale Stückelung von 10.000 Stk.
                        {if(n>=geldeinheiten[i])
                            {n = n - geldeinheiten[i];
                            anzahl++;
                            }
                        }
                    printf("%d mal %3.2f\n", anzahl, geldeinheiten[i]);
                }
                else{
                    printf("0 mal %3.2f\n", geldeinheiten[i]);
                    }
            }
        }
    return 0;
}
 

So sieht meine bisherige Berechnung aus.
Jedoch bin ich bei der Programmierung irgendwann an dem Punkt gestoßen, dass ich ohne eine max. Stückelung (in dem Fall auf 10.000 Stk. gestellt) nicht zum Ziel komme.

Daher bin ich mir sicher, dass man die Berechnung auch anders durchziehen könnte, aber wie?

Falls die Frage wegen den float Datentyp aufkommt...Wir sollten das so nach Aufgabenstellung versuchen zu lösen, um zu sehen, dass es irgendwann (Nachkommastellen)bei der Berechnung ungenau werden wird (Deshalb ein int besser.

Bedanke mich jetzt schonmal herzlich für eine Antwort! 😉


 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP, that seems no longer to be maintained or supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]