Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- int cislo=-1;
- int pocet=0;
- int i=1;
- int div1k=0;
- char slovne[80];
- char nasobek[80];
- char cislos[80];
- int main(){
- printf("Zadejte cislo, ktere chcete napsat slovne \t"); scanf("%d",&cislo);
- if(cislo==0){printf("nula"); return 0;}
- strcpy(slovne,"");
- strcpy(nasobek,"");
- strcpy(cislos,"");
- while(cislo != 0){
- pocet=div1k=0;
- div1k= cislo % 1000;
- pocet= div1k % 10;
- if((i>1) && (div1k!=0) && (cislo!=0)){
- switch(i){ //nasobky i
- case 2: if((div1k%100)>9){strcpy(nasobek," tisic");}else{
- switch(pocet){ //tisice
- case 1: strcpy(nasobek," tisic"); break;
- case 2: strcpy(nasobek," tisice"); break;
- case 3: strcpy(nasobek," tisice"); break;
- case 4: strcpy(nasobek," tisice"); break;
- case 5: strcpy(nasobek," tisic"); break;
- case 6: strcpy(nasobek," tisic"); break;
- case 7: strcpy(nasobek," tisic"); break;
- case 8: strcpy(nasobek," tisic"); break;
- case 9: strcpy(nasobek," tisic"); break;
- }}
- break;
- case 3: if((div1k%100)>9){strcpy(nasobek," milionu");}else{
- switch(pocet){ //miliony
- case 1: strcpy(nasobek," milion"); break;
- case 2: strcpy(nasobek," miliony"); break;
- case 3: strcpy(nasobek," miliony"); break;
- case 4: strcpy(nasobek," miliony"); break;
- case 5: strcpy(nasobek," milionu"); break;
- case 6: strcpy(nasobek," milionu"); break;
- case 7: strcpy(nasobek," milionu"); break;
- case 8: strcpy(nasobek," milionu"); break;
- case 9: strcpy(nasobek," milionu"); break;
- }}
- break;
- case 4: if((div1k%100)>9){strcpy(nasobek," miliard");}else{
- switch(pocet){ //miliardy
- case 1: strcpy(nasobek," miliarda"); break;
- case 2: strcpy(nasobek," miliardy"); break;
- case 3: strcpy(nasobek," miliardy"); break;
- case 4: strcpy(nasobek," miliardy"); break;
- case 5: strcpy(nasobek," miliard"); break;
- case 6: strcpy(nasobek," miliard"); break;
- case 7: strcpy(nasobek," miliard"); break;
- case 8: strcpy(nasobek," miliard"); break;
- case 9: strcpy(nasobek," miliard"); break;
- }}
- break;
- case 5: if((div1k%100)>9){strcpy(nasobek," bilionu");}else{
- switch(pocet){ //biliony
- case 1: strcpy(nasobek," bilion"); break;
- case 2: strcpy(nasobek," biliony"); break;
- case 3: strcpy(nasobek," biliony"); break;
- case 4: strcpy(nasobek," biliony"); break;
- case 5: strcpy(nasobek," bilionu"); break;
- case 6: strcpy(nasobek," bilionu"); break;
- case 7: strcpy(nasobek," bilionu"); break;
- case 8: strcpy(nasobek," bilionu"); break;
- case 9: strcpy(nasobek," bilionu"); break;
- }}
- break;
- }
- strcat(nasobek,slovne); strcpy(slovne,nasobek);
- }
- if((i>1) && (pocet==1)){pocet=0; div1k=div1k-(1); cislo= cislo-(1); }
- if( (((div1k % 100)<10) || ((div1k % 100)>20))&& div1k!=0) {
- switch(pocet){ //jednotky
- case 1: strcpy(cislos," jedna"); break;
- case 2: strcpy(cislos," dva"); break;
- case 3: strcpy(cislos," tri"); break;
- case 4: strcpy(cislos," ctyri"); break;
- case 5: strcpy(cislos," pet"); break;
- case 6: strcpy(cislos," sest"); break;
- case 7: strcpy(cislos," sedm"); break;
- case 8: strcpy(cislos," osm"); break;
- case 9: strcpy(cislos," devet"); break;
- }
- strcat(cislos,slovne); strcpy(slovne,cislos);
- div1k= div1k-(pocet); cislo= cislo-(pocet);
- }
- pocet= div1k %100;
- if((pocet>10) && (pocet<20)){ //desitky + 10-20
- switch(pocet){ // 10-20
- case 11: strcpy(cislos," jedenact"); break;
- case 12: strcpy(cislos," dvanact"); break;
- case 13: strcpy(cislos," trinact"); break;
- case 14: strcpy(cislos," ctrnact"); break;
- case 15: strcpy(cislos," patnact"); break;
- case 16: strcpy(cislos," sestnact"); break;
- case 17: strcpy(cislos," sedmnact"); break;
- case 18: strcpy(cislos," osmnact"); break;
- case 19: strcpy(cislos," devatenact"); break;
- }//end switch
- div1k=div1k-(pocet); cislo= cislo-(pocet);
- strcat(cislos,slovne); strcpy(slovne,cislos);
- } else if(div1k!=0){
- switch(pocet){ //desitky
- case 10: strcpy(cislos," deset"); break;
- case 20: strcpy(cislos," dvacet"); break;
- case 30: strcpy(cislos," tricet"); break;
- case 40: strcpy(cislos," ctyricet"); break;
- case 50: strcpy(cislos," padesat"); break;
- case 60: strcpy(cislos," sedesat"); break;
- case 70: strcpy(cislos," sedmdesat"); break;
- case 80: strcpy(cislos," osmdesat"); break;
- case 90: strcpy(cislos," devadesat"); break;
- }
- div1k=div1k-(pocet); cislo= cislo-(pocet);
- strcat(cislos,slovne); strcpy(slovne,cislos);
- }
- if(div1k!=0){
- pocet= div1k /100;
- switch(pocet){ //stovky
- case 1: strcpy(cislos," sto"); break;
- case 2: strcpy(cislos," dveste"); break;
- case 3: strcpy(cislos," trista"); break;
- case 4: strcpy(cislos," ctyrista"); break;
- case 5: strcpy(cislos," petset"); break;
- case 6: strcpy(cislos," sestset"); break;
- case 7: strcpy(cislos," sedmset"); break;
- case 8: strcpy(cislos," osmset"); break;
- case 9: strcpy(cislos," devetset"); break;
- }//end switch
- strcat(cislos,slovne); strcpy(slovne,cislos);
- div1k= div1k-(pocet*100); cislo= cislo-(pocet*100);
- }
- cislo= cislo/1000;
- i=i+1;
- }
- printf("\n A slovni vyjadreni jest: %s",slovne);
- return 0;
- }
Add Comment
Please, Sign In to add comment