Új hozzászólás Aktív témák
-
dudika10
veterán
Üdv!
Egy hozzáértő számára szerintem egyszerű kérdésem volna. Elkezdtem ismerkedni a C-vel (MS Virtual Studio 2010 segítségével), és a bináris keresésre épülő egyszerű játékot szeretnék csinálni.
while(x!=1)
{
tipp=((min + max )/a);
printf("Ez a szam a %d ? \n", tipp );
scanf("%c", &valasz);
if(valasz =='=')
x=1;
else if(valasz == '<')
min=tipp;
else if(valasz == '>')
max=tipp;
else if(valasz != '>' && valasz != '<' && valasz != '=' )
printf("Kerlek valaszolj, vagy nem tudok tovabblepni! \n");
/* Nem működik jól. A scanf után úgy veszi, mintha nem történt volna semmi, visszaugrik a ciklus elejére, végrehajtja a printf-t, és újra a scanf jön. */
}Ahogy az a megjegyzésnél is olvasható, a program majdnem jól működik, de:
Megteszi az első tippet, majd megvárja, hogy válaszoljak (kisebb, nagyobb, egyenlő az általam gondolt szám). Eddig jó. De most jön a de. Megadom a választ, nyomok egy entert, majd kiírja az új tippet, jönne egy scanf, de azt mondja, hogy nem adtam meg tippet, és az utolsó else if-re ugrik, majd újra kiírja a tippet, jön a scanf és itt már megvárja, amíg beviszem az adott karaktert.Valaki meg tudná mondani, hogy hol a hiba?

szerk.: azt elfelejtettem leírni, hogyha az utolsó else if nincs, akkor scanf után a scanf-re ugrik. Az utolsó else if pont ezért (is) került bele, hogy megnézzem, hogy miért ugrik oda, és a működésből arra következtettem hogy azért, mert az első beolvasást üresnek veszi.
Előre is köszönöm a választ!

Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- A fociról könnyedén, egy baráti társaságban
- Nem indul és mi a baja a gépemnek topik
- Philips LCD és LED TV-k
- Milyen egeret válasszak?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kerékpárosok, bringások ide!
- Samsung Galaxy Felhasználók OFF topicja
- Le Mans Ultimate
- Linux kezdőknek
- S.T.A.L.K.E.R.: Call of Pripyat
- További aktív témák...
- Gainward RTX 5060 Ti Python III 16GB GDDR7 128bit (NE7506T019T1-GB2061T) Videokártya
- Eladó új állapotban levő Redmi Note 11 4/64GB szürke / 12 hónap jótállás
- AKCIÓ! iMac Pro Intel Xeon W2150B 64GB 1TB VEGA 64 16GB!!! 1 év garancia!
- Lenovo X390 i5 8265U, 8GB RAM, 256-512GB SSD, jó akku, számla, 6 hó gar
- Gamer PC-Számítógép! Csere-Beszámítás! R7 5700 / RTX 2080Ti 11GB / 16GB DDR4 / 1TB SSD!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


