Kalkulator procentowy

0

#include <cstdlib>
#include <iostream>
#include <cmath>
#include <time.h>

using namespace std;//Kalkulator procentowy

int main(int argc, char argv[])
{char wybor = 't';
do //petla
{
time_t czas; //czas
struct tm * ptr;//typ danych
time( & czas );
ptr = localtime( & czas );//wczytanie czasu lokalnego
char * data = asctime( ptr );//konwersja daty na slowa
cout << "Data: " << data<<endl;//wyswietla
cout<<" Witaj w Kalkulatorze Procentowym "<<endl;
cout<<""<<endl;
cout<<" Wybierz co chcesz obliczyc: "<<endl;// menu
cout<< " 1.oblicza jakim procentam jednej liczby jest druga liczba "<<endl;
cout<< " 2.oblicza procent z liczby "<<endl;
cout<< " 3.Oblicza marze "<<endl;
cout<< " 4.Oblicza liczbe zwiekszona o dany procent "<<endl;
cout<< " 5.Oblicza liczbe zmniejszona o dany procent "<<endl;
cout<< " 6.Oblicza cene brutto "<<endl;
cout<< " 7.Oblicza cene po obnizkach i podwyzkach "<<endl;
cout<< " 8.Oblicza liczbe na podstawie podanego procentu z liczby "<<endl;
cout<< " Jesli nacisniesz liczbe powyzej 8 to program sie zakonczy "<<endl;
int a;
cin>>a;//wczytanie wyboru
if (a==1)// 1 zadanie
{cout<<" To zadanie oblicza jakim procentem jednej liczby jest druga liczba. "<<endl;
cout<< " Np. Jakim procentem klasy sa chlopaki? "<<endl;
cout<<" Podaj liczbe ktorej chesz wyliczyc jakim procentem jest drugiej liczby "<<endl;
double liczba;//deklaracja liczby
cin>>liczba;//wczytanie liczby
cout<<" Podaj druga liczbe "<<endl;
double liczba2;//deklaracja liczby
cin>>liczba2;//wczytanie 2 liczby
double jakiprocent;//deklaracja wyniku
jakiprocent= (liczba/liczba2)100;//wzor na procenty
cout<< " Liczba "<< liczba <<" to "<< jakiprocent<<" procent liczby " << liczba2<< endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;// napis
}
if (a==2)// 2 zadanie
{ cout<<" To zadanie oblicza procent z danej liczby "<<endl;
cout<<" Podaj liczbe z ktorej ma byc obliczany procent "<<endl;
double liczba;//deklaracja liczby
cin>>liczba;// wczytanie liczba
cout<<" Podaj procent "<<endl;
double procent;//deklaracja procentow
cin>>procent;//wczytanie procentow
double procentzliczby;//deklaracja wyniku
procentzliczby= (procent
liczba)/100;//wzor na procenty
cout<<procent << " Procent z liczby "<< liczba <<" wynosi "<< procentzliczby<<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (a==3) // 3 zadanie
{ cout<<" To zadanie oblicza marze w procentach"<<endl;
cout<<" Marza- stosunek zysku ze sprzedazy do ceny sprzedazy "<<endl;//wyjasnienie
cout<<" Podaj cene zakupionego towaru "<<endl;
double cena;//deklaracja ceny
cin>>cena;//wczytanie ceny
cout<<" Podaj cene sprzedazy "<<endl;
double cena2;//deklaracja 2 ceny
cin>>cena2;//wczytanie 2 ceny
float zysk;//deklaracja zysku
zysk=cena2-cena;//wzor na zysk
cout<< " Zysk "<<" wynosi "<< zysk <<" zlotych " <<endl;
double marza;//deklaracja marzy
marza=(zysk/cena2)100;//wzor na marze
cout<< " Marza "<<" wynosi "<< marza <<" procent" <<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (a==4)// 4 zadanie
{ cout<<" To zadanie oblicza liczbe zwiekszona o procent"<<endl;
cout<<" Podaj liczbe "<<endl;
double liczba;//deklaracja liczby
cin>>liczba;//wczytana liczba
cout<<" Podaj o ile procent chcesz zwiekszyc liczbe "<<endl;
double procent;//deklaracja procentow
cin>>procent;//wczytanie procentow
double zwiekszenie;//deklaracja zwiekszenia
zwiekszenie=(liczba
procent)/100+liczba;//wzor na zwiekszenie
cout<< " Zwiekszyles "<<liczba<<" o "<< procent <<" procent, teraz ona wynosi "<<zwiekszenie <<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (a==5)// 5 zadanie
{ cout<<" To zadanie oblicza liczbe zmniejszona o procent"<<endl;
cout<<" Podaj liczbe "<<endl;
double liczba;//deklaracja liczby
cin>>liczba;//wczytanie liczby
cout<<" Podaj o ile procent chcesz zmniejszyc liczbe "<<endl;
double procent;//deklaracja procentu
cin>>procent;//wczytanie procentow
double zmniejszaj;//deklaracja zmniejszenia
zmniejszaj=(liczba
procent)/100;//wzory na zmiejszenie
double zmniejszenie;//deklaracja wyniku
zmniejszenie=liczba-zmniejszaj;
cout<< " Zmniejszyles "<<liczba<<" o "<< procent <<" procent, teraz ona wynosi "<<zmniejszenie <<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (a==6)// 6 zadanie
{ cout<<" To zadanie oblicza cene brutto"<<endl;
cout<<" Podaj cene netto "<<endl;
double netto;//deklaracja netta
cin>>netto;//wczytanie netta
cout<<" Podaj ile procent ma podatek vat "<<endl;
double procent;//deklaracja procentow
cin>>procent;//wczytanie procentow
double vat;//deklaracja vat
vat=(procentnetto)/100;//wzor na vat
double brutto;//deklaracja brutto
brutto=netto+vat;//wzor na brutto
cout<< " Podatek vat wyniosl "<<vat<<" wiec cena brutto wunosi "<<brutto <<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (a==7)// 7 zadanie
{ cout<<" To zadanie oblicza cene po podwyzkach i obnizkach"<<endl;
cout<<" Wybierz przypadek zadania "<<endl;//wybor przypadkow
cout<<" 1.podwyzka obnizka "<<endl;
cout<<" 2.obnizka podwyzka "<<endl;
cout<<" 3.podyzka podwyzka "<<endl;
cout<<" 4.obnizka obnizka "<<endl;
int b;
cin>>b;
if (b==1)//przypadek 1
{cout<<" Podaj cene przed podwyzka i obnizka "<<endl;
double cena;//deklaracja ceny
cin>>cena;//wczytanie ceny
cout<<" Podaj o ile procent podniesiono cene "<<endl;
double podwyzka1;//deklaracja podwyzki
cin>>podwyzka1;
double podwyzka;//wczytanie pozwyzki
podwyzka=((cena
podwyzka1)/100)+cena;//wzor na podwyzke
cout<<" Podaj o ile procent obnizono cene "<<endl;
double obnizka1;//deklaracja obnizka
cin>>obnizka1;//wczytanie obnizki
double obnizka;//deklaracja wyniku
obnizka=podwyzka-((podwyzkaobnizka1)/100);//wzor na obnizke
cout<<" Cena po podwyzce wynosila "<<podwyzka<<endl;
cout<<" Cena po podwyzce i obnizce wynosila "<<obnizka<<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (b==2)//przypadek 2
{cout<<" Podaj cene przed obnizka i podwyzka "<<endl;
double cena;//deklaracja ceny
cin>>cena;//wczytanie ceny
cout<<" Podaj o ile procent obnizono cene "<<endl;
double obnizka1;//deklaracja obnizki
cin>>obnizka1;//wczytanie obnizki
double obnizka;//deklaracja obnizka 2
obnizka=cena-((cena
obnizka1)/100);//wzor na obnizke
cout<<" Podaj o ile procent podniesiono cene "<<endl;
double podwyzka1;//deklaracja podwyzki
cin>>podwyzka1;//wczytanie podwyzki
double podwyzka;//deklaracja wyniku
podwyzka=((obnizkapodwyzka1)/100)+obnizka;//wzor na podwyzke
cout<<" Cena po obnizce wynosila "<<obnizka<<endl;
cout<<" Cena po obnizce i podwyzce wynosila "<<podwyzka<<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (b==3)//przypadek 3
{cout<<" Podaj cene przed podwyzka i podwyzka "<<endl;
double cena;//deklaracja ceny
cin>>cena;//wczytanie ceny
cout<<" Podaj o ile procent podniesiono cene "<<endl;
double podwyzka1;//deklaracja podwyzki
cin>>podwyzka1;//wczytanie podwyzki
double podwyzka;//deklaracja 2 podwyzki
podwyzka=((cena
podwyzka1)/100)+cena;//wzor na podwyzle
cout<<" Podaj o ile procent podniesiono cene "<<endl;
double podwyzka2;//deklaracja podniesienia
cin>>podwyzka2;//wczytanie 2 podwyzki
double podwyzka3;//deklaracja wyniku
podwyzka3=(podwyzkapodwyzka2)/100+podwyzka;//wzor na koncowa podwyzke
cout<<" Cena po podwyzce pierwszej wynosila "<<podwyzka<<endl;
cout<<" Cena po podwyzkach wynosila "<<podwyzka3<<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}
if (b==4)//przypadek 4
{ cout<<" Podaj cene przed obnizkami "<<endl;
double cena;//deklaracja ceny
cin>>cena;//wczytanie ceny
cout<<" Podaj o ile procent obnizono cene "<<endl;
double obnizka1;//deklracja obnizki
cin>>obnizka1;//wczytanie obnizki
double obnizka;//deklaracja 2 obnizki
obnizka=cena-((cena
obnizka1)/100);//wzor na 1 obnizke
cout<<" Podaj o ile procent obnizono cene "<<endl;
double obnizka2;//deklaracja obnizenia
cin>>obnizka2;//wczytanie obnizki
double obnizka3;//deklaracja wyniku
obnizka3=obnizka-(obnizkaobnizka2)/100;//wzor na koncowa obnizke
cout<<" Cena po obnizce pierwszej wynosila "<<obnizka<<endl;
cout<<" Cena po obnizkach wynosila "<<obnizka3<<endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}}
if (a==8)// 8 zadanie
{cout<<" To zadanie oblicza z jakiej liczby x procent to np. liczba 50 "<<endl;
cout<<" Np. Oblicz z jakiej liczby 15 procent wynosi 60 "<<endl;
cout<<" Podaj liczbe procent "<<endl;
double procent;//deklaracja procent
cin>>procent;//wczytanie procentow
cout<<" Podaj liczbe "<<endl;
double liczba;//deklaracja liczby
cin>>liczba;//wczytanie liczby
double procenty;//deklaracja wyniku
procenty=liczba
(100/procent);//wzor na procenty
cout<<" Jesli mamy "<< procent << " procent z liczby "<< liczba<<" to 100 procent z tej liczby jest rowne " << procenty << endl;
cout<< " "<<endl;
cout<< " "<<endl;
cout<< " ****************************** "<<endl;
cout<< " * Projekt by Matek532 * "<<endl;
cout<< " ****************************** "<<endl;//napis
}

cout<< " Czy chcesz powtorzyc? (t/n) "<<endl;
cin>>wybor;
system("cls");
}
while( wybor=='t');//koniec petli
cout<< " Dziekuje za uzywanie kalkulatora. Do zobaczenia nastepnym razem. "<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

2
  • Menu zrób instrukcją switch.
  • endl służy do wypychania danych ze strumienia.
  • znak nowej linii to \n; przykład użycia: std::cout<<"Tekst 1. \nTekst 2.";.
  • standard zakłada używanie ctime a nie time.h.
  • komentarze w stylu do // petla to chyba lekka przesada?
  • poszczególne zadania zrób w osobnych funkcjach, kod maina będzie czytelniejszy.
  • no i przede wszystkim DRY (11 razy ten sam podpis, wtf?) .
  • zmienne deklaruj na poczatku bloku, w ktorym są używane, łatwiej potem wszystko znaleźć i ogarnąć.
  • system("PAUSE"); - programy konsolowe nie powinny być na siłę zatrzymywane, nie służą do tego. Każde normalne IDE samo zatrzyma konsole.

Poza tym kod działa, ale masz nieużywane int argc, char *argv[], więc raczej niepotrzebne Ci one. Poprawności obliczeń nie sprawdzałem.

0

Spróbuj wpisać zamiast liczby literkę :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1