Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 1
1

Возврат структуры из функции

18.12.2017, 16:34. Показов 705. Ответов 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
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
#include <iostream>
#include <cstdio>
#include <locale>
#include <string>
using namespace std;
 
struct Account
{
    string name;
    unsigned int number;
    double summa;
    unsigned int percent;
} ac;
    int menu();
    void show(Account ac); //вывод данных владельца
    void chown(Account ac); // смена владельца 
    void pull_of(Account ac); // снять сумму 
    void put(Account ac); // положить сумму
    void per(Account ac); //начисление по процентам
    void change(Account ac); //сумма в других валютах
 
int main()
{
    setlocale(LC_CTYPE, "Russian");
    int num;
    cout << "Ввод персональных данных" << endl;
 
    cout << "Введите фамилию: " << endl;
    cin >> ac.name;
    cout << "Введите номер банковского счёта: " << endl;
    cin >> ac.number;
    cout << "Введите сумму: " << endl;
    cin >> ac.summa;
    cout << "Введите проценты: " << endl;
    cin >> ac.percent;
 
    menu();
    cout << "Для показа табло с меню введите 0" << endl;
    do
    {
        cout << endl; 
        cout << "Введите ваш вариант: " << endl;
        cin >> num;
 
        switch (num)
        {
        case 0: menu(); break;
        case 1: show(ac); break;
        case 2: chown(ac); break;
        case 3: pull_of(ac); break;
        case 4: put(ac); break;
        case 5: change(ac); break;
        case 6: per(ac); break;
        case 7: cout << "До свидания " << endl; exit(1); break;
        default: cout << "Некорретный ввод " << endl; break;
        }
        system("pause");
 
    } while (num != 7);
    
    system("cls");
}
 
int menu()
{
    cout << " Меню  " << endl;
    cout << "1 Вывод данных " << endl;
    cout << "2 Смена владельца банковского счёта " << endl;
    cout << "3 Снять сумму" << endl;
    cout << "4 Положить сумму " << endl;
    cout << "5 Перевод суммы в другую валюту" << endl;
    cout << "6 Начисления по процентам" << endl;
    cout << "7 Выход " << endl << endl;
    return 0;
}
 
void show(Account ac)
{
    cout << "Фамилия " << ac.name << endl;
    cout << "Номер банковского счёта " << ac.number << endl;
    cout << "Сумма равна " << ac.summa << endl;
    cout << "Ваши проценты равны " << ac.percent << endl;
}
 
void chown(Account ac)
{
    cout << "Смена владельца счёта " << endl;
    cout << "Введите фамилию нового владельца " << endl;
    cin >> ac.name;
}
 
void pull_of(Account ac)
{
    int s;
    cout << "Вы производите снятие денег " << endl;
    cout << "Введите сумму которую вы хотите снять " << endl;
    cin >> s;
 
    if (s > ac.summa)
        cout << "Недостаточно средств на вашем счету " << endl;
    else
    {
        ac.summa -= s;
        cout << "Остаток равен: " << ac.summa << endl;
    }
}
 
void put(Account ac)
{
    int s;
    cout << "Введите сумму, которую вы хотите внести " << endl;
    cin >> s;
    ac.summa += s;
    cout << "Сумма на вашем счету равна: " << ac.summa << endl;
}
 
void per(Account ac)
{
    cout << "Произошло начисление суммы по процентам " << endl;
    cout << "Процент по вашему вкладу равен " << ac.percent << endl;
    ac.summa = ac.summa + ((ac.summa*ac.percent) / 100);
    cout << "Сумма после начисления процента: " << endl;
    cout << ac.summa << endl;
}
 
void change(Account ac)
{
    int number;
    cout << "В какую валюту хотите перевести " << endl;
    cout << "1) доллар " << endl;
    cout << "2) евро " << endl;
    cout << "Введите ваш вариант " << endl;
    cin >> number;
    if (number == 1)
        cout << "Ваша сумма в долларах равна: " << ac.summa / 60 << endl;
    else if (number == 2)
        cout << "Ваша сумма в евро равна: " << ac.summa / 70 << endl;
    else
        cout << "Некорректный ввод " << endl;
 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2017, 16:34
Ответы с готовыми решениями:

Возврат структуры из функции
Добрый день! Я только начинаю, и сразу стал путаться с массивами и структурами с горем попалам...

Возврат структуры из функции через указатель
Помогите,пожалуйста, немного знаю C++,спрашивала у знакомой - она не знает, а я гуглила и так...

Возврат копии структуры из другого класса
Как можно копию структуры из одного класса передать в другой? (именно чтоб она изначально в private...

Возврат 2 значений из функции с одним вызовом этой же функции
Вообщем где то в какой то игре была хукнута одна функция int function(int arg1,int arg2,int...

1
6 / 6 / 1
Регистрация: 02.06.2014
Сообщений: 110
18.12.2017, 16:59 2
Вы можете использовать ссылки. Во всех функциях, которые должны изменить структуру, замените в определениях и объявлениях "Account ac" на "Account &ac".
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2017, 16:59

Возврат структуры из функции
Всем доброго времени суток. awesome.h struct point { float x = 1; float y = 1; }; struct...

Возврат структуры из функции
Здравствуйте. Допустим, есть следующий код, работающий успешно. typedef struct { int a; int...

Функции: возврат структуры
struct my_info{ //поля } my_struct; //структура struct my_info funct (struct my_info);...

Возврат структуры из процедуры
Помогите решить задачу! Мне надо написать процедуру которая заполняет структуру данными и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.