Hyluss

Fakturki, stuktury z klasa

Jul 2nd, 2016
529
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.83 KB | None | 0 0
  1. // klasa, struktura i duzo wskaznikow
  2. // zxc.cpp : Defines the entry point for the console application.
  3. //
  4. #include <string>
  5. #include "stdafx.h"
  6. #include <conio.h>
  7.  
  8.  
  9.  
  10. class struct_Konto {
  11. public:
  12. float PvsM;
  13. char Cos[10];
  14. float Przychody;
  15. float Odchody;
  16. //float Ile;
  17.  
  18.  
  19. };
  20.  
  21. struct_Konto konto[20];
  22. void ZwrocTekst( char* ptr, int X);
  23.  
  24. float zarobek (int j);
  25.  
  26.  
  27. ///////////////////////////////////////////////
  28.  
  29. float zarobek (int j)
  30. {
  31. float zarobekX = 0;
  32.     for (int a=0; a<j;a++)
  33.     {
  34.     zarobekX += konto[a].Przychody;
  35.     }
  36.     return zarobekX;
  37. }
  38. //////////////////////////////////////////////////////////
  39. float ObliczZarobek ( struct_Konto* ptr, int j)
  40. {
  41. float zarobekX = 0;
  42.     for (int a=0; a<j;a++)
  43.     {
  44.     zarobekX += ptr->Przychody;
  45.     ptr++;
  46.     }
  47.     return zarobekX;
  48. }
  49.  
  50. ////////////////////////////////////////////////////////
  51.  
  52. void ZwrocTekst( char* ptr, int X)
  53. {
  54.     if (1 == X)
  55.     {
  56.        strcpy(ptr, "Czerwony");
  57.  
  58.     }
  59.     if (2 == X)
  60.     {
  61.        strcpy(ptr, "Zielony");
  62.     }
  63.     if (3 == X)
  64.     {
  65.         *ptr++ = 'X';
  66.         *ptr++ = 'Y';
  67.         *ptr = 0;
  68.     }
  69. }
  70. /////////////////////////////////////////////////////////////
  71. char* ZwrocTekst2( char* ptr, int X)
  72. {
  73.     char* ptr1;
  74.  
  75.     ptr1 = ptr;
  76.  
  77.     if (1 == X)
  78.     {
  79.        strcpy(ptr, "Czerwony");
  80.  
  81.     }
  82.     if (2 == X)
  83.     {
  84.        strcpy(ptr, "Zielony");
  85.     }
  86.     if (3 == X)
  87.     {
  88.         *ptr++ = 'X';
  89.         *ptr++ = 'Y';
  90.         *ptr = 0;
  91.     }
  92.     return ptr1;
  93. }
  94.  
  95. ///////////////////////////////
  96.  
  97. int _tmain(int argc, _TCHAR* argv[])
  98. {
  99. float procent = 0;
  100. float strata =0;
  101. float zarobekX =0;
  102. char wybor;
  103. int sprawdz;
  104. int i=0;
  105. int z=0;
  106. int j=0;
  107.  
  108. char tekst[20];
  109.  
  110. //struct_Konto konto[20];
  111.  
  112. FILE *wczytaj;
  113.  
  114. wczytaj = fopen ("faktury.txt","r+");
  115. if (NULL == wczytaj)
  116. {
  117. perror ("blad");
  118. exit (1);
  119. }
  120.  
  121. ZwrocTekst( (char*)&tekst, 1);
  122.  
  123.     printf ("xxx %s\n", tekst );
  124. ZwrocTekst( (char*)&tekst, 2);
  125.     printf ("xxx %s\n", tekst );
  126.  
  127.     printf ("xxx %s\n", ZwrocTekst2( (char*)&tekst, 3) );
  128.  
  129.  
  130. while (!feof (wczytaj)) {
  131.  
  132.  fscanf (wczytaj,"%s %f", &konto[i].Cos, &konto[i].PvsM);
  133.  
  134. sprawdz = strcmp (konto[i].Cos,"+");
  135. if ((sprawdz) == 0)
  136. {
  137.     konto[j].Przychody = konto[i].PvsM;
  138.     printf ("Wczytalem przychod %s %.2f\n",konto[i].Cos,konto[j].Przychody);
  139.     zarobekX += konto[j].Przychody;
  140. j++;
  141. }
  142. else {
  143.     konto[z].Odchody = konto[i].PvsM;
  144.     printf ("Wczytalem odchod %s %.2f\n",konto[i].Cos,konto[z].Odchody);
  145.     strata += konto[z].Odchody;
  146. z++;
  147. }
  148. i++;
  149.  
  150. }
  151. /////////////////////////////////////////////////////////////////////////////////////////////////
  152. printf ("zarobek = %f\n",  zarobek(j) );
  153.  
  154. printf ("zarobek = %f\n",  ObliczZarobek( (struct_Konto*)&konto, j) );
  155.  
  156. //////////////////////////
  157.  do {
  158.     printf ("\n1 - pokaz liste przychodow\n2 - pokaz liste odchodow\n3 - ile zarobiles badz straciles\n4 - Policz 20%% z zysku\n5 - koniec\n");
  159.     scanf ("%d",&wybor);
  160.    
  161.     switch (wybor)
  162.     {
  163.         case 1:
  164.         {
  165.             printf ("Lista przychodow:\n");
  166.             for (int a=0; a<j;a++)
  167.             {
  168.                 printf (" %.2f \n", konto[a].Przychody);
  169.             }
  170.         break;
  171.         }
  172.  
  173.         case 2:
  174.         {
  175.             printf ("Lista odchodow:\n");
  176.             for (int a=0; a<z;a++)
  177.             {
  178.                 printf (" %.2f \n", konto[a].Odchody);
  179.             }
  180.         break;
  181.         }
  182.  
  183.         case 3:
  184.         {
  185.             printf ("Zarobiles %.2f \n", zarobekX);
  186.             printf ("Straciles %.2f \n",strata);
  187.             if (zarobekX>strata)
  188.             {
  189.                 printf ("Lacznie zarobiles %.2f\n",((zarobekX)-(strata)));
  190.             }
  191.             else
  192.             {
  193.                 printf ("Lacznie straciles %.2f\n",((strata)-(zarobekX)));
  194.             }
  195.         break;
  196.         }
  197.            
  198.             case 4:
  199.                 {
  200.                     if (zarobekX>strata)
  201.                     {
  202.                         procent = (zarobekX)-(strata);
  203.                         procent = 0.20 * procent;
  204.                     }
  205.                     else
  206.                     {
  207.                         procent = 0;
  208.                     }
  209.                     printf ("Oto twoje 20%% - %.2f\n",procent);
  210.                 break;
  211.                 }
  212.  
  213.             case 5:
  214.             {
  215.                 exit (1);
  216.                 break;
  217.             }
  218.        
  219.             default:
  220.             printf ("nie ma takije opcji\n");
  221.     }
  222.  
  223. }while (wybor!=5);
  224.  
  225.  
  226.  
  227.  
  228.     _getch();
  229.     return 0;
  230. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment