• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

finanse domowe - pierwszy program

42 Warsaw Coding Academy
0 głosów
458 wizyt
pytanie zadane 2 lutego 2016 w C i C++ przez dkarski Obywatel (1,610 p.)

Hej,

Uczę się programować od niedawna. Napisałem właśnie swój pierwszy program, ucząć się jednocześnie z kursów Mirosawa Zalenta dot. c++ oraz C++ object.
Będę ogromnie wdzięczny za Twój komentarz dot. kodu oraz sugestii, w jakim kierunku proponujesz się rozwijać. Podoba mi się w programowaniu tworzenie treści, które automatyzują jakieś procesy (czy to się nazywa back end, tak?)

Dopiero zaczynam i czuję się, jak typowy bohater w herosach, który wychodzi na początku gry ze swojeg zamku: "ciemno i głucho wszędzie!" :D

Pozdrawiam!


int main()
{
    int nr_lini = 1;
    string linia;
        fstream plik;
        plik.open("zapis.txt",ios::in);
            if(plik.good()==false)
                {
                    cout << "Nie udalo sie otworzyc pliku";
                    exit(0);
                }
            while(getline(plik,linia))
                {
                    nazwa_portfela[nr_lini] = linia;
                    nr_lini++;
                }
        plik.close();
    liczba_p = nr_lini;

    nr_lini = 1;
    Wydatek k[i];
        fstream plik1;
        plik1.open("baza_koszt.txt",ios::in);
            if(plik1.good()==false)
                {
                    cout << "Nie udalo sie otworzyc pliku";
                    exit(0);
                }
            while(getline(plik1,linia))
                {
                    switch(nr_lini)
                        {
                            case 1: k[i].id = atoi(linia.c_str());      break;
                            case 2: k[i].koszt = atof(linia.c_str());   break;
                            case 3: k[i].dzien = atoi(linia.c_str());   break;
                            case 4: k[i].portfel = atoi(linia.c_str()); break;
                        }
                    if(nr_lini == 4)
                        {
                            suma_wydatkow_portfel[k[i].portfel] += k[i].koszt;
                            suma_wydatkow += k[i].koszt;
                            nr_lini =0; i++;
                        }
                    nr_lini++;
                }
        plik1.close();

    nr_lini = 1;
    Przychod p[j];
        fstream plik2;
        plik2.open("baza_przych.txt",ios::in);
            if(plik2.good()==false)
                {
                    cout << "Nie udalo sie otworzyc pliku";
                    exit(0);
                }
            while(getline(plik2,linia))
                {
                    switch(nr_lini)
                        {
                            case 1: p[j].id = atoi(linia.c_str());      break;
                            case 2: p[j].przych = atof(linia.c_str());   break;
                            case 3: p[j].dzien = atoi(linia.c_str());   break;
                            case 4: p[j].portfel = atoi(linia.c_str()); break;
                        }
                    if(nr_lini == 4)
                        {
                            suma_przychodow += p[j].przych;
                            nr_lini =0; j++;
                        }
                    nr_lini++;
                }
        plik2.close();

    while(zamknij == false)
    {
        system("cls");
        cout << endl;
        cout << "Suma kosztow: "<<suma_wydatkow << endl;
        cout << "Suma przychodow: "<<suma_przychodow << endl<< endl;
        /* cout << "-------------------" << endl; */
        cout << "MENU GLOWNE" << endl;
        cout << "-------------------" << endl;
        cout << "1. Dodaj koszt." << endl;
        cout << "2. Dodaj przychod." << endl;
        cout << "3. Statystyki." << endl;
        cout << "4. Opcje." << endl;
        cout << "5. Zamknij program." << endl;
        cout << "-------------------" << endl << endl;

        char wybor;
        cout << "Dodaj: "; wybor = getch();
        cout << endl;
        system("cls");
        switch(wybor)
            {
                case '1':
                    {
                        k[i].id = i;
                        cout << "DODAJ KOSZT" << endl;
                        cout << "-------------------" << endl;
                        cout << "Wpisz koszt: ";        cin >> k[i].koszt;
                        cout << "Wpisz date: ";         cin >> k[i].dzien;
                        wybor_portfela(liczba_p);
                        cin >> k[i].portfel; cout << endl;
                        suma_wydatkow_portfel[k[i].portfel] += k[i].koszt;
                        suma_wydatkow += k[i].koszt;

                        fstream plik;
                        plik.open("baza_koszt.txt",ios::out | ios::app);
                        plik<<k[i].id<<endl;
                        plik<<k[i].koszt<<endl;
                        plik<<k[i].dzien<<endl;
                        plik<<k[i].portfel<<endl;
                        plik.close();
                        i++;
                    }
                break;

                case '2':
                    {
                        p[j].id = j;
                        cout << "DODAJ PRZYCHOD" << endl;
                        cout << "-------------------" << endl;
                        cout << "Wpisz przychod: ";        cin >> p[j].przych;
                        cout << "Wpisz date: ";         cin >> p[j].dzien;
                        wybor_portfela(liczba_p);
                        cin >> p[j].portfel; cout << endl;
                        suma_przychodow += p[j].przych;

                        fstream plik;
                        plik.open("baza_przych.txt",ios::out | ios::app);
                        plik<<p[j].id<<endl;
                        plik<<p[j].przych<<endl;
                        plik<<p[j].dzien<<endl;
                        plik<<p[j].portfel<<endl;
                        plik.close();
                        j++;
                    }
                break;

                case '3': statystyki(liczba_p);

                break;

                case '4':
                    {
                        cout << "OPCJE" << endl;
                        cout << "-------------------" << endl;

                    }
                break;

                case '5': zamykanie();
                break;
                default: cout << "Nie ma takiej opcji w menu!";
            }
        }
        return 0;
}

void odczyt_ustawien()
{

}
void wybor_portfela(int x)
{
    cout << "Wybierz portfel:"<< endl;    //cin >> k[i].portfel; cout << endl;
        for (int i = 1; i<x; i++)
            {
                cout << "  "<<i<<". " << nazwa_portfela[i]<< endl;
            }
}

void statystyki(int x)
{
    cout << "STATYSTYKI" << endl;
    cout << "-------------------" << endl;
        for (int i = 1; i<x; i++)
            {
                cout << "  "<<i<<". "<<nazwa_portfela[i]<<": " << suma_wydatkow_portfel[i]<< endl;
            }
        cin >> test;
}

void zamykanie()
{
    do
    {
        char wybor;
        cout << "Czy zapisac zmiany przed zamknieciem programu? (T/N)" << endl; wybor = getch();
        switch(wybor)
        {
            case 't': zapisywanie(); czy_zapisac = true; zamknij = true; break;
            case 'n': zamknij = true; czy_zapisac = true; break;
            default: system("cls"); cout << "Wpisz T (tak) lub N (nie)!" << endl << endl ; czy_zapisac = false;
        }
    }while(czy_zapisac == false);
}

1 odpowiedź

0 głosów
odpowiedź 2 lutego 2016 przez dkarski Obywatel (1,610 p.)
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <sstream>
#include <fstream>
#include "class.h"

using namespace std;

int liczba_p;
int i = 1;
int j = 1;
int test;
float suma_wydatkow;
float suma_wydatkow_portfel[5];
float suma_przychodow;
bool zamknij = false;
bool czy_zapisac = true;
string nazwa_portfela[10];

void statystyki(int x);
void wybor_portfela(int x);
void zamykanie();
void zapisywanie();

 

 

#include <iostream>

using namespace std;

class Wydatek
{
public:
int id;
float koszt;
int dzien, miesiac, rok;
int portfel;
};

class Przychod
{
public:
int id;
float przych;
int dzien, miesiac, rok;
int portfel;
};

 

Podobne pytania

+2 głosów
2 odpowiedzi 520 wizyt
pytanie zadane 24 grudnia 2015 w Inne języki przez hubertgz Użytkownik (510 p.)
0 głosów
2 odpowiedzi 226 wizyt
pytanie zadane 20 listopada 2015 w Nasze projekty przez RoXoR Początkujący (280 p.)
0 głosów
4 odpowiedzi 328 wizyt

93,395 zapytań

142,389 odpowiedzi

322,567 komentarzy

62,753 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...