Kezdőoldal » Számítástechnika » Programozás » Switch utasítás Cben?

Switch utasítás Cben?

Figyelt kérdés

Az alábbi programban az a problémám,

hogy ha beírok pl. 2542, akkor azt írja ki, hogy two thousand fourty two, szóval a Five hundred-et kihadja.

Ez miért van?

Program lényege,hogy a bevitt számot, angolol írja ki.


#include <stdio.h>

#include <stdlib.h>



int main()

{

int szam,a,b,c,d,x;

int seged_a,seged_b,seged_x;

printf("Ird be a szamot: "); scanf("%i",&szam);

a=szam / 10; // EGESZ SZAM

b=szam % 10; // MARADEK tizes szamok

c=szam / 100; //egesz szam szazasok

d=szam % 100; // maradek szam

seged_a=d / 10;

seged_b=d % 10;

x=szam / 1000;

seged_x=d / 10;


switch(x)

{

case 1: printf("One thousand "); break;

case 2: printf("Two thousand "); break;

case 3: printf("Three thousand "); break;

case 4: printf("Four thousand "); break;

case 5: printf("Five thousand "); break;

case 6: printf("Six thousand "); break;

case 7: printf("Seven thousand "); break;

case 8: printf("Eight thousand "); break;

case 9: printf("Nine thousand "); break;

}

switch(c)

{

case 1: printf("One hundred ");break;

case 2: printf("Two hundred ");break;

case 3: printf("Three hundred ");break;

case 4: printf("Four hundred ");break;

case 5: printf("Five hundred ");break;

case 6: printf("Six hundred ");break;

case 7: printf("Seven hundred ");break;

case 8: printf("Eight hundred ");break;

case 9: printf("Nine hundred ");break;


}


if((a==1)&&(b==0))

{

printf("ten ");

}

else if((a==2)&&(b==0))

{

printf("twenty ");

}

else

{

switch(a, seged_a)

{

case 1: printf("ten ");break;

case 2: printf("twenty ");break;

case 3: printf("thirty ");break;

case 4: printf("fourty ");break;

case 5: printf("fifty ");break;

case 6: printf("sixty ");break;

case 7: printf("seventy ");break;

case 8: printf("eighty ");break;

case 9: printf("ninety ");break;

}

switch(a, seged_b)

{

case 1: printf("one ");break;

case 2: printf("two ");break;

case 3: printf("three ");break;

case 4: printf("four ");break;

case 5: printf("five ");break;

case 6: printf("six ");break;

case 7: printf("seven ");break;

case 8: printf("eight ");break;

case 9: printf("nine ");break;

}


}


return 0;

}



#hiba #swtich
2014. jún. 10. 15:06
 1/5 anonim ***** válasza:

Ez a baj:

c=szam / 100;


Tehát szam=2542 esetén c=25.

2014. jún. 10. 15:18
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Gondold át szerintem jobban az egészet...

Tervezd meg ügyesen...

2014. jún. 10. 15:19
Hasznos számodra ez a válasz?
 3/5 uno20001 ***** válasza:

Ha ezt:

a=szam / 10; // EGESZ SZAM

b=szam % 10; // MARADEK tizes szamok

c=szam / 100; //egesz szam szazasok

d=szam % 100; // maradek szam

seged_a=d / 10;

seged_b=d % 10;

x=szam / 1000;

seged_x=d / 10;


kicseréled erre:

x = szam / 1000;

szam = szam % 1000;

c = szam / 100;

szam = szam % 100;

a = szam / 10;

szam = szam % 10;

b = szam;

akkor 9999 elvileg működni fog.

2014. jún. 10. 15:29
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

Ha c= szam % 1000 ,

akkor butaságot ír ki végeredménynek

2014. jún. 10. 15:33
 5/5 A kérdező kommentje:
Megoldottam! Köszi mindenkinek
2014. jún. 10. 15:38

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!