: -
:
230100
7
:
2-
230100
613217
:
, 2015
.. 3
1 .. 4
2 UML .. 5
3 . 7
4 ... 11
.. 14
... 15
- ++, , - , , , .
Bill : , , , ), , , . Bill, ListPayer. ListPayer , , . ( Bill), , , . ; , ; . . Group (), , ListPayer. , , . unsigned int: , , . unsigned int: , , .
UML
(. Static Structure diagram) , , , . UML.
:
- ;
- , .
:
|
|
- , ;
- ;
- , ( - ).
2.1
MS Visual Studio 2010.
2.2 Class Diagram
Class Diagram, , , .
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <string>
#include <locale>
using namespace std;
const int NotUsed = system("color 70");
const int N = 5;
class bill
{
std::string number, first_name, last_name;
public:
bill(std::string number, std::string first_name, std::string last_name)
{
this->number = number;
this->first_name = first_name;
this->last_name = last_name;
}
std::string getNumber()
{
return number;
}
std::string getFirst_name()
{
return first_name;
}
std::string getLast_name()
{
return last_name;
}
};
struct list_el
{
std::string number, first_name, last_name, date;
double time_call, tarif, discount, sum;
};
class listPlayer: bill
{
int n;
std::string date;
std::vector<list_el> list;
public:
listPlayer(std::string number, std::string first_name, std::string last_name, int n, int date): bill(number, first_name, last_name)
{
this->n = n;
this->date = date;
}
void addBill(bill el, std::string date, double time_call, double tarif, double discount, double sum)
{
list_el l;
l.number = el.getNumber();
l.first_name = el.getFirst_name();
l.last_name = el.getLast_name();
l.date = date;
l.time_call = time_call;
l.tarif = tarif;
l.discount = discount;
l.sum = sum;
list.push_back(l);
std::cout<< l.number<<" "<< l.first_name<<" "<< l.last_name<<" "<< l.date<<" "<< l.time_call<<" "<<l.tarif <<" "<< l.discount<<" "<< l.sum;
}
void delBill(int del_bill)
{
if (list.size() >= del_bill)
list.erase(list.begin() + del_bill);
std::cout<<" ";
}
void printBill()
{
for (int i = 0; i < list.size(); i++)
std::cout<<list[i].number<<" "<<list[i].first_name<<" "<<list[i].last_name<<" "<<list[i].date<<" "<<list[i].time_call<<" "<<list[i].tarif<<" "<<list[i].discount<<" "<<list[i].sum<<" ";
|
|
}
std::vector<list_el> findNumber(std::string number)
{
std::vector<list_el> v;
for (int i = 0; i < list.size(); i++)
if (list[i].number == number)
{
v.push_back(list[i]);
std::cout<<" !";
}
else
{
std::cout<<" !";
}
return v;
}
std::vector<list_el> findLastName(std::string last_name)
{
std::vector<list_el> v;
for (int i = 0; i < list.size(); i++)
if (list[i].last_name == last_name)
{
v.push_back(list[i]);
std::cout<<" !";
}
else
{
std::cout<<" !";
}
return v;
}
std::vector<list_el> findDate(std::string date)
{
std::vector<list_el> v;
for (int i = 0; i < list.size(); i++)
if (list[i].date == date)
{
v.push_back(list[i]);
std::cout<<" !";
}
else
{
std::cout<<" !";
}
return v;
}
int sum()
{
int t = 0;
for (int i = 0; i < list.size(); i++)
t += list[i].sum;
return t;
}
};
int main()
{setlocale(LC_ALL,"russian_russia");
listPlayer list(" ", " ", " ", 1, 0000);
std::string number, date, first_name, last_name,faml,numb,fnddate;
double time_call, tarif, sum, discount;
int choose;
while(1)
{
std::cout<<" ?\n";
std::cout<<" 1 \n";
std::cout<<" 2 \n";
std::cout<<" 3, \n";
std::cout<<" 4, \n";
std::cout<<" 5, \n";
std::cout<<" 6, \n";
std::cout<<" 7, \n";
std::cin>>choose;
switch (choose)
{
case 1:
std::cout<<" \n";
std::cin>>number;
std::cout<<" \n";
std::cin>>first_name;
std::cout<<" \n";
std::cin>>last_name;
std::cout<<" \n";
std::cin>>date;
std::cout<<" \n";
std::cin>>time_call;
std::cout<<" \n";
std::cin>>tarif;
std::cout<<" \n";
std::cin>>discount;
sum=(time_call*tarif)-((time_call*tarif)*(discount/100));
list.addBill(bill(number, first_name, last_name), date, time_call, tarif, discount,sum);
std::cout << std::endl;
break;
case 2:
int del_bill;
std::cout<<" , 0 \n";
std::cin>>del_bill;
list.delBill(del_bill);
std::cout << std::endl;
break;
case 3:
std::cout << " \n";
std::cout << list.sum();
std::cout << std::endl;
break;
case 4:
std::cout<<" \n";
std::cin>>faml;
list.findLastName(faml);
std::cout << std::endl;
break;
case 5:
std::cout<<" \n";
std::cin>>numb;
list.findNumber(numb);
std::cout << std::endl;
break;
case 6:
std::cout<<" \n";
std::cin>>fnddate;
list.findDate(fnddate);
std::cout << std::endl;
break;
case 7:
list.printBill();
std::cout << std::endl;
break;
}
getchar();
|
|
system("pause");
}
}
, , :
- , ;
- , , .
4.1
:
- 1 ;
- 2 ;
- 3, ;
- 4, ;
- 5, ;
- 4, ;
- 7, .
4.2
:
- ;
- ;
- ;
- ;
- ;
- ;
- .
.
4.3
0, . .
4.4
:
- ;
- ;
- .
(4-6) , .. / .
4.5
(3), , .
:
1. .
2. , .
3. .
5. , .
6. , , , .
1 , . . []: / . . , . . . - .: - -, 2006. - 432 c.
2 .. . : . . .: -, 2006.
3 .. /++. []: / . . . - .: , 2009. - 460 .
4 .. . , , /++ LAB, , : . .: -, 2006.
5 . / ../, : , 2005.
6 , . . - . []: / . . . - : -, 2005.
7 , . Windows Visual C/C++. Visual C++ []: . . / . , . . - .: ; .: , 2008. - 878.
|
|
8 , . . []: . / . . . - .: - , 2011. - 258 .