Programmaufgabe Problem



  • Aufgabenstellung:
    Schreiben sie ein Programm, das Ihnen aus einer Auswahl von koch/Backzutaten Rezeptvorschläge ausgibt. Das Programm soll folgende Bestandteile:

    -Kommandozeilenanwendung WIN 32
    -Hauptprogramm mit Menüsteuerung
    -Eingeben von Zutaten, Speichern der Zutaten in einer Zutatendatei, Einlesen von Zutaten aus dieser Datei, Sortierung nach Zutatenname und -menge (Programmtest mit mindestens 10 verschiedenen Zutaten)
    -Im Programm fest vorgegebene Rezepte mit mindestens 6 verschiedenen Zutaten
    -Ausgabe von realisierbaren Rezepten auf dem Bildschirm, sowie Ausgabe der Rezepte in einer Textdatei

    Ich habe jetzt den Quelltext schonmal bis ca. zur Hälfte fertig, als Vorlage habe ich ein Programm genommen, welches während einer Vorlesung mit meinem Prof erstellt wurde, nach dieser Vorlage soll das jetzige Programm erstellt werden.

    // Kochbuch.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
    //
    
    #include "stdafx.h"
    #include "process.h"
    
    #include <iostream>		// Für Bildschirm-E/A
    #include <fstream>	    // Für Datei-E/A
    #include <string>	    // Für Textbearbeitung
    #include <cstdlib>	    // Für allgemeine Funktionen
    
    using namespace std;
    
    char zutat[10][11];
    int bestaetigung[10];
    char Menge;
    int zutat_nr;
    
    int ja_nein(void)
    {
    	int taste = 0, tastendruck = 0;
    
    	do
    
    	{
    		scanf_s("%i", &taste);
    		tastendruck++;
    
    		if (!(taste == 0) && !(taste==1))
    		{
    			printf("Eingabefehler %i, bitte wiederholen !!!\n\n", tastendruck);
    		}
    	} while ((!(taste == 0) && !(taste == 1)) && (tastendruck < 5));
    
    	if (tastendruck >= 5)
    	{
    		printf("Du hast es ja doch nicht!!\n\n");
    		return 0;
    
    	}
    	else
    	{
    		return taste;
    	}
    }
    
    int eingeben()
    {
    
    	ifstream zutatendatei;
    
    	int zutaten = 0, antwort = 0, wiederhol = 0, tastendruck = 0;
    
    	zutat[0][0] = 'M';
    	zutat[0][1] = 'e';
    	zutat[0][2] = 'h';
    	zutat[0][3] = 'l';
    
    	zutat[0][4] = 0;
    
    	zutat[1][0] = 'Z';
    	zutat[1][1] = 'u';
    	zutat[1][2] = 'c';
    	zutat[1][3] = 'k';
    	zutat[1][4] = 'e';
    	zutat[1][5] = 'r';
    
    	zutat[1][6] = 0;
    
    	zutat[2][0] = 'E';
    	zutat[2][1] = 'i';
    	zutat[2][2] = 'e';
    	zutat[2][3] = 'r';
    
    	zutat[2][4] = 0;
    
    	zutat[3][0] = 'W';
    	zutat[3][1] = 'a';
    	zutat[3][2] = 's';
    	zutat[3][3] = 's';
    	zutat[3][4] = 'e';
    	zutat[3][5] = 'r';
    
    	zutat[3][6] = 0;
    
    	zutat[4][0] = 'M';
    	zutat[4][1] = 'i';
    	zutat[4][2] = 'l';
    	zutat[4][3] = 'c';
    	zutat[4][4] = 'h';
    
    	zutat[4][5] = 0;
    
    	zutat[5][0] = 'B';
    	zutat[5][1] = 'a';
    	zutat[5][2] = 'c';
    	zutat[5][3] = 'k';
    	zutat[5][4] = 'p';
    	zutat[5][5] = 'u';
    	zutat[5][6] = 'l';
    	zutat[5][7] = 'v';
    	zutat[5][8] = 'e';
    	zutat[5][9] = 'r';
    
    	zutat[5][10] = 0;
    
    	zutat[6][0] = 'K';
    	zutat[6][1] = 'e';
    	zutat[6][2] = 't';
    	zutat[6][3] = 'c';
    	zutat[6][4] = 'h';
    	zutat[6][5] = 'u';
    	zutat[6][6] = 'p';
    
    	zutat[6][7] = 0;
    
    	zutat[7][0] = 'N';
    	zutat[7][1] = 'u';
    	zutat[7][2] = 'd';
    	zutat[7][3] = 'e';
    	zutat[7][4] = 'l';
    	zutat[7][5] = 'n';
    
    	zutat[7][6] = 0;
    
    	zutat[8][0] = 'B';
    	zutat[8][1] = 'u';
    	zutat[8][2] = 't';
    	zutat[8][3] = 't';
    	zutat[8][4] = 'e';
    	zutat[8][5] = 'r';
    
    	zutat[8][6] = 0;
    
    	zutatendatei.open("ZUTATEN.TXT", ios_base::in);
    	zutatendatei >> zutat[0] >> zutat[1] >> zutat[2] >> zutat[3] >> zutat[4] >> zutat[5] >> zutat[6] >> zutat[7] >> zutat[8];
    	zutatendatei.close();
    
    	for (int zutat_nr = 0; zutat_nr <= 8; zutat_nr++)
    	{
    		printf("Hallo, bitte geben Sie die Zutaten ein\n\n", zutat[zutat_nr]);
    		printf("Haben Sie %s?\n", zutat_nr + 1);
    		printf("(1/0 = Ja/Nein)\n\n\n\n");
    
    		antwort = ja_nein();
    
    		if (antwort == 0)
    		{
    			bestaetigung[zutat_nr] = 0;
    
    		}
    
    		else
    		{
    			bestaetigung[zutat_nr] = 1;
    			zutaten++;
    
    			cout << endl << "Hallo" << zutat[zutat_nr] << endl << endl;
    
    			printf("Wie viel hast Du davon in g bzw. ml (Bei Eiern: 100=1, 200=2, usw.)\n");
    			printf("N)ichts\n");
    			printf("1)00\n");
    			printf("2)00\n");
    			printf("3)00\n");
    			printf("4)00\n");
    
    			do
    			{
    				cin >> Menge[zutat_nr];
    				tastendruck++;
    
    				cout << endl << endl;
    
    				if (tastendruck < 5)
    				{
    					switch (Menge[zutat_nr])
    					{
    					case 'N':
    					case '1':
    					case '2':
    					case '3':
    					case '4':
    
    						wiederhol = 0;	// richtiger Input, keine Wiederholung notwendig
    						break;
    
    					default:
    						wiederhol = 1; 	// falscher Input, Wiederholung notwendig 
    
    					}
    
    				}
    				else
    				{
    					printf("So, also hast Du es nicht!\n\n");
    					wiederhol = 0;	// 5 falsche Eingaben, keine Wiederholung notwendig
    					tastendruck = 0;  // Löschen zu Null, da gleich der nächste Gast kommt
    					Menge[zutat_nr] = 'N';  // also gibt es nichts
    				}
    
    				if (wiederhol)
    				{
    					printf("Eingabefehler Menge %c, bitte wiederholen !!!\n\n", Menge[zutat_nr]);
    				}
    
    			} while (wiederhol);
    
    		}
    
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	return 0;
    }
    

    Das ist das von mir geschriebene, jetzt sende ich noch den Quelltext, der als Vorlage dienen soll.

    // PizzaParty.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
    //
    
    #include "stdafx.h"
    #include "process.h"
    
    #include <iostream>		// Für Bildschirm-E/A
    #include <fstream>	    // Für Datei-E/A
    #include <string>	    // Für Textbearbeitung
    #include <cstdlib>	    // Für allgemeine Funktionen
    
    using namespace std;
    
    // Hier kommen globale Variablen hin,
    // die von jeder Funktion bearbeitet werden können
    
    char gast[4][5];
    int zusage[4];
    char PizzaWahl[4];
    
    int zutat_boden=0, zutat_sosse=0, zutat_kaese=0, zutat_tomaten=0, zutat_salami=0, zutat_gyros=0, zutat_pepperoni=0;
    
    struct gast
    {
    	char cName[10];
    	int iAlter;
    }
    
    // hier beginnen die Funktionen
    
    int ja_nein (void)
    {
    int taste=0, tastendruck=0;
    
    	do
    	{
    		scanf ("%i",&taste);
    		tastendruck++;
    
    		if ( !(taste==0) && !(taste==1) )
    		{
    			printf ("Eingabefehler %i, bitte wiederholen !!!\n\n", tastendruck);
    		}
    	} while ( (!(taste==0) && !(taste==1)) && (tastendruck<5) );
    
    	if (tastendruck>=5)
    	{
    		printf ("Hey Du Doedel, Du kommst ja doch nicht !!!\n\n");
    		return 0;
    	}
    	else
    	{
    		return taste;
    	}
    }
    M
    
    int einladen () 
    {
    
    ifstream gaestedatei; 
    
    int gaeste = 0, antwort=0, wiederhol=0, tastendruck=0;
    
    	gast[0][0]='H';
    	gast[0][1]='u';
    	gast[0][2]='g';
    	gast[0][3]='o';
    
    	gast[0][4]=0;
    
    	gast[1][0]='A';
    	gast[1][1]='n';
    	gast[1][2]='n';
    	gast[1][3]='a';
    
    	gast[1][4]=0;
    
    	gast[2][0]='N';
    	gast[2][1]='i';
    	gast[2][2]='k';
    	gast[2][3]='i';
    
    	gast[2][4]=0;
    
    	gast[3][0]='J';
    	gast[3][1]='o';
    	gast[3][2]='h';
    	gast[3][3]='n';
    
    	gast[3][4]=0;
    
    // Hier werden die Namen eingelesen von GAESTE.TXT
    
    	gaestedatei.open("GAESTE.TXT", ios_base::in);  // Datei zum Lesen öffnen
    
    	gaestedatei >> gast[0] >> gast[1] >> gast[2] >> gast[3];
    
    	gaestedatei.close();
    
    	for (int gast_nr = 0; gast_nr<=3; gast_nr++)
    	{
    		printf("Hallo %s,\n\n", gast[gast_nr]);
    		printf("Du bist als %i. Gast zu meiner Party eingeladen.\n",gast_nr+1);
    		printf("Kannst Du kommen, %s (1/0 = Ja/Nein)?\n\n\n\n", gast[gast_nr]);
    
    		antwort = ja_nein();
    
    		if (antwort == 0)
    		{
    			// nichts
    			zusage[gast_nr]=0;
    		}
    		else
    		{
    			zusage[gast_nr]=1;
    			gaeste++;
    
    			// Abfrage nach Pizzatyp
    
    			// Speichern in PizzaWahl[gast_nr]
    
    			cout << endl << "Hallo " << gast[gast_nr] << endl << endl;
    
    //			printf("Hallo %s,\n\n", gast[gast_nr]);
    			printf("Bitte such Dir eine Pizza aus:\n");
    			printf("M)agerita\n");
    			printf("V)egetarisch\n");
    			printf("G)yros\n");
    			printf("D)iavolo\n");
    			printf("Q)uatro stagnioni\n");
    
    			do 
    			{
    				cin >> PizzaWahl[gast_nr];
    				tastendruck++;
    
    				cout << endl << endl;
    
    				if (tastendruck<5)
    				{
    					switch (PizzaWahl[gast_nr])
    					{
    						case 'M':
    						case 'V':
    						case 'G':
    						case 'D':
    						case 'Q':
    
    							wiederhol = 0;	// richtiger Input, keine Wiederholung notwendig
    							break;
    
    						default:
    							wiederhol = 1; 	// falscher Input, Wiederholung notwendig 
    					}
    				}
    				else
    				{
    					printf("So, nun gibt es nur Magerita\n\n");
    					wiederhol = 0;	// 5 falsche Eingaben, keine Wiederholung notwendig
    					tastendruck=0;  // Löschen zu Null, da gleich der nächste Gast kommt
    					PizzaWahl[gast_nr] = 'M';  // also gibt es Margerita
    				}
    
    //				wiederhol = PizzaWahl[gast_nr] != 'M' && PizzaWahl[gast_nr] != 'V' && PizzaWahl[gast_nr] != 'G' && PizzaWahl[gast_nr] != 'D';
    
     				if ( wiederhol )
    				{
    					printf ("Eingabefehler Pizzatyp %c, bitte wiederholen !!!\n\n", PizzaWahl[gast_nr]);
    				}
    
    			} while ( wiederhol );
    
    //			scanf ("%c",&PizzaWahl[gast_nr]);
    //			PizzaWahl[gast_nr]='V';
    
    		}
    
    	}
    
    //	cout << "Gast ist " << gast1 << "." << endl << endl;
    
    	return gaeste;
    
    }
    
    int formular (int zeilen)
    {
    	int wza=0;
    
    	ofstream liste;  // Datenstrom für Dateiausgabe
    	ofstream excelliste;  // Datenstrom für Dateiausgabe
    
    	printf ("\n\n");
    
    	for (int wz=1;wz<=zeilen;wz++)
    	{
    
    		printf ("+---+----------+---+\n");
    
    		for (int wied=1;wied<=3;wied++)
    		{
    			if (wied==2)
    			{
    				while (!zusage[wza]==1)
    				{ wza++; }
    
    				printf ("+ %i +  %s    + %c +\n",wz, gast[wza],PizzaWahl[wza]);
    
    				switch (PizzaWahl[wza])
    				{
    						case 'M':
    							zutat_boden++;
    							zutat_sosse++;
    							zutat_kaese++;
    							zutat_tomaten++;
    							break;
    
    						case 'V':
    							zutat_boden++;
    							zutat_sosse++;
    							zutat_kaese++;
    							zutat_tomaten++;
    							zutat_pepperoni++;
    							break;
    
    						case 'G':
    							zutat_boden++;
    							zutat_sosse++;
    							zutat_kaese++;
    							zutat_tomaten++;
    							zutat_gyros++;
    							break;
    
    						case 'D':
    							zutat_boden++;
    							zutat_sosse++;
    							zutat_kaese++;
    							zutat_pepperoni++;
    							break;
    
    						case 'Q':
    							zutat_boden++;
    							zutat_sosse++;
    							zutat_kaese++;
    							zutat_salami++;
    							zutat_pepperoni++;
    							break;
    
    						default:
    							break;
    
    				}
    
    				wza++;
    			}
    			else
    			{
    				printf ("+   +          +   +\n");
    			}		
    
    		}
    	}
    
    	printf ("+---+----------+---+\n\n\n");
    
    // Ausgabe der Einkaufsliste
    
    	printf ("+---+-Einkaufsliste-+-Rewe-+\n");
    	printf ("+-n-+-Was------------------+\n");
    	printf ("+--------------------------+\n");
    	printf ("+-%i-+-Boeden---------------+\n", zutat_boden);
    	printf ("+-%i-+-Kaese----------------+\n", zutat_kaese);
    	printf ("+-%i-+-Sosse----------------+\n", zutat_sosse);
    	printf ("+-%i-+-Tomaten--------------+\n", zutat_tomaten);
    	printf ("+-%i-+-Salami---------------+\n", zutat_salami);
    	printf ("+-%i-+-Pepperoni------------+\n", zutat_pepperoni);
    	printf ("+-%i-+-Gyros----------------+\n", zutat_gyros);
    	printf ("+--------------------------+\n");
    
    	liste.open("EINKAUF.TXT", ios_base::out);  // Datei zum Schreiben öffnen
    															   // ios_base:out = neu schreiben
    															   // ios_base:out | ios_base::app = schreiben, aber an das Existierende anhängen
    
    	if (liste)
    	{
    
    	// Ausgabe der Einkaufsliste in eine Datei "EINKAUF.TXT"
    
    		liste << "+---+-Einkaufsliste-+-Rewe-+" << endl;
    		liste << "+-n-+-Was------------------+" << endl;
    		liste << "+--------------------------+" << endl;
    		liste << "+-" << zutat_boden << "-+-Boeden---------------+" << endl;
    		liste << "+-" << zutat_kaese << "-+-Kaese----------------+" << endl;
    		liste << "+-" << zutat_sosse << "-+-Sosse----------------+" << endl;
    		liste << "+-" << zutat_tomaten << "-+-Tomaten--------------+" << endl;
    		if (zutat_salami>0)
    		{
    			liste << "+-" << zutat_salami << "-+-Salami---------------+" << endl;
    		}
    		liste << "+-" << zutat_pepperoni << "-+-Pepperoni------------+" << endl;
    		liste << "+-" << zutat_gyros << "-+-Gyros----------------+" << endl;
    		liste << "+--------------------------+" << endl;
    
    		liste.close();
    	}
    	else
    	{
    		cout << "Fehler: Datei EINKAUF.TXT konnte nicht beschrieben werden !" << endl;
    	}
    
    	excelliste.open("EINKAUF.CSV", ios_base::out);  // Datei zum Schreiben öffnen
    															   // ios_base:out = neu schreiben
    															   // ios_base:out | ios_base::app = schreiben, aber an das Existierende anhängen
    
    	if (excelliste)
    	{
    
    	// Ausgabe der Einkaufsliste in eine Datei "EINKAUF.TXT"
    
    		excelliste << ";\"Einkaufsliste Rewe\";" << endl;
    		excelliste << ";;" << endl;
    		excelliste << "1;\"Boden\";" << zutat_boden << ";3;=C3*D3" << endl;
    		excelliste << "2;\"Kaese\";" << zutat_kaese << endl;
    		excelliste << "3;\"Sosse\";" << zutat_sosse << endl;
    		excelliste << "4;\"Tomaten\";" << zutat_tomaten << endl;
    		excelliste << "5;\"Salami\";" << zutat_salami << endl;
    		excelliste << "6;\"Pepperoni\";" << zutat_pepperoni << endl;
    		excelliste << "7;\"Gyros\";" << zutat_gyros << endl;
    
    		excelliste.close();
    	}
    	else
    	{
    		cout << "Fehler: Datei EINKAUF.CSV konnte nicht beschrieben werden !" << endl;
    	}
    
    	return 0;
    }
    
    int einkaufen (int gaeste) 
    {
    
    	formular(gaeste);
    
    	printf ("Ich habe fuer %i eingekauft !\n\n", gaeste);
    
    	return gaeste;
    }
    
    void feiern () 
    {
    
    	printf ("Game over ! \n\n\n");
    
    }
    
    int main(int argc, char* argv[])
    {
    
    int anzahl_gaeste;
    
    	printf("Hallo Welt!\n\n---------------------------------------------\n");   // Ausgabe
    
    	anzahl_gaeste =	einladen();
    
    	einkaufen( anzahl_gaeste );
    
    	feiern();
    
    //	system("dir *.c*");
    
    	system("pause");
    
    	return 0;
    }
    

    Vielen Dank schonmal im Voraus! 🙂


  • Mod

    Abgesehen von der Ergänzung von Code-Tags will und kann ich dir nicht helfen. Einfach hunderte LOC hier rein zu pasten und Hilfe zu erwarten ist eine bodenlose Unverschämtheit.

    Außerdem hast du nicht einmal eine Frage - was genau erwartest du eigentlich von uns? Dass wir deine Hausaufgaben vervollständigen?

    Bitte lesen: Du brauchst Hilfe?



  • Hat dieser Prof im Kindergarten promoviert oder wieso sonst weiß er nicht was std::string ist (obwohl er den Header inkludiert hat), mischt printf und std::cout durcheinander, nutzt nutzlose globale Variablen und schreibt Code der zur Hälfte aus redundanten Wiederholungen besteht? 😡 😡 😡 👎 👎 👎



  • Naja er sagte, Ihm sei es egal wenn 50% durchfallen, da würde eh niemand danach fragen.

    Tut mir leid, ich bin hab keinerlei Erfahrungen mit Foren.
    Warum das unverschämt ist kann ich zwar nicht nachvollziehen, aber okay.

    Aber wenn Du mir nicht helfen willst, musst Du auch nichts unter den Beitrag posten 😉



  • auf so was umfangreiches so schlecht gelöstes wird dir wohl niemand hier helfen. deshalb war der hinweis schon nicht ganz so überflüssig, wie du vll denkst...

    Naja er sagte, Ihm sei es egal wenn 50% durchfallen, da würde eh niemand danach fragen.

    mal davon abgesehen, dass er das ziemlich sicher nicht so gesagt hat, spielt es auch absolut keine rolle... und wenn ich deinen code angucke, hättest du bei der vorlesung vll doch mal bissl aufpassen sollen...



  • Hat er so gesagt aber gut 😉

    Und ja ich hätte aufpassen sollen , der war gut.
    Das ist die Version, die der Prof im Nachhinein auf den Server gestellt hat und ich hab sie mir gezogen um auf Nummer sicher zu gehen. Bin vielleicht nicht ganz so dumm wie Du eventuell denkst 😉



  • fabian 94 schrieb:

    Und ja ich hätte aufpassen sollen , der war gut.
    Das ist die Version, die der Prof im Nachhinein auf den Server gestellt hat und ich hab sie mir gezogen um auf Nummer sicher zu gehen. Bin vielleicht nicht ganz so dumm wie Du eventuell denkst 😉

    Das oben ist 1:1 der Code von deinen Prof???



  • zutat[0][0] = 'M';
        zutat[0][1] = 'e';
        zutat[0][2] = 'h';
        zutat[0][3] = 'l';
    
        zutat[0][4] = 0;
    
        zutat[1][0] = 'Z';
        zutat[1][1] = 'u';
        zutat[1][2] = 'c';
        zutat[1][3] = 'k';
        zutat[1][4] = 'e';
        zutat[1][5] = 'r';
    
        zutat[1][6] = 0;
    
        zutat[2][0] = 'E';
        zutat[2][1] = 'i';
        zutat[2][2] = 'e';
        zutat[2][3] = 'r';
    
        zutat[2][4] = 0;
    
        zutat[3][0] = 'W';
        zutat[3][1] = 'a';
        zutat[3][2] = 's';
        zutat[3][3] = 's';
        zutat[3][4] = 'e';
        zutat[3][5] = 'r';
    
        zutat[3][6] = 0;
    
        zutat[4][0] = 'M';
        zutat[4][1] = 'i';
        zutat[4][2] = 'l';
        zutat[4][3] = 'c';
        zutat[4][4] = 'h';
    
        zutat[4][5] = 0;
    
        zutat[5][0] = 'B';
        zutat[5][1] = 'a';
        zutat[5][2] = 'c';
        zutat[5][3] = 'k';
        zutat[5][4] = 'p';
        zutat[5][5] = 'u';
        zutat[5][6] = 'l';
        zutat[5][7] = 'v';
        zutat[5][8] = 'e';
        zutat[5][9] = 'r';
    
        zutat[5][10] = 0;
    
        zutat[6][0] = 'K';
        zutat[6][1] = 'e';
        zutat[6][2] = 't';
        zutat[6][3] = 'c';
        zutat[6][4] = 'h';
        zutat[6][5] = 'u';
        zutat[6][6] = 'p';
    
        zutat[6][7] = 0;
    
        zutat[7][0] = 'N';
        zutat[7][1] = 'u';
        zutat[7][2] = 'd';
        zutat[7][3] = 'e';
        zutat[7][4] = 'l';
        zutat[7][5] = 'n';
    
        zutat[7][6] = 0;
    
        zutat[8][0] = 'B';
        zutat[8][1] = 'u';
        zutat[8][2] = 't';
        zutat[8][3] = 't';
        zutat[8][4] = 'e';
        zutat[8][5] = 'r';
    
        zutat[8][6] = 0;
    

    vs.

    Bin vielleicht nicht ganz so dumm wie Du eventuell denkst

    ich verabschiede mich mal aus dem thread hier...

    ich würde ziemlich viel setzen, dass das nicht dein Prof verzapft hat.



  • Ist das ein Literatur-Professor? Wenn man eine Vorlesung hält, sollte man zumindest etwas Ahnung davon haben. Oder zumindest geeignete Hiwis dafür haben.



  • fabian 94 schrieb:

    Warum das unverschämt ist kann ich zwar nicht nachvollziehen, aber okay.

    Wenn du willst dass man dir hilft, dann frage/bitte um Hilfe.
    Wenn du willst dass man dir etwas beantwortet, dann stell eine Frage.
    Einfach nur einen Sachverhalt wie "XYZ verstehe ich nicht" hinzuklatschen, und dann zu warten ob es einem jemand erklärt, ist unhöflich. Zu erklären warum ist mir im Moment allerdings zu mühsam - ich hoffe du verstehst es auch so.

    Und ein halb fertiges Programm hinzuklatschen ohne auch nur zu erwähnen wo der Schuh drückt oder was man eigentlich will... ist unhöflich bis unverschämt. Je nachdem was du dir erwartest/erhoffst.

    -------

    Davon abgesehen kann ich nur (für dich) hoffen dass die Sache mit dem Programm von deinem Prof ein schlechter Scherz ist. Falls nicht such dir jmd. erwachsenen der was von Programmieren versteht, zeig dem das Programm und bitte ihn mit eurem Rektor zu sprechen.





  • fabian 94 schrieb:

    Ich habe jetzt den Quelltext schonmal bis ca. zur Hälfte fertig, als Vorlage habe ich ein Programm genommen, welches während einer Vorlesung mit meinem Prof erstellt wurde, nach dieser Vorlage soll das jetzige Programm erstellt werden.

    Das Programm ist grotesk. Es erscheint unmöglich, Dir im Rahmen eines Forums zu helfen (C++-Kompendium gelesen?, das könnte am ehesten zu so Code führen, fürchte ich.) Lies ein gutes C++-Buch, vielleicht Breymann oder Stroustrop.



  • Hey las dich davon jetzt nicht runter ziehen, mein Prof wahr auch ne Niete was das Lehren von c++ anging. (ganzbesonders was die neueren Standarts angeht)

    Das problem ist einfach das dein code aussiet wie ein mix aus c und nen hauch von c++. Bei euch geht es aber um c++???? nehme ich mal an.
    dafür soltet du dir wie oben bereits gesagt zu allererst mal ein ordentliches buch besorgen.(selbst wenn du es fürs erste nur zum nachschlagen benutzt ist das besser als das bsp. Programm von oben.)

    Dein erstes Problem ist offensichtlich das du kein wirkliches Konzept hast Wie du das Problem lösen Kanst/Willst. Du solltest dir zuallererst mal anschauen wie mann ein Klasse aufbaut und Diese mit Daten füllst. Dann kanst du z.B. eine klasse "Zutat" erstellen und davon für jede zutat ein Objekt erstellen, z.B. in einem array oder idealer weise benutzt du dann direkt die standart Container wie Vektoren o.ä.

    MfG BabCom



  • BabCom schrieb:

    Das problem ist einfach das dein code aussiet wie ein mix aus c und nen hauch von c++.

    Nein, DAS ist nicht das Problem. Auch wenn man alles C++-ige entfernen und den Code als C Programm ansehen würde wäre er noch grässlich.

    BTW: du solltest mehr auf das vs. dass und Gross-/Kleinschreibung achten.



  • Ja da hast du wohl recht 😉



  • Ich wollte fabian 94 auch nicht runterziehen. Sorry, wenn es so ankam.

    Das Programm ist grotesk. Von dieser Quelle wirste nix lernen außer widersprüchlichem (Programmier-)Gestammele. Das macht auch keinen Spaß, wenn man nicht vorankommt, wenn man nicht das Gefühl hat, besser zu werden. Dieser Quelle kannste folgen mit den üblichen 90min/Woche (Unterrichtszwang) und sagen wir mal noch einen Tag pro Woche weil es Dich unglaublich fasziniert. Anfangs ein Tag pro Woche, später auch 90min, nach 5Wochen nicht mehr als 2min auf dem Pausenhof. Du fährst gegen eine Wand, weil das, was Du mit viel Fleiß Dir selber als Erweiterung zum Unterricht und zur logischen Vereinfachung und überhaupt zum erstmal sinnvoll Anfaßbarem erfindest, das wird kaputtgemacht durch die nächste Lektion des Chaos-Lehrers, der einen Anti-Sinnvoll-Stil drauf hat.

    Nu haste zwei echt starke Interessen daran, Dir ein Bich zu besorgen und zu lesen:
    a) Dich fasziniert es. Das weiß ich genau, denn wäre es nicht so, hättest Du nicht hier gepostet.
    b) Es ist ein ultimatives Gebot der Faulheit: Lies schnell ein gutes Buch, dann kannste von oben herab 1-Noten abzocken und hast außer dem Lesen quasi Null Aufwand. Gelegentliche Popelprogramme als Anschlussprüfungen dauern Dich nur Minütchen statt Wochen. Wenns hochkommt und Du nicht eh am Rechner saßest, als der Chaoslehrer den anderen lang und breit erzählen musste, was sie machen sollten. Denke, in der Erzählzeit hättest Du den Code zehnmal drin.

    Warum kein Buch?
    a) zu teuer.
    v) zu faul zu lesen.

    a) wird widerlegt durch das innige Interesse Deiner Eltern, daß Du mal noch mehr verdienst als sie. Falls Du Interesse am Programmieren hast und sie keine 50€ für ein Buch losmachen(und alle halbe Jahr nochmal immerdar), dann bestell mich zum Kaffee, ich komme in schwarzer Lerderjacke und überzeuge sie davon, daß inzwischen JEDER Lebensbereich mit Rechnern vollkommen durchsetzt ist und sie kein arbeitsloses Hinterm-Mond-Kind bis zu dessen Rente im Kinderzimmer haben wollen.

    v) Falls Du nur eine 3 anstrebst, isses schon schneller, das gute Buch oberflächlich anzuschauen und ca. alle 20 Seiten mal eine halbe Seite zu lesen, statt zu versuchen, herauszufinden, was die Quelle meinte. Die Quelle meinte nämlich nix. Die Quelle ist ein Würfel.

    Hol Dir ein Buch, hau es Dir in einem Wochenende in den Kopf. Ja, so schnell bitte. 98% nicht verstanden. Das ist Ok. Aber dann haste den Überblick und wirst ab da sinnvoll lernen.

    Und dann noch mußte voll doof gucken lernen. Du weißt ja, daß der Lehrer eine Vollkatastrophe (Volkardstrophe) ist. Lass ihn das nicht spüren. Schau so dumm wie Merkel. In der Klausur schreib, was er haben mag.

    Das ist auch ein gutes Training fürs Studium. Da mußte auch vor allem in frühen Fächern unglaublich viel fraglichen oder falschen Mist für die 1 schreiben, 100% Lehrstoff und mehr reicht nur für die 2. Einklagen ist der Mühe nicht wert und wird eh nix, Prof-Richter-Student?!.



  • Prof-Richter

    Der Name kommt mir bekannt vor 😉


Anmelden zum Antworten