Kezdőoldal » Számítástechnika » Programozás » C nyelvben szeretnék egy kis...

C nyelvben szeretnék egy kis segítséget kérni csináltam egy olyan programot ami be írok egy három jegyű számot ki kéne írnia betűvel 555=otszazotvenot helyette ottizenegy :/?

Figyelt kérdés

#include <stdio.h>

#include <stdlib.h>


int main()

{

int szam;

int a,b;

int c,d;

int e;


printf("irj be egy 3 jegyu szamot\n");

scanf("%d", &szam);


a = szam / 100;

b = szam % 10;

c = szam / 10;

d = szam % 100;

e = szam / 1;


switch(a)

{

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

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

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

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

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

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

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

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

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

}

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

{

printf("tíz");

}

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

{

printf("húsz");

}

else

{

switch(b || c)

{

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

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

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

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

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

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

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

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

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

}

switch(d || e)

{

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

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

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

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

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

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

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

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

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

}

}


return (EXIT_SUCCESS);

}



2013. dec. 13. 20:40
 1/9 A kérdező kommentje:
helyesbítek otszaztizenegyet ír.
2013. dec. 13. 20:41
 2/9 SimkoL ***** válasza:

A múltkor rtm ide valakinek Pascal-ban egy hasonló, igaz itt sorszámról volt szó, lehet, hogy segít:


program sorszam;

function sorsz( const i : word) : string;

var egyes, tizes, szazas : byte;

s_Egyes, s_Tizes, s_Szazas : string;

begin

egyes := i mod 10;

tizes := i mod 100 div 10;

szazas := i div 100;

case szazas of

0: s_Szazas := '';

1: s_Szazas := 'száz';

2: s_Szazas := 'kétszáz';

3: s_Szazas := 'háromszáz';

4: s_Szazas := 'négyszáz';

5: s_Szazas := 'ötszáz';

6: s_Szazas := 'hatszáz';

7: s_Szazas := 'hétszáz';

8: s_Szazas := 'nyolcszáz';

9: s_Szazas := 'kilencszáz';

end;

case tizes of

0: s_Tizes := '';

1: s_Tizes := 'tizen';

2: s_Tizes := 'huszon';

3: s_Tizes := 'harminc';

4: s_Tizes := 'negyven';

5: s_Tizes := 'ötven';

6: s_Tizes := 'hatvan';

7: s_Tizes := 'hetven';

8: s_Tizes := 'nyolcvan';

9: s_Tizes := 'kilencven';

end;

case egyes of

0: s_Egyes := '';

1: s_Egyes := 'egyedik';

2: s_Egyes := 'kettedik';

3: s_Egyes := 'harmadik';

4: s_Egyes := 'negyedik';

5: s_Egyes := 'ötödik';

6: s_Egyes := 'hatodik';

7: s_Egyes := 'hetedik';

8: s_Egyes := 'nyolcadik';

9: s_Egyes := 'kilencedik';

end;

if i mod 100 = 0 then s_Szazas := s_Szazas+'adik';

if i < 10 then

begin

case egyes of

1: s_Egyes := 'első';

2: s_Egyes := 'második';

end;

end;

if (i mod 10) = 0 then

begin

case tizes of

1: s_Tizes := 'tizedik';

2: s_Tizes := 'huszadik';

3,6,8: s_Tizes := s_Tizes + 'adik';

4,5,7,9: s_Tizes := s_Tizes + 'edik';

end;

end;

sorsz := s_Szazas + s_Tizes + s_Egyes;

end;


begin

Write(sorsz(11));

end.

2013. dec. 13. 20:55
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

Nem értem minek kell ennyi változó meg minek osztod le a változókba


Egyszerűbb lenne az egész egy while ciklusba ...

while(szam>0)

szamjegy=szam%10

//Itt vizsgálod

szam/10

szamjegy=szam%10

//Megint vizsgálod egészen a harmadikig


Aztán ha 1 utasítás van, akkor nem kell kapcsos záró jel. Zavaró nagyon.

2013. dec. 13. 20:57
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
100%

azért ír mindenhova egyet, mert ez:


(b || c), egy logikai kifejezés, ami vagy 0 vagy 1

2013. dec. 13. 21:06
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
52%

#include <iostream>

#include <stdio.h>

#include <stdlib.h>


using namespace std;


int main()

{

int szam, a;

cout<<"Adja meg a 3 jegyu szamot: "; cin>>szam;

cout<<endl;

while(szam>0){

a=szam%10;

switch(a)

{

case 1: cout<<"szaz";break;

case 2: cout<<"ketszaz";break;

case 3: cout<<"haromszaz";break;

case 4: cout<<"negyszaz";break;

case 5: cout<<"otszaz";break;

case 6: cout<<"hatszaz";break;

case 7: cout<<"hetszaz";break;

case 8: cout<<"nyolcszaz";break;

case 9: cout<<"kilencszaz";break;

}

szam=szam/10;

a=szam%10;

if((szam/10)%10==0 && a==1)

cout<<"tíz";

else

if((szam/10)%10==0 && a==2)

cout<<"húsz";

else

switch(a)

{

case 1: cout<<"tizen";break;

case 2: cout<<"huszon";break;

case 3: cout<<"harminc";break;

case 4: cout<<"negyven";break;

case 5: cout<<"otven";break;

case 6: cout<<"hatvan";break;

case 7: cout<<"hetven";break;

case 8: cout<<"nyolcvan";break;

case 9: cout<<"kilencven";break;

}

szam=szam/10;

a=szam%10;

switch(a)

{

case 1: cout<<"egy";break;

case 2: cout<<"ketto";break;

case 3: cout<<"harom";break;

case 4: cout<<"negy";break;

case 5: cout<<"ot";break;

case 6: cout<<"hat";break;

case 7: cout<<"het";break;

case 8: cout<<"nyolc";break;

case 9: cout<<"kilenc";break;

}

szam=szam/10;

}

return 0;

}

2013. dec. 13. 21:22
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
52%
Így egyszerűbb ...
2013. dec. 13. 21:22
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
52%
Cseréld meg a sorrendeket mert visszafelé működik :D
2013. dec. 13. 21:23
Hasznos számodra ez a válasz?
 8/9 SimkoL ***** válasza:
Kedves Tessaa: Ha az egyes, tízes és százas számjegyet már ha az elején korrekten meghatároztad volna nem kellet volna ennyire belebonyolódni :)
2013. dec. 13. 22:02
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
Igen, észrevettem de már lusta voltam kijavítani. Majd megoldja már :D
2013. dec. 13. 22:14
Hasznos számodra ez a válasz?

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!