コード例 #1
0
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();
    }
}
コード例 #2
0
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();
        
}
コード例 #3
0
ファイル: client.c プロジェクト: fabstr/progp-atm
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);
}