Условия тестирования: Visual Studio 2010 Ultimate.Если оператор печатает дополнительные значения
Надеется, что мой вопрос был достаточно ясен - моя цель состоит в том, чтобы иметь пользователь выбрать один вариант
1. Enter 1 for Chequing
2. Enter 2 (or any number) for Savings
так какой вариант пользователи выбирают, программа будет печатать «Account Type: Chequing [or] Savings
»
Я удалось принять вход пользователя и получить половину того, что я пытался сделать. Моя проблема - это любой номер, который я выбираю, добавляется дополнительный номер, см. Рисунок.
Картина из предыдущей сборки, я установил вопрос выбора, но дополнительное количество до сих пор печатается в поле Тип счета.
мой account.cpp (в том числе account.h):
int Account::WhichOne(int actype)
{
if (actype == 1)
{
cout << "Account Type: Chequing" << endl;
}
else
cout << "Account Type: Savings" << endl;
return actype;
};
мой main.cpp
int main()
{
char firstName[255];
char lastName[255];
char sinNumber[255];
double balance = 0;
int choice;
int checker;
int accountType = 0;
int transactions = 0;
//Retrieve client information
cout << "Please fill out the information below for registration:" << endl;
cout << "Enter first name: ";
cin.getline(firstName, 255);
cout << "Enter last name: ";
cin.getline(lastName, 255);
cout << "Enter SIN number: ";
cin.getline(sinNumber, 255);
cout << "Enter initial balance: ";
cin >> balance;
cout << "Enter account type:\n Chequing - 1\n Savings - 2\n Choice: ";
cin >> choice;
cout << "\nPlease wait..." << endl;
//Creating the account
Account account(firstName, lastName, sinNumber, balance, accountType, transactions);
double deposit;
double withdraw;
double amount;
double ammount;
cout << "Amount to deposit: ";
cin >> amount;
deposit = account.DepositAmt(amount);
cout << "Your new balance is: " << deposit << endl;
cout << "Amount to withdraw: ";
cin >> ammount;
deposit = account.WithdrawAmt(ammount);
cout << "Your new balance is: " << deposit << endl;
accountType = account.WhichOne(choice);
cout << "" << accountType << endl;
}
Я действительно не знаю, что делать. Я уверен, что моя проблема с return actype
, но независимо от того, какое возвращаемое значение я ставлю там, оно также печатается.
Почему бы вам не использовать 'std :: string' вместо массивов символов, чтобы вы могли поддерживать любые длины? Также знайте, что с плавающей точкой не на 100% точнее и не подходит для хранения валюты. –
'cout <<" "<< accountType << endl;' Не будет ли это распечатывать номер снова? –
Хороший пункт о струнах, исправит это. как для 'cout <<" "<< accountType << endl'' мне не понадобится, чтобы напечатать, на какую учетную запись повлияли? – Umeed