Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /*ISO-Normdatum aus 3 Zahlen: Jahr, Monat, Tag*/
- typedef int ISO8601_JJJJMMTT[3];
- /* Namen der Wochentage */
- const char Wochentage[][15] =
- {
- "" /*Nr. 0*/, "Montag" /*Nr. 1*/, "Dienstag" /*Nr. 2*/, "Mittwoch" /*Nr. 3*/,
- "Donnerstag" /*Nr. 4*/, "Freitag" /*Nr. 5*/, "Samstag" /*Nr. 6*/, "Sonntag" /*Nr. 7*/
- };
- /* Angebotskategorien des Mensa-Speiseplans */
- const char Angebot[][50] =
- {
- "Salatbuffet/Salatteller" /*Nr. 0*/,
- "Essen I" /*Nr. 1*/, "Essen II" /*Nr. 2*/, "Eintopf" /*Nr. 3*/,
- "Dessertauswahl" /*Nr. 4*/, "Wok" /*Nr. 5*/,
- "Dessert Mensen Preis 3" /*Nr. 6*/, "Aktionsstand" /*Nr. 7*/,
- "Essen III" /*Nr. 8*/, "Gratin" /* Nr. 9*/, "Sonstiges" /* Nr. 10*/
- };
- /* Struktur für ein Mensa-Gericht */
- typedef struct {
- int angebot_nr[100]; /* Nummer der Angebotskategorie */
- char bezeichnung[100][100]; /* Bezeichnung des Gerichts, z.B. "Obstbecher */
- /* Kennzeichnung ist eine Zeichenkette mit einem oder mehreren Buchstaben.
- Gibt es keine Kennzeichnung dann ist die Zeichenkette leer "" */
- char kennzeichnung[10][10]; /* z.B. "FA" für fleischlos mit Alkohol */
- /* Max. 20 Angaben (Zahlen) für Zusatzstoffe. 0 bedeutet keine Angabe */
- int zusatzstoffe_und_allergene[100][100]; /* alle nicht belegten Elemente müssen 0 sein! */
- int centpreisStud[100]; /* Studierendenpreis in Euro-Cent */
- int centpreisBed[100]; /* Bedienstetenpreis in Euro-Cent */
- int centpreisGast[100]; /* Preis für Gäste in Euro-Cent */
- } Mensa_Essen;
- /* Hier enden die Typdefinitionen und die globalen Datenstrukturen */
- /*-----------------------------------------------------------------*/
- int main (void) {
- //preisstufe auslesen
- char benein = getchar();
- //char benein = 'S';
- if(benein == 'S' || benein == 'B' || benein == 'G')
- {}else{
- printf("Ungueltige Benutzereingabe\n");
- return 0;}
- //max preis auslesen
- printf("hoechster Preis fuer ein Gericht, den sie bezahlen wuerden ?\n");
- double maxpreis;
- scanf("%lf", &maxpreis);
- maxpreis = maxpreis * 100;
- Mensa_Essen mein_essen =
- {
- { 1 , 2 , 8 ,3,4},
- {
- "Hacksteak griechische Art mit Frischkäsefüllung",
- "Makkaroni mit Erbsen und Champignons",
- "Reisgericht mit Schinken und Gemuese",
- "Rheinischer Schnippelbohneneintopf",
- "Verschiedene Dessertvariationen"},
- {
- "R",
- "F",
- "S",
- "V",
- "Z"},
- {
- { 19, 20, 21,31,15 },
- { 19,15 },
- { 2,6,20,21,23,14 },
- { 11,22},
- { 0}},
- {100 ,120,295,110,75},
- {280 ,270 ,435 ,240,90},
- { 280,270,435,240,90},
- };
- ISO8601_JJJJMMTT datum_des_beispiels =
- { 2016, 01, 11 };
- /* Hier enden die Variablen-Definitionen im Hauptprogramm */
- /*--------------------------------------------------------*/
- //mein_essen.bezeichnung[1] = 'Hacksteak griechische Art mit Frischkäsefüllung';
- printf("Mein Essen am %i.%i.%i, %s\ngehoert zur Angebotskategorie:\n\n",datum_des_beispiels[2], datum_des_beispiels[1], datum_des_beispiels[0]
- ,Wochentage[1]);
- int i;
- int tt;
- for (tt = 0; tt <= sizeof(mein_essen.angebot_nr[0]);tt++)
- {
- if((benein == 'S') && (mein_essen.centpreisStud[tt] <=maxpreis) )
- {
- printf("%s\"\nund heisst:\n\"%s\"\n",
- Angebot[mein_essen.angebot_nr[tt]],
- mein_essen.bezeichnung[tt]);
- printf("Kennzeichnungen ueber Zusatzstoffe und Allergene: %s",
- mein_essen.kennzeichnung[tt]);
- for (i = 0; i <= sizeof(mein_essen.zusatzstoffe_und_allergene[0][0]); i++)
- {
- printf(" %i", mein_essen.zusatzstoffe_und_allergene[0][i]);
- }
- double zu_zahlen = mein_essen.centpreisStud[tt];
- zu_zahlen = zu_zahlen / 100;
- printf("\n zu zahlen: %2.2f\n\n", zu_zahlen);
- }
- if((benein == 'G') && (mein_essen.centpreisGast[tt] <=maxpreis) )
- {
- printf("%s\"\nund heisst:\n\"%s\"\n",
- Angebot[mein_essen.angebot_nr[tt]],
- mein_essen.bezeichnung[tt]);
- printf("Kennzeichnungen ueber Zusatzstoffe und Allergene: %s",
- mein_essen.kennzeichnung[tt]);
- for (i = 0; i <= sizeof(mein_essen.zusatzstoffe_und_allergene[0][0]); i++)
- {
- printf(" %i", mein_essen.zusatzstoffe_und_allergene[0][i]);
- }
- double zu_zahlen = mein_essen.centpreisGast[tt];
- zu_zahlen = zu_zahlen / 100;
- printf("\n zu zahlen: %2.2f\n\n", zu_zahlen);
- }
- if((benein == 'B') && (mein_essen.centpreisBed[tt] <=maxpreis) )
- {
- printf("%s\"\nund heisst:\n\"%s\"\n",
- Angebot[mein_essen.angebot_nr[tt]],
- mein_essen.bezeichnung[tt]);
- printf("Kennzeichnungen ueber Zusatzstoffe und Allergene: %s",
- mein_essen.kennzeichnung[tt]);
- for (i = 0; i <= sizeof(mein_essen.zusatzstoffe_und_allergene[0][0]); i++)
- {
- printf(" %i", mein_essen.zusatzstoffe_und_allergene[0][i]);
- }
- double zu_zahlen = mein_essen.centpreisBed[tt];
- zu_zahlen = zu_zahlen / 100;
- printf("\n zu zahlen: %2.2f\n\n", zu_zahlen);
- }
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment