Új hozzászólás Aktív témák

  • kpisti1990

    csendes tag

    Sziasztok!
    A segítségeteket szeretném kérni. Adott egy állapotgépes feladat:

    -alap állapotban üdvözlő szöveg
    -a user 3 különböző ital közül választhat
    -ital kiválasztása után jelenlen meg az ital neve és ára
    -sikertelen fizetés vagy törlés esetén térjen vissza alap állapotba
    -sikeres fizetés esetén kezdje elkészíteni az italt
    -mikor kész, üzenetben jelezze
    -végén (ital elvételekor) álljon vissza alap állapotba

    Eléggé nagyon kezdő vagyok, most próbálkozok a "hello world"nél komolyabb kóddal először ;) Átrágva a jegyzetetek/fórumokat arra jutottam hogy ez egy switch-case-es eset. Sikerült elérnem, hogy egy adott betű lenyomására egy adott szöveget írjon ki.
    char c;
    c=getchar();
    getchar();
    if (c=='k')
    printf("Kave 100Ft\n");
    if (c=='t')
    printf("Tea 150Ft\n");
    if (c=='c')
    printf("Forrocsoki 200Ft\n");

    valahogy így. Ezt betettem a case ALAP esetbe, eddig rendben van, viszont sehogyse tudom átugrasztani a következő stádiumra. a break; miatt ugyebár kilép az egészből, de én úgy tudom, valahogy mégiscsak átlehete ugrasztani a következő case-re. Remélem érthetően fogalmaztam, segítségeket köszönöm előre is .
    int main()
    {
    typedef enum state {ALAP,FIZETETT,KESZ};
    enum state state=ALAP;
    while (1)
    {
    switch(state){
    case ALAP:
    printf("Udvozlom!Kerem valasszon italt\n");
    {
    char c;
    c=getchar();
    getchar();
    if (c=='k')
    printf("Kave 100Ft\n");
    if (c=='t')
    printf("Tea 150Ft\n");
    if (c=='c')
    printf("Forrocsoki 200Ft\n");
    }
    break;

    case FIZETETT:
    printf("Ital keszitese folyamatban....\n");
    break;

    case KESZ:
    printf("Kesz!Kerem vegye el az italt.Koszonom!\n");
    break;
    default: printf("Sikertelen fizetes vagy torles.\n");
    }

    return 0;

    }
    }
    Itt a teljes. Feltételezem kismillió hiba van benne, de fut :D viszont amit el szeretnék érni hogy miután pl a "k" betűt lenyomtam és kiírta az árát meg a nevét, ne lépjen ki, hanem térjen rá a FIZETETT állapotra(ott természetesen más lesz, csak bírtam neki valamit, hogy lássam átugrik-e). :DD

Új hozzászólás Aktív témák