Форум программистов, компьютерный форум CyberForum.ru

Построение блок-схем по коду - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В массиве из 19 вещественных чисел найти медиану http://www.cyberforum.ru/cpp-beginners/thread740056.html
В массиве из 19 вещественных чисел найти медиану (средний элемент) и поменять его местами с последним элементом. ПОдскажите please, как решить)
C++ Как сделать чтобы печатало "" cout << " #include <iostream>\n#include <string>\n using namespace std; string s = ""; "; Вывод через 'cout' печатает все символы кроме " и \ , почему и как их можно напечатать http://www.cyberforum.ru/cpp-beginners/thread740053.html
C++ Исправление ошибок в программе
Здравствуйте! Помогите пожалуйста исправит ошибки в программе. Программа была написана по заданию: Дан двумерный массив размером n*m и заполненный случайным образом: 1. Вставить после всех строк, содержащих максимальный по модулю элемент, первую строку. 2. Удалить из него строку и столбец, на перекрестье которых находится максимальный элемент. Собственно код: // automat_1.cpp: определяет...
C++ Написать программу которая реализует шифр Цезаря, т.е. каждая буква заменяется на следущую за ней по алфавиту, а последняя буква заменяется первой
Написать программу которая реализует шифр Цезаря, т.е. каждая буква заменяется на следущую за ней по алфавиту, а последняя буква заменяется первой. Например яблоко = авмплп
C++ реализация трения в физической симуляции http://www.cyberforum.ru/cpp-beginners/thread740048.html
В общем есть у меня физ демка, в которой выпуклые тела сталкиваются, но трения нету, поэтому даже стенка из блоков просто разваливается со временем сама, блоки начинают разъезжаться. Собсно релизовано все это по методу интегрирования Верле, где скорость у нас равна V = Pos - OldPos Скорость в принципе можно заменить на -k*N+OldVelocity; где N как я понял нормализованный вектор скорости...
C++ Как мне исправить код Здравствуйте! Помогите, не могу понять, в чем проблема. Условие задачи: преобразовать последовательность, добавив найменьшее количество символов так, чтобы последовательность стала палиндромом. Т.е. frfa -> frfafrf, или, например, abcdc -> abcdcba. Что мне нужно исправить в коде? Программа имеет ноль ошибок, но не работает.#include "stdafx.h" #include <string.h> #include <iostream> #include... подробнее

Показать сообщение отдельно
Starscream
 Аватар для Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
20.12.2012, 18:58     Построение блок-схем по коду
За день необходимо построить блок-схемы по коду к лабараторным работам
кому не сложно помогите пожалуйсто , одному неуправиться да и не очень умею строить схемы
желательно строить в visio
вот исходники лаб

Лабараторная №1
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
Расчитать стоимость футболки и джинсов с учетом скидки.
*/
#include <iostream>
#include <conio.h>
 
using namespace std;
void main()
{
    setlocale(0,"russian");
    double money,   //количество денег
           jeans,   //цена дижинс
           t_short, //цена футболки 
           discont, //процент скидки
           price;   //стоиость товара с учетом скидки
 
    cout<<"Введите количество денег:";
    cin >> money;
    cout << "Введите цену джинс:";
    cin >> jeans;
    cout << "Введите цену футболки:";
    cin >> t_short;
    cout << "Введите процент скидки (от 0 до 100):";
    cin >> discont;
    price=((jeans+t_short)*((100-discont)*0.01));
    cout << "стоимость товара с учетом скидки: " << price<< endl << endl;
    
    if (price < money) cout << "На покупку хватает\n" << "Осталось " << (money-price)  << "руб" << endl;
    else if (price == money) cout << "На покупку хватает копейка в копейку\n" << "Осталось 0 руб." << endl;
    else cout << "На покупку не хватает\n" << "Не хватает " << (price-money) << " руб" << endl;
    
    _getch();
}


Лабараторная № 2
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
 
using namespace std;
 
void main()
{
    setlocale(0, "russian");
    //===============//
    cout << "Размер типа данных char :\t\t";
    cout << sizeof(char)<< "Bit"<<endl;
    //===============//
    cout << "Размер типа данных bool :\t\t";
    cout << sizeof(bool)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных short(long int):\t\t";
    cout << sizeof(short)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных unsigned short :\t\t";
    cout << sizeof(unsigned short)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных long(long int) :\t\t";
    cout << sizeof(long)<<"Bit"<< endl;
    //===============//
    cout << " Размер типа данных unsigned int :\t\t";
    cout << sizeof(unsigned int)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных unsigned long :\t\t";
    cout << sizeof(unsigned long)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных int :\t\t";
    cout << sizeof(int)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных float :\t\t";
    cout << sizeof(float)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных double :\t\t";
    cout << sizeof(double)<< "Bit"<<endl;
    //===============//
    cout << " Размер типа данных long double :\t\t";
    cout << sizeof(long double)<< "Bit"<<endl;
 
    cin.get();
    }


Лабараторная № 7
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* программа предназначена для нахождения суммы положительных элементов массива
 * выполнил студент группы 11п1 
 */
 
#include <iostream>
#include <conio.h>
 
using namespace std;
void main()
{
    setlocale(0, "rus");
    int size;
    cout << " Введите размер массива : "; cin >> size;
    int *Arr = new int[size] , Sum = 0;
    int *Pointer_InPut = Arr ;
//===================================================================//
// с помощью цикла for//
//====================//
/*
    for(int i = 0 ; i <= size-1; i++)
    {
        cout << "Введите " << i << " элемент массива ";
        cin >> *Pointer_InPut;
        if(*Pointer_InPut >= 0)
            Sum = Sum + *Pointer_InPut++;   
    }
 
*/
//===================================================================//
// с помощью цикла while//
//======================//
/*  
    int i = 0;
    while(i <= size-1)
    {
        cout << "Введите " << i++ << " элемент массива ";
        cin >> *Pointer_InPut;
        if(*Pointer_InPut >= 0)
            Sum = Sum + *Pointer_InPut++;
    }
*/
//===================================================================//
// с помощью do while//
//===================//
/*
    int i = 0;
    do
    {
        cout << "Введите " << i++ << " элемент массива ";
        cin >> *Pointer_InPut;
        if(*Pointer_InPut >= 0)
            Sum = Sum + *Pointer_InPut++;
    }
    while(i <= size-1);
    
*/
//===================================================================//
 
    delete [] Arr;
    
    cout << "Сумма положительных элементов массива = " << Sum;
    _getch();
}


Лабараторная № 8
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <conio.h>
 
using namespace std;
void main(void)
{
    setlocale(0,"Rus");
    system("color 0a");
    double Employee[4][6] = {
        {1400,1400,1300,1500,1900,1700},
        {1350,1500,1450,1400,1530,2150},
        {1200,1100,1300,1800,1500,1450},
        {1500,1700,1600,1450,1430,1350}
                            } , Fond = 0 , Employee_Fond[4] = {0} , Max_Month[4] = {0} , Max_Month_Index[4] ={0};
    //=========================//
    
    for(int i = 0; i <= 3; i++)
    {
        Max_Month[i] = Employee[i][i];
        for(int j = 0; j <= 5; j++)
        {
            if(Max_Month[i] <= Employee[i][j])
            {
                Max_Month[i] = Employee[i][j];
                Max_Month_Index[i] = j;
            }
        }
    }
 
    //=========================//
    for(int i = 0; i <=3; i++)
    {
        for(int j = 0; j<=5;j++)
        {
            Employee_Fond[i] = Employee_Fond[i] + Employee[i][j];
            Fond = Fond + Employee[i][j];
        }
    }
    int Max = Employee_Fond[0];
    for(int i = 0; i <= 3; i++)
    {
        if(Max < Employee_Fond[i])
            Max = Employee_Fond[i];
    }
 
    cout << "Максимальная зарплата = " <<Max << endl; 
    cout << "Фонд зарплаты = " << Fond << endl;
    cout << "Средняя зарплата = " << Fond / 24 << endl;
 
    //===========================//
 
    cout << endl << endl;
 
    for(int i = 0 ; i <= 3; i++)
            cout << " У сотрудника # " << i 
                 << " максимальная зарплата " << Max_Month[i] 
                 << " в " << Max_Month_Index[i] << " месяце." << endl;
    _getch();
}


Лабараторная № 9
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <conio.h>
 
/*возвращает стоимость квадратного сантиметра пиццы*/ 
double price_ss_pizza( double diameter /* сантиметры */ , int price /* рубли */)
{
    double Area_pizza = 0 , price_ss_pizza = 0;
    Area_pizza = 3.14 * (diameter * diameter) / 4;
    price_ss_pizza = price / Area_pizza;
    return (price_ss_pizza);
}
 
using namespace std;
void main()
{
    setlocale(0, "russian");
    double diameter_medium_pizza = 0, diameter_big_pizza = 0, price_medium_pizza = 0, price_big_pizza = 0, price_ss_medium_pizza = 0 , price_ss_big_pizza = 0;
    cout << " Введите стоимость средней пиццы : ";
    cin >> price_medium_pizza;
    cout << " Введите стоимость большой пиццы : ";
    cin >> price_big_pizza;
    cout << " Введите диаметр средней пиццы : ";
    cin >> diameter_medium_pizza;
    cout << " Введите диаметр большой пиццы : ";
    cin >> diameter_big_pizza;
 
    price_ss_medium_pizza = price_ss_pizza(diameter_medium_pizza , price_medium_pizza);
    price_ss_big_pizza = price_ss_pizza(diameter_big_pizza , price_big_pizza);
 
    cout.ios::fixed;
    cout.precision(2);
 
    cout << " Стоимость квадратного сантиметра средней пиццы = " << price_ss_medium_pizza << endl;
    cout << " Стоимость квадратного сантиметра большой пиццы = " << price_ss_big_pizza << endl;
 
    if(price_ss_medium_pizza <= price_ss_big_pizza)
        cout << " Купить среднюю пиццу выгоднее " << endl;
    if(price_ss_big_pizza < price_ss_medium_pizza)
        cout << " Купить большую пиццу выгоднее " << endl;
 
    _getch();
}


Лабараторная № 10
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/*Программа предназначена для */
/*Выполнил студен группы 11п1 */
 
#include <iostream>
#include <conio.h>
 
/*возвращает стоимость квадратного сантиметра круглой пиццы*/
 
double price_ss_pizza(double diameter , double price) /*(<Диаметр(в см)> , <Цена(руб)>)*/
{  
    double Area_pizza = 0 , price_ss_pizza = 0;
    Area_pizza = 3.14 * (diameter * diameter) / 4; /*находим площадь пиццы*/
    price_ss_pizza = price / Area_pizza; /*находим цену квадратного сантиметра*/
    return (price_ss_pizza);
}
 
/*возвращает стоимость квадратного сантиметра квадратной пиццы*/
double price_ss_pizza(double weidth , double length , double price_pizza) /*(<Ширина(см)> , <Длина(см)> , <Цена(руб)>)*/
{
    double Area_pizza = weidth * length; /* находим площадь пиццы */
    double price_ss_pizza = price_pizza / Area_pizza; /* цена квадратного сантиметра */
    return (price_ss_pizza);
}
 
using namespace std;
void main()
{
    setlocale(0, "russian");
    double diameter_medium_pizza = 0,
           diameter_big_pizza = 0,
           price_medium_pizza = 0,
           price_big_pizza = 0,
           price_ss_medium_pizza = 0 ,
           price_ss_big_pizza = 0 ,
           weidth_square_pizza = 0 ,
           length_square_pizza = 0 ,
           price_square_pizza = 0 ,
           price_ss_square_pizza = 0;
 
 
    cout << " Введите стоимость средней пиццы : ";
    cin >> price_medium_pizza;
    cout << " Введите стоимость большой пиццы : ";
    cin >> price_big_pizza;
    cout << " Введите стоимость квадратной пиццы : ";
    cin >> price_square_pizza;
    cout << " Введите диаметр средней пиццы : ";
    cin >> diameter_medium_pizza;
    cout << " Введите диаметр большой пиццы : ";
    cin >> diameter_big_pizza;
    cout << " Введите ширину прямоугольной пиццы : ";
    cin >> weidth_square_pizza;
    cout << " Введите длину прямоугольной пиццы : ";
    cin >> length_square_pizza;
 
    cout << endl << endl;
 
    price_ss_medium_pizza = price_ss_pizza(diameter_medium_pizza , price_medium_pizza);
    price_ss_big_pizza = price_ss_pizza(diameter_big_pizza , price_big_pizza);
    price_ss_square_pizza = price_ss_pizza(weidth_square_pizza , length_square_pizza , price_square_pizza);
 
    cout.ios::fixed;
    cout.precision(2);
 
    cout << " Стоимость квадратного сантиметра квадратной пиццы = " << price_ss_square_pizza << endl;
    cout << " Стоимость квадратного сантиметра средней пиццы = " << price_ss_medium_pizza << endl;
    cout << " Стоимость квадратного сантиметра большой пиццы = " << price_ss_big_pizza << endl << endl;
 
    if(price_ss_square_pizza <= price_ss_medium_pizza && price_ss_square_pizza <= price_ss_big_pizza)
        cout << " Купить квадратную пиццу выгоднее " << endl;
    if(price_ss_medium_pizza < price_ss_big_pizza && price_ss_medium_pizza < price_ss_square_pizza)
        cout << " Купить среднюю пиццу выгоднее " << endl;
    if(price_ss_big_pizza < price_ss_medium_pizza && price_ss_big_pizza < price_ss_square_pizza)
        cout << " Купить большую пиццу выгоднее " << endl;
 
    _getch();
}


Лабараторная № 11
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <conio.h>
 
using namespace std;
 
/* Выводит на экран назначение программы */
void Hello(); 
 
/* Ввод с клавиатуры два числа */
void InPut(int &FirstValue , int &SecondValue);
 
/* Меняет местами значения двух целочисленных переменных */
void Swap(int &FirstValue , int &SecondValue);
 
/* Выводит значения переменных в том порядке в котором они были введены */
void Out_Put(int FirstValue , int SecondValue);
 
void main()
{
    setlocale(0, "russian");
 
    int first = 0 , second = 0;
 
    Hello();
    InPut(first,second);
    Swap(first,second);
    Out_Put(first,second);
 
 
    _getch();
}
 
void Hello() 
{
    cout << " Программа предназначена для обмена значений двух целочисленных переменных " << endl;
}
 
void InPut(int &FirstValue , int &SecondValue)
{
    cout << " Введите первое число : "; cin >> FirstValue ;
    cout << " Введите второе число : "; cin >> SecondValue;
}
 
void Swap(int &FirstValue , int &SecondValue)
{
    int swap = FirstValue;
    FirstValue = SecondValue;
    SecondValue = swap;
}
 
void Out_Put(int FirstValue , int SecondValue)
{
    cout << " Первое число = " << FirstValue << endl;
    cout << " Второе число = " << SecondValue << endl;
}


Лабараторная № 12
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <fstream>
#include <conio.h>
 
using namespace std;
 
//=============================================================//
/* Прототипы функций */
//===================//
 
void Write_In_Array(double temperature[] , ifstream& in_file);
/* Write_In_Array                    заполняет массив значениями температуры   */
void Search_Min_temperature(double &Min_Temperature , double temperature[]);
/* Search_Min_temperature            находит минимальное значение температуры  */
void Search_Max_temperature(double &Max_Temperature , double temperature[]);
/* Search_Max_temperature            находит максимальное значение температуры */
void Search_Average_temperature(double &Average_Temperature , double temperature[]);
/* Search_Average_temperature        находит среднее значение температуы       */
void Write_Result(ofstream &out_file , double Min_Temperature , double Average_Temperature , double Max_Temperature);
/* Write_Result                      печатает результат в out_file.txt         */
 
int main()
{
    setlocale(0, "Russian");
    double temperature[31]         , /*   Массив для хранения температур   */
           Min_Temperature     = 0 , /*   Минимальная температура          */
           Max_Temperature     = 0 , /*   Максимальная температура         */
           Average_Temperature = 0 ; /*   Средняя температура              */
 
    ifstream in_file("in_file.dat")   ; /* Здесь хранится температура*/
    ofstream out_file("out_file.dat") ; /* В этот файл будут записаны результаты*/
 
    Write_In_Array(temperature , in_file);
    Search_Min_temperature(Min_Temperature , temperature);
    Search_Max_temperature(Max_Temperature , temperature);
    Search_Average_temperature(Average_Temperature , temperature);
    Write_Result(out_file , Min_Temperature , Average_Temperature , Max_Temperature);
 
    cout << endl << endl;
    cout << "Минимальная температура " << Min_Temperature << endl;
    cout << "Максимальная температура " << Max_Temperature << endl;
    cout << "Средняя температура " << Average_Temperature << endl;
}
 
//=============================================================//
/* Реализация функций */
//====================//
 
void Write_In_Array(double temperature[] , ifstream &in_file)
{
    int day = 1;
    cout << " \t day \t\t\t\t temperature " << endl << endl;
 
    for(int i = 0 ; i <= 30 ; i++)
    {
        in_file >> temperature[i];
        cout << "\t " << day++ << "\t\t\t\t " << temperature[i] << endl;
    }
}
 
void Search_Min_temperature(double &Min_Temperature , double temperature[])
{
    Min_Temperature = temperature[0];
    for(int i = 0 ; i <= 30 ; i++)
    {
        if(Min_Temperature >= temperature[i])
            Min_Temperature = temperature[i];
    }
    cout << " Минимальная температура " << Min_Temperature << endl;
}
 
void Search_Max_temperature(double &Max_Temperature , double temperature[])
{
    Max_Temperature = temperature[0];
    for(int i = 0 ; i <= 30 ; i++)
    {
        if(Max_Temperature <= temperature[i])
            Max_Temperature = temperature[i];
    }
    cout << " Максимальная температура " << Max_Temperature << endl;
}
 
void Search_Average_temperature(double &Average_Temperature , double temperature[])
{
    for(int i = 0 ; i <= 30 ; i++)
        Average_Temperature = Average_Temperature + temperature[i];
    Average_Temperature = Average_Temperature / 31;
    cout << " Средняя температура " << Average_Temperature << endl;
}
 
void Write_Result(ofstream &out_file , double Min_Temperature , double Average_Temperature , double Max_Temperature)
{
    out_file << " Минимальная температура  = " << Min_Temperature << endl;
    out_file << " Средняя температура      = " << Average_Temperature << endl;
    out_file << " Максимальная температура = " << Max_Temperature << endl; 
    _getch();
}


Лабараторная № 13
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/*  Описать структуру для представления даты в числовом виде. 
 *  Найти возраст студента на момент введенной даты
 */
 
#include <iostream>
#include <conio.h>
 
using namespace std;
 
struct Date
{
    int Day;
    int Month;
    int Year;
};
 
void input_date(Date &object);
void Search_Age_Student(Date &Age_Student , Date Student_Birthday ,Date Write_date);
 
void main()
{
    setlocale(0, "Russian");
 
    Date Student_Birthday = {26,10,1995};
    Date Write_date;
    Date Age_Student;
 
    input_date(Write_date);
    Search_Age_Student(Age_Student , Student_Birthday , Write_date);
 
    _getch();
}
 
void input_date(Date &object)
{    
    bool success_day = false;
    bool success_month = false;
    bool out_cycle = false;
 
    do
    {
    cout << " Введите текущий день "; cin >> object.Day;
    cout << " Введите текущий месяц "; cin >> object.Month;
    cout << " Введите текущий год "; cin >> object.Year;
    cout << endl << endl;
 
    if(object.Day < 1 || object.Day > 31) success_day = false;
    else success_day = true;
    if(object.Month < 1 || object.Month > 12)   success_month = false;
    else success_month = true;
 
    if((success_day == false) || (success_month == false))
    {
        cout << " Введена неккоректная дата ! попробуйте еще раз " << endl;
        system("pause");
        system("cls");
    }
 
    if(success_day == true && success_month == true) 
    {
        out_cycle = true;
        cout << " Дата введена правильно ! (success) " << endl;
    }
 
    }while(out_cycle == false);
}
 
void Search_Age_Student(Date &Age_Student , Date Student_Birthday , Date Write_date)
{
    Age_Student.Year = Write_date.Year - Student_Birthday.Year;
    
    if(Student_Birthday.Day == Write_date.Day && Student_Birthday.Month == Write_date.Month)
        cout << endl << " Happy Birthday ! " << endl << endl;
 
//==========//
// Месяца   //
//==========//
 
    if(Write_date.Month - Student_Birthday.Month <= -1)
    {
        Age_Student.Year = Age_Student.Year - 1;
        Age_Student.Month = (Write_date.Month - Student_Birthday.Month) + 12; 
    }
    else
    {
        Age_Student.Month = Write_date.Month - Student_Birthday.Month;
    }
 
//==========//
//   Дни    //
//==========//
 
    if(Write_date.Day - Student_Birthday.Day <= -1)
    {
        Age_Student.Month = Age_Student.Month - 1;
        Age_Student.Day = (Write_date.Day - Student_Birthday.Day) + 31;
    }
    else
    {
        Age_Student.Day = Write_date.Day - Student_Birthday.Day;
    }
 
    if( Write_date.Year < Student_Birthday.Year)
    {
        cout << "Студент еще не родился " << endl;
    }
    else
    {
    cout << " Возраст студента : " << endl
         << " Год   : " << Age_Student.Year << endl
         << " Месяц : " << Age_Student.Month << endl
         << " День  : " << Age_Student.Day << endl;
    }


Лабараторная № 14
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>                       
#include <conio.h>
#include <string>
#include <fstream>
using namespace std;
 
class Bank_Account
{
public:
    void set(int dollars , int cents , double rate); /* мутатор */
    void set(int dollars , double rate); /* мутатор */ 
    void update();
    double get_balance(); /* аксессор */
    double get_rate(); 
    void output(ostream& outs);
 
private:
    double balance;
    double insert_rate;
    double fraction(double percent);
    string name;
};
 
void main()
{
    setlocale(0 , "Russian");
    ofstream out_file("Accounts.dat");
 
    Bank_Account Account1 , Account2;
 
    Account1.set(190,50,3.5);
    Account2.set(200,3.6);
 
    Account1.update();
    Account1.update();
    Account2.update();
 
    cout << " Account 1 : " << endl;
    Account1.output(cout);
    cout << " Account 2 : " << endl;
    Account2.output(cout);
 
    Account1.output(out_file);
    Account2.output(out_file);
 
    _getch();
}
 
void Bank_Account::set(int dollars , int cents , double rate)
{
    balance = dollars + (0.01 * cents);
    insert_rate = rate; 
}
 
void Bank_Account::set(int dollars , double rate)
{
    balance = dollars ;
    insert_rate = rate;
}
 
double Bank_Account::get_balance()
{
    return balance;
}
 
double Bank_Account::get_rate()
{
    return insert_rate;
}
 
void Bank_Account::update()
{
    double UpBalance = ((balance * insert_rate) / 100);
    balance = balance + UpBalance;
}
 
void Bank_Account::output(ostream& outs)
{   
    outs << " на момент закрытия вклада " << endl
         << " Деньги : " << balance << endl
         << " Процентная ствка " << insert_rate << endl << endl;
}


Лабараторная № 15
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
#include <iostream>
#include <windows.h>
#include <fstream>
using namespace std;
// Класс для валютного вклада
// на срок - 1 год
class BankAccount
{
public:
   //Конструкторы    
   BankAccount(int new_dollars,int new_cents,double new_rate);    
   BankAccount(int new_dollars,double new_rate);  
   BankAccount();
   //Дружественные функции
   friend bool equal_balance(BankAccount object1, BankAccount object2);
   friend bool equal_rate(BankAccount object1, BankAccount object2);
   friend BankAccount operator + (BankAccount object1, BankAccount object2);  
   //Сравнение на больше
   friend bool bigest_balance(BankAccount object1 , BankAccount object2);
   friend bool bigest_rate(BankAccount object1 , BankAccount object2);
   //Конечная функция на равно и больше
   friend void comparison(BankAccount object1 , BankAccount object2, BankAccount object3);
   
   
   
   
   // Метод sеt перегружен.
   void set(int dollars,double cents, double rate);
   // Постусловие: баланс счета установлен равным $dоllаrs.cеnts;
   // процентная ставка задана равной значению аргумента rаtе.
   
   
   
   int dollars;
   int cents;
   double rate;
   
   void set(int dollars, double rate);
   // Постусловие: баланс счета установлен равным $dоllаrs.00;
   // процентная ставка установлена равной значению аргумента rаtе. 
   void update();
   // Постусловие: к балансу счета прибавлены процентные
   // начисления за один год.
   double get_balance();
   // Возвращает текущий баланс счета.
   double get_rate();
   // Возвращает текущую процентную ставку.
   void output(ostream& outs);
   // Предусловие: если оuts - выходной файловый поток.
   // он уже соединен с файлом.
   // Постусловие: значения баланса счета и процентной ставки
   // записаны в поток оuts.
private:
   string name;
   double balance;//баланс на счете
   double interest_rate;//процентная ставка
   double fraction(double persent);
   // Преобразует проценты в дробь. Например,
   // функция frаctiоn(50.3) возвращает значение 0.503.
};
 
int main()
{   int dollar;
    double rat,cent;
    ofstream out_stream;
    
    system("chcp 1251>text");
    BankAccount account1(190,50,3.5),account2(200,3.6);
    BankAccount account3(0,0,0);
    account3 = account1 + account2;
    account3.output(cout);
   
    account1.update();
    account1.update();
    account2.update();
    
    comparison(account1,account2,account3);
    
        
        
    system("pause");
    return 0;
}
 
BankAccount::BankAccount(int new_dollars,int new_cents,double new_rate)
{
  balance=new_dollars+(0.01*new_cents);
  interest_rate=new_rate;
}
 
BankAccount::BankAccount(int new_dollars,double new_rate)
{
  balance=new_dollars;
  interest_rate=new_rate;
}
 
BankAccount::BankAccount()
{
  balance=0.00;
  interest_rate=0.01;
}
 
bool equal_balance(BankAccount object1, BankAccount object2)
{
  return(object1.balance==object2.balance);
}
 
 
bool equal_rate(BankAccount object1, BankAccount object2)
{
  return(object1.interest_rate==object2.interest_rate);
}
BankAccount operator + (BankAccount object1, BankAccount object2)
{
  BankAccount new_account;
  new_account.balance=object1.balance + object2.balance;
  new_account.interest_rate = 0.01;
  return(new_account);
} 
//Сравнение на больший баланс
bool bigest_balance(BankAccount object1 , BankAccount object2)
{
    return(object1.balance > object2.balance);
}
//Сравнение на больший процент
bool bigest_rate(BankAccount object1 , BankAccount object2)
{
    return(object1.interest_rate > object2.interest_rate);
}
 
 
//Конечная функция на равно и больше
void comparison(BankAccount object1 , BankAccount object2, BankAccount object3)
{
  //Сравнение на равно
    if(equal_balance(object1,object2) && equal_balance(object1,object3))
      { cout.width(100);
        cout.fill('-');
        cout<<"\nВсе вклады равны\n";
        object1.output(cout);
      }
    else 
      if(equal_balance(object1,object2))
      { cout.width(100);
        cout.fill('-');
        cout<<"\nПервый и второй вклады равны "<<endl;
        object1.output(cout);
      }
      else
        if(equal_balance(object1,object3))
        { cout.width(100);
          cout.fill('-');
          cout<<"\nПервый и третий вклады равны "<<endl;
          object1.output(cout);
        }
        else 
          if(equal_balance(object2,object3))
            { cout.width(100);
              cout.fill('-');
              cout<<"\nВторой и третий вклады равны "<<endl;
              object2.output(cout);
            }
    //Сравнение на больше баланс
 
    if(bigest_balance(object1,object2) && bigest_balance(object1,object3))
    { cout.width(100);
      cout.fill('-');
      cout<<"\nБаланс первого вклада больше всех "<<endl;
      object1.output(cout);
    } 
    else
      if(bigest_balance(object2,object1) && bigest_balance(object2,object3))   
      { cout.width(100);
        cout.fill('-');
        cout<<"\nБаланс второго вклада больше всех "<<endl;
        object2.output(cout);
      }  
      else
         if(bigest_balance(object3,object1) && bigest_balance(object3,object2))   
         { cout.width(100);
           cout.fill('-');
           cout<<"\nБаланс третьего вклада больше всех "<<endl;
           object3.output(cout);
         }   
     //Сравнение на больше процентная ставка
     if(bigest_rate(object1,object2) && bigest_rate(object1,object3))
    { cout.width(100);
      cout.fill('-');
      cout<<"\nУ первого вклада процентная ставка больше всех "<<endl;
      object1.output(cout);
    } 
    else
      if(bigest_rate(object2,object1) && bigest_rate(object2,object3))   
      { cout.width(100);
        cout.fill('-');
        cout<<"\nУ второго вклада процентная ставка больше всех "<<endl;
        object2.output(cout);
      }  
      else
         if(bigest_rate(object3,object1) && bigest_rate(object3,object2))   
         { cout.width(100);
           cout.fill('-');
           cout<<"\nУ третьего вклада процентная ставка больше всех "<<endl;
           object3.output(cout);
         }      
}
 
//////////////////
 
double BankAccount::get_balance()
{
  return balance;
}
 
double BankAccount::get_rate()
{
  return interest_rate;
}
 
void BankAccount::update()
{
  double year_balance=0;
  
  year_balance=((balance*interest_rate)/100);
  balance=balance+year_balance;
}
 
void BankAccount::output(ostream& outs)
{ 
  outs<<"На момент закрытия вклада, на нем было "<<balance<<" долларов, "
      <<"\nпри процентной ставке "<<interest_rate<<" процентов\n"<<endl; 
}


Заранее спасибо тем кто поможет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru