
- •1)Класс массив. Описывает нулевой единичный вектор, нулевой вектор произвольного размера и вектор произвольного размера с произвольными значениями
- •2) Описать скалярное произведение векторов
- •If(!m_pVec){
- •Void main(){
- •3)Записать обыкновенную дробь
- •4)Сумма комплексных чисел
- •Void main(){
- •5)Множественное наследование. Создать класс, произвольный от нескольких базовых
- •6)Работа с множествами
- •7)Вычислить комплексное число с помощью формулы Эйлера
- •Void main()
- •8)Вычислить время через определенный промежуток времени
- •9)Вычислить сумму, разность, произведение матриц
- •Void main()
- •10)Вычисление суммы, разности, произведения и деление комплексных чисел
- •Void main()
- •11)Вычислить радиус, диаметр, длину окружности, площадь и объем сферы
- •12)Работа с шаблонами
- •13)Банковские операции (чековая и сберегательная книжка)
- •Void display()
- •Void display()
- •14)Вычислить сумму векторов
- •15)Сортировка по возрастанию
- •Void main()
Void display()
{
cout<<"shit";
cout<<accountNumber;
cout<< " = " << balance;
cout<< " nomer snjatia = ";
cout<< noWithdrawals;
}
protected:
unsigned accountNumber;
double balance;
int noWithdrawals;
};
void Savings::withdrawal(double amount)
{
if (balance < amount)
{
cout << "nedostatochno deneg na schete: "
<< "balans raven " << balance
<< ",snimaetsja " << amount;
}
else
{
// после первого в месяце снятия денег...
if (++noWithdrawals > 1)
{
// ...удерживать S5
balance -= 5.00;
}
// снять деньги
balance -= amount;
}
}
// объявление прототипов
void process(Checking* pChecking);
void process(Savings* pSavings);
// объекты чековых и сберегательных счетов
Checking* chkAcnts[maxAccounts];
Savings* svgAcnts[maxAccounts];
// main — собирает и выводит данные
int main(int argcs, char* pArgs[])
{
// повторять цикл до ввода 'X1 или 'х'
int noChkAccounts=0;// содержит количество счетов
int noSvgAccounts = 0;
char accountType; // тип счета — 'S' или 'С'
while (1)
{
cout << "Vvedite S dlja sberegatelnogo scheta, "
<< "C dlja chekovyx, "
<< "X dlja vyxoda:";
cin >> accountType;
// выйти из цикла, если пользователь взедет X
if (accountType == 'x' || accountType == 'X')
{
break;
}
// E противном случае обрабатывать соответствующий счет
switch (accountType)
{
// чековые счета
case 'c':
case 'C':
if (noChkAccounts < maxAccounts)
{
int acnt;
cout << "vvedite nomer scheta:";
cin >> acnt;
chkAcnts[noChkAccounts] = new Checking(acnt);
process(chkAcnts[noChkAccounts]);
noChkAccounts++;
}
else
{
cout << "Dlja chekovyx schetov bolshe net mesta";
}
break;
// сберегательные счета
case 's':
case 'S':
if (noSvgAccounts < maxAccounts)
{
int acnt;
cout << "vvedite nomer scheta:";
cin >> acnt;
svgAcnts[noSvgAccounts] = new Savings(acnt);
process(svgAcnts[noSvgAccounts]) ;
noSvgAccounts++;
}
else
{
cout << "Dlja sberegatelnyx scetov bolshe net mesta";
}
break;
default:
cout << "Neponjatnyj simvol...";
}
}
//А теперь показать общую сумму
double chkTotal = 0;
cout << "Chekovye scheta:";
for (int i = 0; i < noChkAccounts; i++)
{
chkAcnts[i]->display();
chkTotal += chkAcnts[i]->acntBalance();
}
double svgTotal = 0;
cout << "Sberegatelnye scheta:\n";
for (int j = 0 ; j < noSvgAccounts; j++)
{
svgAcnts[j]->display();
svgTotal += svgAcnts [j] ->acntBalance();
}
double total = chkTotal + svgTotal;
cout<<"symm po shekovim shitam";
cout<< chkTotal;
cout<<"symm po sbereg shitam=";
cout<< svgTotal<<endl;
cout<<"obhay symma=";
cout<< total;
return 0;
}
// обработка(Checking) — ввод данных по чековым счетам
void process (Checking* pChecking){
cout<<"enter pologit shislo for fklad";
cout<< "otritcatelnoe dlja snjatia, 0 dlja zavershenia";
double transaction;
do
{
cout << " : ";
cin>>transaction;
// вклад
if (transaction > 0)
{
pChecking->deposit(transaction);
}
// снятие
if (transaction < 0)
{
pChecking->withdrawal(-transaction);
}
} while (transaction != 0);
}
// обработка(Savings) — ввод данных для сберегательных счетов
void process(Savings* pSavings)
{
cout << "vvedite polozhitelnoe chislo dlja vklada,"
<< "otritcatelnoe dlja snjatia, 0 dlja zavershenia";
double transaction;
do
{
cout << ":";
cin >> transaction;
// вклад
if (transaction > 0)
{
pSavings->deposit(transaction);
}
// снятие
if (transaction < 0)
{
pSavings->withdrawal(-transaction);
}
}while (transaction != 0);
}