// klasa, struktura i duzo wskaznikow // zxc.cpp : Defines the entry point for the console application. // #include #include "stdafx.h" #include class struct_Konto { public: float PvsM; char Cos[10]; float Przychody; float Odchody; //float Ile; }; struct_Konto konto[20]; void ZwrocTekst( char* ptr, int X); float zarobek (int j); /////////////////////////////////////////////// float zarobek (int j) { float zarobekX = 0; for (int a=0; aPrzychody; ptr++; } return zarobekX; } //////////////////////////////////////////////////////// void ZwrocTekst( char* ptr, int X) { if (1 == X) { strcpy(ptr, "Czerwony"); } if (2 == X) { strcpy(ptr, "Zielony"); } if (3 == X) { *ptr++ = 'X'; *ptr++ = 'Y'; *ptr = 0; } } ///////////////////////////////////////////////////////////// char* ZwrocTekst2( char* ptr, int X) { char* ptr1; ptr1 = ptr; if (1 == X) { strcpy(ptr, "Czerwony"); } if (2 == X) { strcpy(ptr, "Zielony"); } if (3 == X) { *ptr++ = 'X'; *ptr++ = 'Y'; *ptr = 0; } return ptr1; } /////////////////////////////// int _tmain(int argc, _TCHAR* argv[]) { float procent = 0; float strata =0; float zarobekX =0; char wybor; int sprawdz; int i=0; int z=0; int j=0; char tekst[20]; //struct_Konto konto[20]; FILE *wczytaj; wczytaj = fopen ("faktury.txt","r+"); if (NULL == wczytaj) { perror ("blad"); exit (1); } ZwrocTekst( (char*)&tekst, 1); printf ("xxx %s\n", tekst ); ZwrocTekst( (char*)&tekst, 2); printf ("xxx %s\n", tekst ); printf ("xxx %s\n", ZwrocTekst2( (char*)&tekst, 3) ); while (!feof (wczytaj)) { fscanf (wczytaj,"%s %f", &konto[i].Cos, &konto[i].PvsM); sprawdz = strcmp (konto[i].Cos,"+"); if ((sprawdz) == 0) { konto[j].Przychody = konto[i].PvsM; printf ("Wczytalem przychod %s %.2f\n",konto[i].Cos,konto[j].Przychody); zarobekX += konto[j].Przychody; j++; } else { konto[z].Odchody = konto[i].PvsM; printf ("Wczytalem odchod %s %.2f\n",konto[i].Cos,konto[z].Odchody); strata += konto[z].Odchody; z++; } i++; } ///////////////////////////////////////////////////////////////////////////////////////////////// printf ("zarobek = %f\n", zarobek(j) ); printf ("zarobek = %f\n", ObliczZarobek( (struct_Konto*)&konto, j) ); ////////////////////////// do { printf ("\n1 - pokaz liste przychodow\n2 - pokaz liste odchodow\n3 - ile zarobiles badz straciles\n4 - Policz 20%% z zysku\n5 - koniec\n"); scanf ("%d",&wybor); switch (wybor) { case 1: { printf ("Lista przychodow:\n"); for (int a=0; astrata) { printf ("Lacznie zarobiles %.2f\n",((zarobekX)-(strata))); } else { printf ("Lacznie straciles %.2f\n",((strata)-(zarobekX))); } break; } case 4: { if (zarobekX>strata) { procent = (zarobekX)-(strata); procent = 0.20 * procent; } else { procent = 0; } printf ("Oto twoje 20%% - %.2f\n",procent); break; } case 5: { exit (1); break; } default: printf ("nie ma takije opcji\n"); } }while (wybor!=5); _getch(); return 0; }