Witam,
Od jakiegoś czasu małymi krokami przerabiam sobie książkę od Alex'a Allain o podstawach c++. Właśnie jestem po wykonaniu zadania, tylko nieco je urozmaiciłem. Chciałbym poprosić Was o wskazówki w przejrzystości kodu oraz o jakiekolwiek błędy. Dodam, iż styczności ze switchem jeszcze nie miałem, jest to następny rozdział ;)
Weź program z menu, który napisałeś wcześniej, i rozbij go na serię wywołań funkcji, z których każda odpowiada za jedną pozycję menu. Jako dwie nowe pozycje menu dodaj kalkulator oraz 99 Bottles of Beer.
Dzięki!
#include <iostream>
#include <string>
std::string imie;
char option;
int calculator();
int txt();
int yesorno();
int yesornotxt();
int menu();
int user();
int main();
int end();
int end()
{
system("cls");
std::cout << "Dziekuje ze skorzystania z programu.";
return 0;
}
int yesornotxt()
{
std::string kontynuacja;
while (kontynuacja != "Y" && kontynuacja != "N" && kontynuacja != "y" && kontynuacja != "n")
{
std::cout << "Chcesz kontynuowac? (Y/N): ";
std::cin >> kontynuacja;
if (kontynuacja == "y" || kontynuacja == "Y")
{
txt();
}
else if (kontynuacja == "n" || kontynuacja == "N")
{
menu();
}
}
return 0;
}
int yesorno()
{
std::string kontynuacja;
while (kontynuacja != "Y" && kontynuacja != "N" && kontynuacja != "y" && kontynuacja != "n")
{
std::cout << "Chcesz kontynuowac? (Y/N): ";
std::cin >> kontynuacja;
if (kontynuacja == "y" || kontynuacja == "Y")
{
calculator();
}
else if (kontynuacja == "n" || kontynuacja == "N")
{
menu();
}
}
return 0;
}
int user()
{
std::cout << "Podaj swoje imie: ";
std::cin >> imie;
return 0;
}
int menu()
{
system("cls");
std::cout << "Witaj " << imie << ". Sposrod opcji, wybierz ta ktora Cie interesuje" << std::endl;
std::cout << "[1]Otworz kalkulator" << std::endl;
std::cout << "[2]Tekst piosenki 99 Bottles of beer" << std::endl;
std::cout << "[3]Wyjscie" << std::endl;
std::cin >> option;
while (option != '1' && option != '2' && option != '3')
{
menu();
}
if (option == '1')
{
calculator();
}
else if (option == '2')
{
txt();
}
else if (option == '3')
{
end();
}
return 0;
}
int txt()
{
system("cls");
for (int i = 99; i >= 2; i--)
{
std::cout << i << " bottles of beer on the wall, " << i << " bottles of beer." << std::endl;
std::cout << "Take one down and pass it around - " << i - 1 << " bottles of beer on the wall." << std::endl;
}
std::cout << "1 bottle of beer on the wall, 1 bottle of beer.\nTake it down and pass it around - no more bottles of beer on the wall." <<std::endl;
std::cout << "\n" << "";
yesornotxt();
return 0;
}
int calculator()
{
system("cls");
std::string choose;
double a;
double b;
while (true)
{
std::cout << "Kalkulator" << std::endl;
std::cout << "\n" << "Wprowadz znak dzialania (+, -, *, / ): ";
std::cin >> choose;
while (choose != "+" && choose != "-" && choose != "*" && choose != "/")
{
calculator();
}
std::cout << "Wprowadz pierwsza liczbe: ";
std::cin >> a;
std::cout << "Wprowadz druga liczbe: ";
std::cin >> b;
if (choose == "+")
{
std::cout << a << " " << choose << " " << b << " " << "=" << " " << a + b << std::endl;
std::cout << "\n" << std::endl;
}
else if (choose == "-")
{
std::cout << a << " " << choose << " " << b << " " << "=" << " " << a - b << std::endl;
std::cout << "\n" << std::endl;
}
else if (choose == "*")
{
std::cout << a << " " << choose << " " << b << " " << "=" << " " << a * b << std::endl;
std::cout << "\n" << std::endl;
}
else if (choose == "/")
{
std::cout << a << " " << choose << " " << b << " " << "=" << " " << a / b << std::endl;
std::cout << "\n" << std::endl;
}
{
break;
}
}
yesorno();
return 0;
}
int main()
{
user();
system("cls");
menu();
while (option != '1' && option != '2' && option != '3')
{
menu();
}
if (option == '1')
{
calculator();
}
else if (option == '2')
{
txt();
}
else if (option == '3')
{
end();
}
return 0;
}