Guest User

Untitled

a guest
Apr 23rd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.45 KB | None | 0 0
  1.  
  2.  
  3. #include <stdio.h>
  4. #include <string.h>
  5.  
  6. int cislo=-1;
  7. int pocet=0;
  8. int i=1;
  9. int div1k=0;
  10.  
  11. char slovne[80];
  12. char nasobek[80];
  13. char cislos[80];
  14.  
  15.  
  16. int main(){
  17.  
  18.  
  19. printf("Zadejte cislo, ktere chcete napsat slovne \t"); scanf("%d",&cislo);
  20.  
  21. if(cislo==0){printf("nula"); return 0;}
  22.  
  23. strcpy(slovne,"");
  24. strcpy(nasobek,"");
  25. strcpy(cislos,"");
  26.  
  27. while(cislo != 0){
  28. pocet=div1k=0;
  29.  
  30. div1k= cislo % 1000;
  31. pocet= div1k % 10;
  32.  
  33.  
  34. if((i>1) && (div1k!=0) && (cislo!=0)){
  35. switch(i){ //nasobky i
  36. case 2: if((div1k%100)>9){strcpy(nasobek," tisic");}else{
  37. switch(pocet){ //tisice
  38. case 1: strcpy(nasobek," tisic"); break;
  39. case 2: strcpy(nasobek," tisice"); break;
  40. case 3: strcpy(nasobek," tisice"); break;
  41. case 4: strcpy(nasobek," tisice"); break;
  42. case 5: strcpy(nasobek," tisic"); break;
  43. case 6: strcpy(nasobek," tisic"); break;
  44. case 7: strcpy(nasobek," tisic"); break;
  45. case 8: strcpy(nasobek," tisic"); break;
  46. case 9: strcpy(nasobek," tisic"); break;
  47. }}
  48. break;
  49.  
  50. case 3: if((div1k%100)>9){strcpy(nasobek," milionu");}else{
  51. switch(pocet){ //miliony
  52. case 1: strcpy(nasobek," milion"); break;
  53. case 2: strcpy(nasobek," miliony"); break;
  54. case 3: strcpy(nasobek," miliony"); break;
  55. case 4: strcpy(nasobek," miliony"); break;
  56. case 5: strcpy(nasobek," milionu"); break;
  57. case 6: strcpy(nasobek," milionu"); break;
  58. case 7: strcpy(nasobek," milionu"); break;
  59. case 8: strcpy(nasobek," milionu"); break;
  60. case 9: strcpy(nasobek," milionu"); break;
  61. }}
  62. break;
  63.  
  64. case 4: if((div1k%100)>9){strcpy(nasobek," miliard");}else{
  65. switch(pocet){ //miliardy
  66. case 1: strcpy(nasobek," miliarda"); break;
  67. case 2: strcpy(nasobek," miliardy"); break;
  68. case 3: strcpy(nasobek," miliardy"); break;
  69. case 4: strcpy(nasobek," miliardy"); break;
  70. case 5: strcpy(nasobek," miliard"); break;
  71. case 6: strcpy(nasobek," miliard"); break;
  72. case 7: strcpy(nasobek," miliard"); break;
  73. case 8: strcpy(nasobek," miliard"); break;
  74. case 9: strcpy(nasobek," miliard"); break;
  75. }}
  76. break;
  77.  
  78. case 5: if((div1k%100)>9){strcpy(nasobek," bilionu");}else{
  79. switch(pocet){ //biliony
  80. case 1: strcpy(nasobek," bilion"); break;
  81. case 2: strcpy(nasobek," biliony"); break;
  82. case 3: strcpy(nasobek," biliony"); break;
  83. case 4: strcpy(nasobek," biliony"); break;
  84. case 5: strcpy(nasobek," bilionu"); break;
  85. case 6: strcpy(nasobek," bilionu"); break;
  86. case 7: strcpy(nasobek," bilionu"); break;
  87. case 8: strcpy(nasobek," bilionu"); break;
  88. case 9: strcpy(nasobek," bilionu"); break;
  89. }}
  90. break;
  91. }
  92. strcat(nasobek,slovne); strcpy(slovne,nasobek);
  93. }
  94.  
  95.  
  96. if((i>1) && (pocet==1)){pocet=0; div1k=div1k-(1); cislo= cislo-(1); }
  97. if( (((div1k % 100)<10) || ((div1k % 100)>20))&& div1k!=0) {
  98. switch(pocet){ //jednotky
  99. case 1: strcpy(cislos," jedna"); break;
  100. case 2: strcpy(cislos," dva"); break;
  101. case 3: strcpy(cislos," tri"); break;
  102. case 4: strcpy(cislos," ctyri"); break;
  103. case 5: strcpy(cislos," pet"); break;
  104. case 6: strcpy(cislos," sest"); break;
  105. case 7: strcpy(cislos," sedm"); break;
  106. case 8: strcpy(cislos," osm"); break;
  107. case 9: strcpy(cislos," devet"); break;
  108. }
  109. strcat(cislos,slovne); strcpy(slovne,cislos);
  110.  
  111. div1k= div1k-(pocet); cislo= cislo-(pocet);
  112. }
  113.  
  114. pocet= div1k %100;
  115. if((pocet>10) && (pocet<20)){ //desitky + 10-20
  116.  
  117. switch(pocet){ // 10-20
  118. case 11: strcpy(cislos," jedenact"); break;
  119. case 12: strcpy(cislos," dvanact"); break;
  120. case 13: strcpy(cislos," trinact"); break;
  121. case 14: strcpy(cislos," ctrnact"); break;
  122. case 15: strcpy(cislos," patnact"); break;
  123. case 16: strcpy(cislos," sestnact"); break;
  124. case 17: strcpy(cislos," sedmnact"); break;
  125. case 18: strcpy(cislos," osmnact"); break;
  126. case 19: strcpy(cislos," devatenact"); break;
  127. }//end switch
  128. div1k=div1k-(pocet); cislo= cislo-(pocet);
  129. strcat(cislos,slovne); strcpy(slovne,cislos);
  130.  
  131. } else if(div1k!=0){
  132. switch(pocet){ //desitky
  133. case 10: strcpy(cislos," deset"); break;
  134. case 20: strcpy(cislos," dvacet"); break;
  135. case 30: strcpy(cislos," tricet"); break;
  136. case 40: strcpy(cislos," ctyricet"); break;
  137. case 50: strcpy(cislos," padesat"); break;
  138. case 60: strcpy(cislos," sedesat"); break;
  139. case 70: strcpy(cislos," sedmdesat"); break;
  140. case 80: strcpy(cislos," osmdesat"); break;
  141. case 90: strcpy(cislos," devadesat"); break;
  142. }
  143. div1k=div1k-(pocet); cislo= cislo-(pocet);
  144. strcat(cislos,slovne); strcpy(slovne,cislos);
  145. }
  146.  
  147.  
  148. if(div1k!=0){
  149. pocet= div1k /100;
  150. switch(pocet){ //stovky
  151. case 1: strcpy(cislos," sto"); break;
  152. case 2: strcpy(cislos," dveste"); break;
  153. case 3: strcpy(cislos," trista"); break;
  154. case 4: strcpy(cislos," ctyrista"); break;
  155. case 5: strcpy(cislos," petset"); break;
  156. case 6: strcpy(cislos," sestset"); break;
  157. case 7: strcpy(cislos," sedmset"); break;
  158. case 8: strcpy(cislos," osmset"); break;
  159. case 9: strcpy(cislos," devetset"); break;
  160. }//end switch
  161. strcat(cislos,slovne); strcpy(slovne,cislos);
  162. div1k= div1k-(pocet*100); cislo= cislo-(pocet*100);
  163. }
  164.  
  165.  
  166.  
  167. cislo= cislo/1000;
  168. i=i+1;
  169. }
  170. printf("\n A slovni vyjadreni jest: %s",slovne);
  171. return 0;
  172. }
Add Comment
Please, Sign In to add comment