Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.10 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int cifre(int nr)
  4. {
  5. int s=0;
  6. while(nr)
  7. {
  8. s++;
  9. nr/=10;
  10. }
  11. return s;
  12. }
  13. void litera(int o)
  14. {
  15. switch (o)
  16. {
  17. case 1: {cout<<"UNU";}break;
  18. case 2: {cout<<"Doi";}break;
  19. case 3: {cout<<"Trei";}break;
  20. case 4: {cout<<"Patru";}break;
  21. case 5: {cout<<"Cinci";}break;
  22. case 6: {cout<<"Sase";}break;
  23. case 7: {cout<<"Sapte";}break;
  24. case 8: {cout<<"Opt";}break;
  25. case 9: {cout<<"Noua";}break;
  26. }
  27.  
  28. }
  29. int main()
  30. {
  31.  
  32. int numar,numarul_cifrelor=0,cifra[100],i,op;
  33. cout<<"Introdu numarul: ";cin>>numar;
  34. numarul_cifrelor=cifre(numar);
  35. int Numar=numar;
  36.  
  37.  
  38. for(i=numarul_cifrelor;i>=1;i--)
  39. {
  40. cifra[i]=Numar%10;
  41. Numar/=10;
  42. }
  43.  
  44. for(i=1;i<=numarul_cifrelor;i++)
  45. {
  46. op=numarul_cifrelor+1-i;
  47. switch (op)
  48.  
  49. {
  50. case 1: {litera(cifra[i]);}break;
  51.  
  52. case 2: {
  53. if((cifra[i]==1)and(cifra[i+1]==0))
  54. {cout<<"zece";i=numarul_cifrelor;}
  55. else
  56. {
  57. if((cifra[i]==1)and(cifra[i+1]==1))
  58. {
  59. cout<<"unusprezece";
  60. i=numarul_cifrelor+1;
  61. }
  62. else
  63.  
  64. if (cifra[i]==1)
  65. {
  66. litera(cifra[i+1]);cout<<" spre zece";
  67. i=numarul_cifrelor+1;
  68. }
  69. else
  70. if(cifra[i+1]==0)
  71. {
  72. litera(cifra[i]);cout<<"zeci ";
  73. i=numarul_cifrelor+1;
  74.  
  75. }
  76. else
  77. { if( cifra[i]==2)
  78. {cout<<" doua zeci si ";}
  79. else
  80. {litera(cifra[i]);cout<<" zeci si ";}
  81. }
  82.  
  83. }
  84.  
  85.  
  86. }break;
  87. case 3:{
  88. if (cifra[i]==1)
  89. {cout<<" o suta ";}
  90. else
  91. if(cifra[i]==2)
  92. {cout<<" doua sute ";}
  93. else
  94. {
  95. litera(cifra[i]);cout<<" sute ";
  96. }
  97. if((cifra[i+1]==0)and(cifra[i+2]==0))
  98. {
  99. i=i+2;
  100. }
  101. else
  102. {
  103. if(cifra[i+1]==0)
  104. {
  105. i++;
  106. }
  107. }
  108.  
  109. }break;
  110. case 4:{if(cifra[i]==1) cout<<"o mie";
  111. else litera(cifra[i]); cout<<"mii ";}break;
  112.  
  113.  
  114. case 5:{if(cifra[i]==1&&cifra[i+1]==0)
  115. {
  116.  
  117. cout<<"zece mii";
  118. i=numarul_cifrelor+1;}
  119. if((cifra[i]==1)and(cifra[i+1]==1))
  120. {
  121. cout<<"unusprezece mii ";
  122. i=numarul_cifrelor+1;
  123. }
  124. else
  125.  
  126. if (cifra[i]==1)
  127. {
  128. litera(cifra[i+1]);cout<<" spre zece mii";
  129. i=numarul_cifrelor+1;
  130. }
  131. else
  132. if(cifra[i+1]==0)
  133. {
  134. litera(cifra[i]);cout<<"zeci de mii";
  135. i=numarul_cifrelor+1;
  136.  
  137. }
  138. else
  139. { if( cifra[i]==2)
  140. {cout<<" doua zeci si ";}
  141. else
  142. {litera(cifra[i]);cout<<" zeci si ";}
  143. }
  144.  
  145. }break;
  146. case 6 : {if (cifra[i]==1)
  147. {cout<<" o suta ";}
  148. else
  149. if(cifra[i]==2)
  150. {cout<<" doua sute ";}
  151. else
  152. {
  153. litera(cifra[i]);cout<<" sute ";
  154. }
  155. if((cifra[i+1]==0)and(cifra[i+2]==0))
  156. {
  157. i=i+2;
  158. }
  159. else
  160. {
  161. if(cifra[i+1]==0)
  162. {
  163. i++;
  164. }
  165. }
  166. }break;
  167. case 7 : {if(cifra[i]==1) cout<<"un milion";
  168. else litera(cifra[i]); cout<<"milioane ";}break;
  169.  
  170. case 8:{if(cifra[i]==1&&cifra[i+1]==0)
  171. {
  172.  
  173. cout<<"zece milioane";
  174. i=numarul_cifrelor+1;}
  175. if((cifra[i]==1)and(cifra[i+1]==1))
  176. {
  177. cout<<"unusprezece milioane ";
  178. i=numarul_cifrelor+1;
  179. }
  180. else
  181.  
  182. if (cifra[i]==1)
  183. {
  184. litera(cifra[i+1]);cout<<" spre zece milioane";
  185. i=numarul_cifrelor+1;
  186. }
  187. else
  188. if(cifra[i+1]==0)
  189. {
  190. litera(cifra[i]);cout<<"zeci de milioane";
  191. i=numarul_cifrelor+1;
  192.  
  193. }
  194. else
  195. { if( cifra[i]==2)
  196. {cout<<" doua zeci si ";}
  197. else
  198. {litera(cifra[i]);cout<<" zeci si ";}
  199. }
  200.  
  201. }break;
  202. case 9: {if (cifra[i]==1)
  203. {cout<<" o suta ";}
  204. else
  205. if(cifra[i]==2)
  206. {cout<<" doua sute ";}
  207. else
  208. {
  209. litera(cifra[i]);cout<<" sute ";
  210. }
  211. if((cifra[i+1]==0)and(cifra[i+2]==0))
  212. {
  213. i=i+2;
  214. }
  215. else
  216. {
  217. if(cifra[i+1]==0)
  218. {
  219. i++;
  220. }
  221. }
  222. }break;
  223. case 10: {if(cifra[i]==1) cout<<"o mie de milioane";
  224. else litera(cifra[i]); cout<<"mii de milioane ";}break;
  225.  
  226. case 11: {if(cifra[i]==1&&cifra[i+1]==0)
  227. {
  228.  
  229. cout<<"zece mii de milioane";
  230. i=numarul_cifrelor+1;}
  231. if((cifra[i]==1)and(cifra[i+1]==1))
  232. {
  233. cout<<"unusprezece mii de milioane ";
  234. i=numarul_cifrelor+1;
  235. }
  236. else
  237.  
  238. if (cifra[i]==1)
  239. {
  240. litera(cifra[i+1]);cout<<" spre zece mii de milioane";
  241. i=numarul_cifrelor+1;
  242. }
  243. else
  244. if(cifra[i+1]==0)
  245. {
  246. litera(cifra[i]);cout<<"zeci de mii de milioane";
  247. i=numarul_cifrelor+1;
  248.  
  249. }
  250. else
  251. { if( cifra[i]==2)
  252. {cout<<" doua zeci de mii si ";}
  253. else
  254. {litera(cifra[i]);cout<<" zeci de mii si ";}
  255. }
  256.  
  257. }break;
  258. case 12 : {if (cifra[i]==1)
  259. {cout<<" o suta de mii ";}
  260. else
  261. if(cifra[i]==2)
  262. {cout<<" doua sute ";}
  263. else
  264. {
  265. litera(cifra[i]);cout<<" sute de mii ";
  266. }
  267. if((cifra[i+1]==0)and(cifra[i+2]==0))
  268. {
  269. i=i+2;
  270. }
  271. else
  272. {
  273. if(cifra[i+1]==0)
  274. {
  275. i++;
  276. }
  277. }
  278. }break;
  279. case 13 : {if(cifra[i]==1) cout<<"un bilion";
  280. else litera(cifra[i]); cout<<"bilioane ";}break;
  281.  
  282. }}
  283.  
  284. return 0;
  285. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement