Hirdetés
- Luck Dragon: Óraátállítás
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- gban: Ingyen kellene, de tegnapra
- NvidiaRTX: Xiaomi Electric Scooter 6 Max: Az első rollerem
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Hieronymus: Hogyan parkolj hátramenetben profi módon
- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
Új hozzászólás Aktív témák
-
kpisti1990
csendes tag
válasz
stepboy
#5737
üzenetére
Szia!
Igen, leírásban IR szenzor ad jelet ha elvették az italt, itt én arra gondoltam, hogy egy számláló leszámol pár secundumot és akkor visszaáll. Másként nem igazán lehet szerintem szimulálni. Köszönöm a részletes választ
kipróbálom, próba cseresznye ahogy egy ősi kínai mondás tartja 
-
kpisti1990
csendes tag
válasz
stepboy
#5733
üzenetére
Szia! Köszönöm a választ! SIkerült!

int main()
{
typedef enum {ALAP,FIZETETT,KESZ}STATE_t;
STATE_t state;
state=ALAP;
while (1)
{
switch(state){
case ALAP:
{
printf("Udvozlom. Kerem valasszon italt!\n");
char c = getchar();
if (c=='k')
{printf("Kave 100Ft\n");
state=FIZETETT;}
else if (c=='t')
{printf("Tea 150Ft\n");
state=FIZETETT;}
else if (c=='c')
{printf("Forrocsoki 200Ft\n");
state=FIZETETT;}
else if ( ( c != 'k' ) || ( c != 't' ) || ( c != 'c' ) )
printf("rossz\n");
break;
}
case FIZETETT:
{
printf( "valami szoveg\n" );
state = KESZ;
break;
}
case KESZ:
{
printf( "megint szoveg\n" );
state = ALAP;
break;
}
}
}
return 0;
}Egyet nem értek, ha lefuttatom, magától lefut még1x vagy 2x. return-t kéne átírni? 0-val kezdi előlről az egészet? Mintha tárolná valahol azt, hogy előző körben mit adtanm meg neki.
-
kpisti1990
csendes tag
válasz
stepboy
#5731
üzenetére
Szia!
Köszönöm a választ
Hasonlóval próbálkoztam, de valamiért nem akar működni :/int main()
{
typedef enum STATE_t {ALAP,FIZETETT,KESZ}STATE_t;
STATE_t 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");
}
state=FIZETETT;
break;
case FIZETETT:Talán rosszul értelmezem neki a state-t? Vagy "csak a megfelelő karakter beolvasása után lehet "FIZETETT" érték" ezt úgy értetted, hogy erre is kéne írni egy if-es szerkezetet? if (valami==true) state=FIZETETT;?
-
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 állapotbaElé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
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). 
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen légkondit a lakásba?
- Skoda topik (Favorit és visszafelé)
- Autós topik látogatók beszélgetős, offolós topikja
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Hardcore café
- PlayStation 5
- Luck Dragon: Óraátállítás
- Battlefield 6
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- XPEnology
- További aktív témák...
- HONOR 400 Lite Velvet Grey 256GB használt karcmentes garancia 2027.07.31.-ig
- PlayStation 5 FAT DIGITAL + kontroller 6 hó garancia, számlával!
- AKCIÓ! AsRock H510M i5 11400 16GB DDR4 512GB SSD RTX 2070 Super 8GB ZALMAN S2 TG Adata 600W
- iKing.hu Apple iPhone 12 mini 64GB Black használt megkímélt 100% akku 6 hónap garancia
- Razer Tartarus V2 Chroma Gaming Keypad
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

kipróbálom, próba cseresznye ahogy egy ősi kínai mondás tartja
Á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.
