void Display::insert_money(double money) { if (validate_money(money)) { this->automat->set_client_money(this->automat->get_client_money()+money); std::cout<<"Inserted " << money <<"$.\t"; show_balance(); } else{ this->automat->show_suitable_banknots(); } }
void Display::buy_drink(int number) { if(is_enough(number)) { automat->give_drink(number); } else { std::cout<<"#Not enough money. Please, insert additional "<<automat->get_price(number)-automat->get_client_money()<<"$ #\n"; } show_balance(); }
void start_loop(int socket) { Credentials c; bool haveCredentials = false; bool looping = true; /* our command strings */ char *str_poweroff = "poweroff"; char *str_quit = getString(cmd_quit, language_code); char *str_balance = getString(cmd_balance, language_code); char *str_deposit = getString(cmd_deposit, language_code); char *str_withdraw = getString(cmd_withdraw, language_code); char *str_unknown_command = getString(error_unknown_command, language_code); char *str_help = getString(msg_help, language_code); char *str_help_cmd = getString(cmd_help, language_code); char *str_change_language = "change language"; /* main loop */ while (looping == true) { if (haveCredentials == false) { char *str = getString(msg_welcome, language_code); printf("%s\n", str); getCredentials(&c); haveCredentials = true; free(str); } char *line = readline(">> "); add_history(line); /* do something with the command */ if (strcmp(line, str_poweroff) == 0) { looping = false; } else if (strcmp(line, str_quit) == 0) { haveCredentials = false; } else if (strcmp(line, str_balance) == 0) { show_balance(socket, &c); } else if (strcmp(line, str_deposit) == 0) { deposit_money(socket, &c); } else if (strcmp(line, str_withdraw) == 0) { withdraw_money(socket, &c); } else if (strcmp(line, str_help_cmd) == 0) { printf("%s\n", str_help); } else if (strcmp(line, "") == 0) { /* do nothing */ } else if (strcmp(line, str_change_language) == 0) { changeLanguage(); language_is_changed = true; } else { printf("%s\n", str_unknown_command); } if (language_is_changed == true) { free(str_quit); free(str_balance); free(str_deposit); free(str_withdraw); free(str_unknown_command); free(str_help); free(str_help_cmd); str_quit = getString(cmd_quit, language_code); str_balance = getString(cmd_balance, language_code); str_deposit = getString(cmd_deposit, language_code); str_withdraw = getString(cmd_withdraw, language_code); str_unknown_command = getString(error_unknown_command, language_code); str_help = getString(msg_help, language_code); str_help_cmd = getString(cmd_help, language_code); } free(line); } Message m = {.message_id = close_connection}; sendMessage(socket, &m); /* free the command strings */ free(str_quit); free(str_balance); free(str_deposit); free(str_withdraw); free(str_unknown_command); free(str_help); free(str_help_cmd); }