Advertisement
minilose

Untitled

May 19th, 2020
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.23 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct employee                            
  4. {
  5.     char fname[21];                        
  6.     char sname[21];                        
  7.     char lname[21];                        
  8.     long egn;                              
  9.     int exp;                              
  10.     int wdpm;                              
  11.     float dw[30];                          
  12.     float mw;                              
  13. };
  14. struct company                            
  15. {
  16.     char name[21];                        
  17.     struct employee emp[50];              
  18.     int empnum;                            
  19. };
  20.  
  21. void input(struct company *comp)          
  22. {
  23.     printf("Vuvedi broi na slujitelite:");
  24.     scanf_s("%d", &comp->empnum);        
  25.     getchar();                            
  26.     system("cls");                        
  27.     for (int i = 0; i < comp->empnum; i++)  
  28.     {
  29.         printf("Vuvedi sobstveno ime na slujitel %d:", i + 1);
  30.         gets_s(comp->emp[i].fname, 21);                        
  31.         printf("Vuvedi bashtino ime na slujitel %d:", i + 1);
  32.         gets_s(comp->emp[i].sname, 21);                        
  33.         printf("Vuvedi familno ime na slujitel %d:", i + 1);
  34.         gets_s(comp->emp[i].lname, 21);
  35.         printf("Vuvedi EGN na slujitel %d:", i + 1);
  36.         scanf_s("%ld", &comp->emp[i].egn);                    
  37.         getchar();
  38.         printf("Vuvedi trudov staj na slujitel %d:", i + 1);
  39.         scanf_s("%d", &comp->emp[i].exp);                    
  40.         getchar();
  41.         printf("Vuvedi broi na rabotni dni v tekushtiq mesec na slujitel %d:", i + 1);
  42.         scanf_s("%d", &comp->emp[i].wdpm);
  43.         for (int j = 0; j < comp->emp[i].wdpm; j++)          
  44.         {
  45.             printf("Vuvedi nadnik za den %d na slujitel %d:", j + 1, i + 1);
  46.             scanf_s("%f", &comp->emp[i].dw[j]);
  47.             getchar();
  48.  
  49.         }
  50.         system("cls");
  51.     }
  52. }
  53. void monthlywagecalc(struct company *comp)    
  54. {
  55.     float sum;                                
  56.     for (int i = 0; i < comp->empnum; i++)    
  57.     {
  58.         sum = 0;
  59.         for (int j = 0; j < comp->emp[i].wdpm; j++)
  60.         {
  61.             (float)sum = (float)sum + (float)comp->emp[i].dw[j];  
  62.         }
  63.         (float)comp->emp[i].mw = (float)sum + ((int)comp->emp[i].exp * 0.015 * (float)sum);
  64.         (float)comp->emp[i].mw = (float)comp->emp[i].mw - ((float)comp->emp[i].mw * 0.25);  
  65.     }
  66. }
  67. void output(struct company* comp)
  68. {
  69.     for (int i = 0; i < comp->empnum; i++)
  70.     {
  71.         printf("%d.%s %s %s\n", i + 1, comp->emp[i].fname, comp->emp[i].sname, comp->emp[i].lname);
  72.         printf("Monthly wage:%.2f\n\n", comp->emp[i].mw);
  73.     }
  74.     printf("Press Enter to go back to the menu.");
  75.     getchar();
  76.     system("cls");
  77. }
  78. void main()
  79. {
  80.     struct company comp;                          
  81.     printf("Vuvedi ime na firmata:");
  82.     gets_s(comp.name, 20);
  83.     system("cls");
  84.     int choice = 0;                              
  85.     while (choice!=4)
  86.     {
  87.         printf("\\------MENU------/\n\n");          
  88.         printf("1.Input\n");                        
  89.         printf("2.Output\n");                      
  90.         printf("3.Calculate monthly wage\n");      
  91.         printf("4.Exit\n");                      
  92.         printf("Chose an option(number):");        
  93.         scanf_s("%d", &choice);                  
  94.         getchar();
  95.         system("cls");
  96.         switch (choice)                              
  97.         {
  98.         case 1: input(&comp); break;
  99.         case 2: output(&comp); break;
  100.         case 3: monthlywagecalc(&comp); break;
  101.         }
  102.     }
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement