Hyluss icon

Fakturki, stuktury z klasa

Hyluss | PRO | 07/02/16 06:22:00 PM UTC | 0 ⭐ | 466 👁️ | Never ⏰ | []
C |

3.83 KB

|

None

|

0 👍

/

0 👎

// klasa, struktura i duzo wskaznikow
// zxc.cpp : Defines the entry point for the console application.
//
#include <string>
#include "stdafx.h"
#include <conio.h>
 
 
 
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; a<j;a++) 
    {
    zarobekX += konto[a].Przychody;
    }
    return zarobekX;
}
//////////////////////////////////////////////////////////
float ObliczZarobek ( struct_Konto* ptr, int j)
{
float zarobekX = 0;
    for (int a=0; a<j;a++) 
    {
    zarobekX += ptr->Przychody;
    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; a<j;a++) 
            {
                printf (" %.2f \n", konto[a].Przychody);
            }
        break;
        }
 
        case 2:
        {
            printf ("Lista odchodow:\n");
            for (int a=0; a<z;a++) 
            {
                printf (" %.2f \n", konto[a].Odchody);
            }
        break;
        }
 
        case 3:
        {
            printf ("Zarobiles %.2f \n", zarobekX);
            printf ("Straciles %.2f \n",strata);
            if (zarobekX>strata) 
            {
                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;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎