Advertisement
Guest User

c++

a guest
Jun 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <string.h>
  4. #include <conio.h>
  5. #include <windows.h>
  6. using namespace std;
  7.  
  8. struct slujitel {
  9. char name[20];
  10. int EGN;
  11. char dlujnost[20];
  12. int timeWorked;
  13. double zaplata;
  14. int childsUnder18;
  15. double zaem;
  16. };
  17.  
  18. int N=0;
  19. void menu()
  20. { system("cls");
  21. cout<<"******************************* \n";
  22. cout<<"* VARIANTI * \n";
  23. cout<<"* * \n";
  24. cout<<"* 1: Vuvedi danni * \n";
  25. cout<<"* 2: Pokaji danni * \n";
  26. cout<<"* 3: Smqna na dlujnost * \n";
  27. cout<<"* 4: Smqna na zaem * \n";
  28. cout<<"* 5: Smqna na zaplata * \n";
  29. cout<<"* 6: Triene na slujitel * \n";
  30. cout<<"* 7: Sredna zaplata * \n";
  31. cout<<"* 8: Zaplata za X dni * \n";
  32. cout<<"* 9: Min / Max Zaplata * \n";
  33. cout<<"* * \n";
  34. cout<<"* 0: Kraj * \n";
  35. cout<<"******************************* \n\n";
  36. cout<<" Izberi variant 1- 8 : ";
  37. }
  38. void pause()
  39. {
  40. cout<<" \n Natisni klavish da produlji ! \n";
  41. getch();
  42. }
  43.  
  44. void read_slujitel(slujitel&);
  45. void print_slujitel(const slujitel&);
  46. void Aktual(slujitel x[],int n);
  47. void Aktual1(slujitel x[],int n);
  48. void Aktual2(slujitel x[],int n);
  49. void Del(slujitel x[], int n);
  50. void Average (slujitel[], int n);
  51. void zaplataZaXDni (slujitel x[], int n);
  52. void MinANDMax (slujitel x[], int n);
  53.  
  54. int main(){
  55. cout << setprecision(2) << setiosflags(ios::fixed);
  56. slujitel MS[10];
  57. int v;
  58. do
  59. {
  60. menu();
  61. cin>>v;
  62. switch (v)
  63. {
  64. case 1: read_slujitel(MS[N]);N++; pause();break;
  65. case 2: for(int i=0;i<N;i++)print_slujitel(MS[i]); pause();break; pause();break;
  66. case 3: Aktual(MS,N); pause();break;
  67. case 4: Aktual1(MS,N); pause();break;
  68. case 5: Aktual2(MS,N); pause();break;
  69. case 6: Del(MS,N); pause();break;
  70. case 7: Average(MS,N); pause();break;
  71. case 8: zaplataZaXDni(MS,N); pause();break;
  72. case 9: MinANDMax (MS,N); pause();break;
  73.  
  74. }
  75. }
  76. while (v!=0);
  77. return 0;
  78. }
  79.  
  80. void read_slujitel(slujitel& s){
  81. cout<<"Ime na slujitelq: ";
  82. cin>>s.name;
  83. cout << "Egn: ";
  84. cin>>s.EGN;
  85. cout<<"Dlujnost: ";
  86. cin>>s.dlujnost;
  87. cout<<"Trudov staj: ";
  88. cin>>s.timeWorked;
  89. cout<<"Zaplata: ";
  90. cin>>s.zaplata;
  91. cout<<"Broi deca pod 18: ";
  92. cin>>s.childsUnder18;
  93. cout<<"Razmer na zaema: ";
  94. cin>>s.zaem;
  95. }
  96.  
  97. void print_slujitel(const slujitel& s){
  98. cout <<s.name << setw(15) << s.EGN<<setw(15);
  99. cout<<s.dlujnost<<setw(15)<<s.timeWorked<<setw(15)<<s.zaplata;
  100. cout<<setw(15)<<s.childsUnder18<<setw(15)<<s.zaem<<endl<<setw(34);
  101. cout<<'\r';
  102. }
  103.  
  104.  
  105. void Aktual(slujitel x[],int n)
  106. {int nom;
  107. cout<<"EGN za smqna na dlujnost: ";
  108. cin>>nom;
  109. int f=0;
  110. for(int i=0; i<n;i++)
  111. { if (x[i].EGN==nom)
  112. { f=1;
  113. cout<<"Napishete nova dlujnost: ";
  114. cin>>x[i].dlujnost;
  115. }
  116. }
  117. if (f==0) cout<<" Lipsva posochenoto EGN !!!";
  118. }
  119.  
  120. void Aktual1(slujitel x[],int n){
  121. int nom;
  122. cout<<"EGN za smqna na zaem: ";
  123. cin>>nom;
  124. int f=0;
  125. for(int i=0; i<n;i++)
  126. { if (x[i].EGN==nom)
  127. { f=1;
  128. cout<<"Napishete nov zaem: ";
  129. cin>>x[i].zaem;
  130. }
  131. }
  132. if (f==0) cout<<" Lipsva posochenoto EGN !!!";
  133.  
  134.  
  135. }
  136.  
  137. void Aktual2(slujitel x[],int n){
  138. int nom;
  139. cout<<"EGN za smqna na zaplata: ";
  140. cin>>nom;
  141. int f=0;
  142. for(int i=0; i<n;i++)
  143. { if (x[i].EGN==nom)
  144. { f=1;
  145. cout<<"Napishete nova zaplata: ";
  146. cin>>x[i].zaplata;
  147. }
  148. }
  149. if (f==0) cout<<" Lipsva posochenoto EGN !!!";
  150.  
  151.  
  152. }
  153.  
  154. void Del(slujitel x[], int n )
  155. {int nom;
  156. cout<<"Zadaj EGN za Iztrivane: ";
  157. cin>>nom;
  158. int f=0;
  159. for(int i=0; i<n;i++)
  160. { if (x[i].EGN==nom)
  161. { f=1;
  162. for(int p=i; p<N-1;p++)
  163. x[p]=x[p+1];
  164. N--;
  165. }
  166. }
  167. if (f==0)cout<<" Lipsva takova EGN!!!";
  168. }
  169.  
  170. void Average (slujitel x[], int n){
  171. double average = 0;
  172. double count = 0;
  173. for(int i=0; i<n;i++)
  174. {
  175. average += x[i].zaplata;
  176. count++;
  177. }
  178.  
  179. average = average / count;
  180. cout<<average;
  181. }
  182.  
  183. void zaplataZaXDni (slujitel x[], int n){
  184.  
  185. int nom;
  186. cout<<"EGN za razbirane na zaplata: ";
  187. cin>>nom;
  188. int f=0;
  189. for(int i=0; i<n;i++)
  190. { if (x[i].EGN==nom)
  191. { f=1;
  192. int days;
  193. cout << "Vuvedete x dni: ";
  194. cin>>days;
  195. double oneDay = x[i].zaplata / 31;
  196. double zaplata = oneDay * days;
  197. cout << "Zaplata za x dni e: "<< zaplata<< endl;
  198. }
  199. }
  200. if (f==0) cout<<" Lipsva posochenoto EGN !!!";
  201. }
  202.  
  203. void MinANDMax (slujitel x[], int n){
  204.  
  205. int maxZaplata = -2147483647 - 1;
  206. string maxName ;
  207. int minZaplata = 2147483647;
  208. string minName ;
  209.  
  210. for(int i=0; i<n;i++)
  211. {
  212. if (x[i].zaplata > maxZaplata){
  213. maxZaplata = x[i].zaplata;
  214. maxName = x[i].name;
  215. }
  216.  
  217. if (x[i].zaplata < minZaplata){
  218. minZaplata = x[i].zaplata;
  219. minName = x[i].name;
  220. }
  221. }
  222.  
  223. cout << "Max Zaplata: "<< maxName << endl;
  224. cout << "Min Zaplata: "<< minName;
  225.  
  226. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement