Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const char BREAK = '.';
- const int TRANSACTIONS = 6, CLIENTS = 21, ADDRESS = 21, NAME = 11;
- int lastClient = 0, lastTransaction = 0;
- void StoreAddress(char addresses[ADDRESS], char address[ADDRESS])
- {
- for(int a = 0; a<ADDRESS; a++) addresses[a] = address[a];
- }
- void Balances(int id, int lastTransaction, int transactions[CLIENTS][TRANSACTIONS], char transactiontypes[CLIENTS][TRANSACTIONS],int balances[CLIENTS])
- {
- balances[id] = 0;
- for(int i = 0; i<lastTransaction; i++){
- if(transactiontypes[id][i] == 'w' || transactiontypes[id][i] == 'W'){
- balances[id] -= transactions[id][i];
- }else balances[id] += transactions[id][i];
- }
- }
- void Transactions(int id, int lastTransaction, char transactiontypes[CLIENTS][TRANSACTIONS], int transactions[CLIENTS][TRANSACTIONS], int balances[CLIENTS])
- {
- char transactiontype;
- int transaction;
- for(int transactionNum = lastTransaction; transactionNum<TRANSACTIONS-1; transactionNum++){
- cin>>transactiontype;
- cin>>transaction;
- if(transactiontype == BREAK){
- cout<<lastTransaction<<endl;
- break;
- }else if(transactiontype != 'w' && transactiontype != 'W' && transactiontype != 'd' && transactiontype != 'D'){
- cout<<"Invalid transaction, please try again."<<endl;
- transactionNum--;
- continue;
- }
- if(transaction < 0){
- cout<<"Invalid transaction amount, please try again."<<endl;
- transactionNum--;
- continue;
- }else{
- transactions[id][transactionNum] = transaction;
- transactiontypes[id][transactionNum] = transactiontype;
- }
- lastTransaction++;
- }
- Balances(id, lastTransaction, transactions, transactiontypes, balances);
- }
- void Info(char names[CLIENTS][NAME], int buildings[CLIENTS], char addresses[CLIENTS][3][ADDRESS],
- char transactiontypes[CLIENTS][TRANSACTIONS], int transactions[CLIENTS][TRANSACTIONS],
- int balances[CLIENTS])
- {
- char name[NAME], street[ADDRESS], neighborhood[ADDRESS], city[ADDRESS];
- int building;
- for(int id = lastClient; id<CLIENTS-1; id++)
- {
- cout<<"Client "<<id+1<<endl;
- cout<<"Name: ";
- cin>>name;
- if(name[0] == BREAK){
- lastClient = id-1;
- break;
- }
- cout<<"Address: "<<endl;
- cout<<"(Number) (Street) (Neighborhood) (City)"<<endl;
- cin>>building>>street>>neighborhood>>city;
- if(building > 0)
- {
- for(int i = 0; i<NAME; i++) names[id][i] = name[i];
- buildings[id] = building;
- StoreAddress(addresses[id][0], street);
- StoreAddress(addresses[id][1], neighborhood);
- StoreAddress(addresses[id][2], city);
- cout<<"Please enter your transactions (Maximum "<<TRANSACTIONS-1<<" transactions)"<<endl;
- cout<<"(W for Withdraw/D for Deposit) (Amount)"<<endl;
- Transactions(id, lastTransaction, transactiontypes, transactions, balances);
- }else{
- cout<<"Invalid address, please try again."<<endl;
- id--;
- continue;
- }
- }
- }
- int main()
- {
- char client_names[CLIENTS][NAME];
- int client_buildings[CLIENTS];
- char client_addresses[CLIENTS][3][ADDRESS];
- int client_balances[CLIENTS];
- int client_transactions[CLIENTS][TRANSACTIONS];
- char client_transactiontypes[CLIENTS][TRANSACTIONS];
- // Test input client info
- Info(client_names, client_buildings, client_addresses, client_transactiontypes, client_transactions, client_balances);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement