Új hozzászólás Aktív témák
-
Rickazoid
addikt
Írnék egy C programot, de van egy hiba, aminek nem találom az okát már vagy másfél órája.
Itt a forrás (egyelőre csak egy példa, úgymond vázlat program, erre épülne majd egy jóval bonyolultabb):...
int b=1;
char c;
...
while(b==1)
{
c=getchar();
switch(c)
{
case '1':
{
i=1;
printf("The number is %i\n",i);
b=0;
break;
}
case '2':
{
i=2;
printf("The number is %i\n",i);
b=0;
break;
}
case '3':
{
i=3;
printf("The number is %i\n",i);
b=0;
break;
}
case '4':
{
i=4;
printf("The number is %i\n",i);
b=0;
break;
}
default:
{
printf("That is not a menu option, please try again: ");
b=1;
break;
}
}
}A problémám az lenne, hogy a default parancsai duplán hajtódnak végre. Mindig duplán írja ki a "That is not a menu option, please try again: " szöveget. Megpróbáltam írni a getchar() elé és mögé egy szöveget printf-fel, de a defaultra azokat is duplán írta ki, jól láthatóan egyszer átugrotta a getchar()-t. Próbáltam kivenni a ciklusból a ciklus elé és újra betenni a defaulthoz, de úgy is szimplán átugrotta egyszer. Nem értem, de nagyon nem. Próbáltam getchar() helyett scanf()-et is, de azt is átugorja egyszer, így annál is dupla lesz a default végrehajtódása. Mitől lehet ez?
Ú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 / 256GB / Kártyafüggetlen / 12Hó Garancia / Akku: 100%
- AKCIÓ! Sony PlayStation 5 825GB digital extra fejhallgatóval garanciával hibátlan működéssel
- AKCIÓ! Intel Core Ultra 5 235 14 mag 14 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! MSI B760M i5 14400 16GB DDR5 512GB SSD RX 6700 XT 12GB Lian LI LANCOOL 207 GIGABYTE 750W
- i7-9700 procit keresek
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

