#include<string>
namespace pers
{
struct Person
{
std::string fname;
std::string lname;
};
void getPerson(Person &);
void showPerson(const Person &);
}
namespace debts
{
using namespace pers;
struct Debt
{
Person name;
double amount;
};
void getDebt(Debt &);
void showDebt(const Debt &);
double sumDebts(const Debt ar[], int n);
}
#include<iostream>
#include"namesp.h"
namespace pers
{
using std::cout;
using std::cin;
void getPerson(Person & rp)
{
cout << "First name: ";
cin >> rp.fname;
cout << "Last name: ";
cin >> rp.lname;
}
void showPerson(const Person & rp)
{
cout << rp.lname << ", " << rp.fname;
}
}
namespace debts
{
void getDebt(Debt & rd)
{
getPerson(rd.name);
std::cout << "Enter debt: ";
std::cin >> rd.amount;
}
void showDebt(const Debt & rd)
{
showPerson(rd.name);
std::cout << ": $" << rd.amount << std::endl;
}
double sumDebts(const Debt ar[], int n)
{
double total = 0;
for(int i = 0; i < n; i++)
total += ar[i].amount;
return total;
}
}
#include<iostream>
#include"namesp.h"
void other(void);
void another(void);
int main()
{
using debts::Debt;
using debts::showDebt;
Debt golf = {{"Ben", "Goat"}, 120.0};
showDebt(golf);
other();
another();
return 0;
}
void other(void)
{
using std::cout;
using std::endl;
using namespace debts;
Person dg = {"Doo", "Gli"};
showPerson(dg);
cout << endl;
Debt zippy[3];
int i;
for(i = 0; i < 3; i++)
getDebt(zippy[i]);
for(i = 0; i < 3; i++)
showDebt(zippy[i]);
cout << "Total debt: $" << sumDebts(zippy, 3) << endl;
return ;
}
void another(void)
{
using pers::Person;
Person collector = {"Milo", "Right"};
pers::showPerson(collector);
std::cout << std::endl;
}