Benötige Hilfe - Programm zur Schokoladenherstellung



  • Wir haben von der uni aus einen Beleg zu absolvieren und komme nicht weiter:
    Hier mein Quellcode

    #include<iostream>
    #include<cstring>
    #include<fstream>
    #include<iomanip>
    using namespace std;

    struct zutat // Angabe des Strukturbaumes , also aller relevanten Merkmale und in welcher Menge = definition datensatz
    {
    char name[20];
    float preis_pro_100gramm;
    };
    struct schokolade // Angabe des Strukturbaumes , also aller relevanten Merkmale und in welcher Menge je schokoladensorte = Definition datensatz
    {
    char name[20];
    int gewicht;
    int zutat_id[5];
    int menge_in_prozent[5];
    };

    int main(void) // Hauptfunktion
    {
    int zutat_anz[3];
    zutat zutaten[7]={
    {"",0},{"",0},{"",0},{"",0},{"",0},{"",0},{"",0}
    };
    fstream input_1("zutaten.txt",fstream::in); // einlesen der txt datei
    if(input_1)
    {
    for(int i=0;i<7;i++)
    {
    input_1>>zutaten[i].name;
    input_1>>zutaten[i].preis_pro_100gramm;
    }
    input_1.close();
    }
    schokolade schoki[3]={
    {"",0,{-1,-1,-1,-1,-1},{0,0,0,0,0}},{"",0,{-1,-1,-1,-1,-1},{0,0,0,0,0}},{"",0,{-1,-1,-1,-1,-1},{0,0,0,0,0}}
    };
    fstream input_2("schoki.txt",fstream::in); // einlesen der txt datei
    if(input_2)
    {
    char zutat_name[20];
    for(int i=0;i<3;i++) // Eintrag in die matrix
    {
    input_2>>schoki[i].name;
    input_2>>schoki[i].gewicht;
    input_2>>zutat_anz[i];
    for(int j=0;j<zutat_anz[i];j++)
    {
    input_2>>zutat_name;
    input_2>>schoki[i].menge_in_prozent[j];
    for(int k=0;k<7;k++)
    {
    if(strcmp(zutat_name,zutaten[k].name)==0) // Strings werden verglichen
    {
    schoki[i].zutat_id[j]=k;
    }
    }
    }
    }
    input_2.close();
    }

    int anz=0;
    float sum=0;
    for(int i=0;i<3;i++)
    {
    cout<<"Anzahl von "<<schoki[i].name<<" :"<<endl; // Abfrage der gewünschten Anzahl an Tafeln
    cin>>anz;
    for(int j=0;j<zutat_anz[i];j++)
    {
    sum=sum+anz*zutaten[schoki[i].zutat_id[j]].preis_pro_100gramm*schoki[i].menge_in_prozent[j]/100; // Berechnung durch vorherige Anzahlangabe
    }
    }
    cout<<"Kosten: "<<sum<<" Euro"<<endl;
    float kosten_schoko1;
    for(int i=0;i<zutat_anz[0];i++)
    {
    kosten_schoko1=kosten_schoko1+zutaten[schoki[0].zutat_id[i]].preis_pro_100grammschoki[0].menge_in_prozent[i]/100;
    }
    cout<<" 1%"<<" 2%"<<" 3%"<<" 4%"<<" 5%"<<" 6%"<<" 7%"<<" 8%"<<" 9%"<<" 10%"<<endl;
    for(int i=0;i<25;i++)
    {
    cout<<10000
    (i+1)<<" ";
    for(int j=0;j<10;j++)
    {
    cout<<" "<<fixed<<setprecision(2)<<(42800+19200+13500+10000*(i+1)*kosten_schoko1)/(10000*(i+1)*(1-(j+1)*0.01))<<"€"; // Berechnung in der Matrixtabelle nach jeweiligem Prozentsatz
    }
    cout<<endl;
    }
    return 0;
    }

    Der Prof meinte laut Aufgabenstellung fehlt noch die Berechnung / Kosten je tafel pro zutat und die Kosten für jede Zutat bei eine einer Anzahl n pro tafeln.
    Und hier komme ich nicht mehr mit. Kann mir hier jmd weiter helfen bitte?[code="cpp"]



  • Belegaufgabe Grundlagen Informatik I und Informatik I
    für das WS 2016/17
    Schokoladenherstellung
    Die Daten
    Unsere Schokoladenproduktion stellt 3 verschiedene Sorten Schokolade her. Jede
    Schokoladensorte besitzt folgende Daten:
    • einen Namen,
    • ein Gewicht pro Tafel in Gramm,
    • eine Aufzählung der Identifikationsnummern aller enthaltenen Zutaten und
    • eine Aufschlüsselung der Mengenanteile der enthaltenen Zutaten in %.
    Eine Sorte besteht aus maximal 5 Zutaten. Daraus ergibt sich folgende Struktur:
    struct schokolade
    {
    char name[20];
    int gewicht;
    int zutat_id[5];
    int menge_in_prozent[5];
    };
    Sind weniger als 5 Zutaten für eine bestimmte Sorte nötig, wird die ID der ersten,
    nicht belegten Zutat mit der Zahl -1 versehen. Zur Herstellung aller Schokoladensorten
    existieren sieben Zutaten.
    1
    Lesen Sie die Zusammensetzung der Schokoladensorten aus der Datei „schoki.txt“
    ein. Die Datei ist nach folgendem Schema aufgebaut:
    zartbitter Name der Schokoladensorte
    100 Gewicht der Schokolade in Gramm
    2 Anzahl der Zutaten
    kakao 70 Name der Zutat und Anteil der Zutat am Gesamtgewicht in %
    zucker 30 Name der Zutat und Anteil der Zutat am Gesamtgewicht in %
    Beachten Sie, dass der Name der Zutat in eine ID umgewandelt werden muss.
    Die Zutaten zur Schokoladenherstellung besitzen folgende Daten:
    • einen Namen und
    • einen Preis pro 100Gramm in Euro.
    Daraus ergibt sich folgende Struktur:
    struct zutat
    {
    char name[20];
    float preis_pro_100gramm;
    };
    Aus der Datei „zutaten.txt“ lesen Sie alle zur Verfügung stehenden Zutaten und
    deren jeweiligen Preis ein. Die Reihenfolge der Zutaten in der Datei bestimmt die
    Identifikationsnummer (ID) einer Zutat: Die erste Zutat aus der Datei bekommt
    die ID 0, die Zweite eine 1 und so fort. Die ID kann also mit dem Feldindex einer
    Zutat in der Auflistung gleichgesetzt werden.
    Die Berechnung
    Berechnen Sie nun aus den vorhandenen Daten, welche Rohstoffkosten für eine
    einzelne Tafel jeder Schokoladensorte anfallen. Lesen Sie anschließend die Anzahl
    der Tafeln als Nutzereingabe ein, die pro Schokoladensorte produziert werden sollen
    und berechnen Sie die Gesamtkosten, die zum Einkauf für jede der sieben Zutaten
    entstehen.
    Zur Herstellung der ersten Schokoladensorte fallen Personalkosten (€42.800),
    Betriebskosten (€19.200) und sonstige Nebenkosten (€13.500) an. Stellen Sie in
    einer Matrix alle Verkaufspreise einer Tafel Schokolade der ersten Sorte dar, wenn
    unser Gewinn im Intervall von 1% bis 10% immer um 1% und die Anzahl der zu
    produzierenden Tafeln von 10.000 Stück bis 250.000 Stück immer um 10.000 Stück
    ansteigt.
    2



  • 1. Keine Code-Tags.
    2. Zumindest als ich in der Uni war (gar nicht lange her), gab es Übungsgruppen, wo Probleme besprochen werden konnten. Außerdem gibt es bestimmt immer hilfsbereite Kommilitonen.
    3. Lernt ihr Mischmasch aus C und C++?
    4. Wo genau liegt dein Problem? Hier wird kaum jemand Lust haben, sich die komplette Aufgabe durchzulesen. Versuche das Problem auf irgendwas kleines zu reduzieren. Dann wird dir auch bestimmt geholfen!


  • Mod

    Was ist deine Frage?

    Ansonsten: Ihr Armen. Die Aufgabe zeigt deutlich, dass euer Professor weder von C++ noch von Informatik eine Ahnung hat. Du darfst dich schon einmal darauf freuen, später alles wieder mühsam verlernen und richtig neu lernen zu müssen.



  • pina2205 schrieb:

    Belegaufgabe Grundlagen Informatik I und Informatik I
    für das WS 2016/17
    Schokoladenherstellung

    War zu faul alles zu lesen, aber das gabs vor kurzem schon einmal:
    https://www.c-plusplus.net/forum/341145

    bb


Log in to reply