Hirdetés
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- MWC 2026: Farsangra Galaxy Ultrának öltözött a gyerek
- Google Pixel topik
- Yettel topik
- Redmi Note 12 Pro - nem tolták túl
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- MWC 2026: Európába jött a Mate 80 Pro
Ú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!
- Apple iPhone 13 Pro 256GB,Újszerű,Dobozaval,12 hónap garanciával
- Dell XPS 13 9300 i7-1065G7 8GB 1000GB FHD+ 500nit! 1 év garancia
- Apple iPad mini 4 (A1538) 128GB Wi-Fi Asztroszürke
- GeForce RTX 2060 (OEM HP) Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Á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.

