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

Переписать программу с помощью функций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции, обрабатывающие объект класса http://www.cyberforum.ru/cpp-beginners/thread1056592.html
Место ошибки подписано в коде (строка 203) Это программа, работающая с "банкоматом": нужно реализовать 3 варианта класса и соответствующих методов/функций снятия/добавления купюр и редактирования банкомата Ошибка возникает при обработки первой структуры "Сбербанк" в качестве "пользователя": функции правильно снимают/кладут деньги, но при возвращении обратно в цикл while(true) в main все...
C++ Класс динамическая строка и перегрузка операций Форумчане, привет :) Нужна помощь!:help: Не могу найти, точнее их ликвидировать ошибки.. :( Общая постановка. Пользовательский класс String должен содержать необходимые элементы-данные, которые создаются в динамической области памяти. • Конструктор для создания строк: String (…); • Деструктор: ~String(); • Метод ввода исходной строки: Set(); • Метод печати: void print(…); Код... http://www.cyberforum.ru/cpp-beginners/thread1056582.html
Конструктор, деструктор C++
Дорогие друзья, программисты. Помогите пожалуйста разобраться с конструктором и деструктором, а так же перегрузкой. Фотография прилагается ниже.Очень прошу, код с комментариями, потому что действительно очень хочу разобраться. Заранее вам благодарна! Задан класс 1.Написать конструктор копирования. 2.Написать конструктор без параметров. 3.Перегрузить операцию присваивания. 4.Написать ...
C++ Исследовать явлюется ли число дробью
Нужно понять число дробь или нет. Не могу придумать, помогите!
C++ исправьте ошибки. выводит только целые числа http://www.cyberforum.ru/cpp-beginners/thread1056569.html
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. где а, b, с - действительные числа. Функция F должна принимать действительное значение, если выражение НЕ(Ац ИЛИ Вц) И НЕ(Ац ИЛИ Сц) не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна¬чены целые части значений а, b, с, операции НЕ, И и ИЛИ — поразрядные....
C++ Условный оператор Помогите решить задачу: Даны четыре целых числа a, b, c и d. Найти наименьшее из максимумов первой и второй пар чисел. Решить задачу, используя сложные составные логические выражения. Добавлено через 28 минут if ( a>b && c>d) if ( a<c ) k=a; else k=c; if ( a<b && c<d) if ( b<d ) k=b; else k=d; подробнее

Показать сообщение отдельно
retuse
0 / 0 / 0
Регистрация: 20.12.2013
Сообщений: 5
25.12.2013, 19:20     Переписать программу с помощью функций
Ребята, не укладываются в голове функции.
Эту программу нужно изменить так, чтобы программный код, исполняющий действия пунктов меню, выполнялся в отдельных функциях (по одной на каждый пункт меню). Использование глобальных переменных не допускается.
Спасибо всем, кто попытается помочь.
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
#include "stdafx.h"
#include <clocale>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
 
    srand(time(NULL));
 
    int **a = NULL;
    int height = 0;
    int width = 0;
    int menu = 0;
    int done = 0;
 
    printf("Произвольные матрицы.\n");
    printf("Поменять местами максимальный и минимальный элементы в каждом столбце.\n");
    printf("\nВведите размерность матрицы\n");
    printf("\nШирина: ");
    scanf("%d", &width);
    printf("Высота: ");
    scanf("%d", &height);
    printf("\n");
 
    a = new int*[height];
    for (int i = 0; i < height; i = i + 1)
    {
        a[i] = new int[width];
    }
 
    do
    {
        printf("1. Ввести элементы матрицы с клавиатуры\n");
        printf("2. Заполнить элементы матрицы случайными значениями\n");
        printf("3. Обработать матрицу\n");
        printf("4. Вывести обработанную матрицу на экран\n");
        printf("---------------------\n");
        printf("0. Выход\n\n");
        
        scanf("%d", &menu);
 
        switch(menu)
        {
        case 1:
            printf("\n");
            printf("Введите элементы: \n");
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("Элемент %d строки, %d столбца ", i+1, j+1);
                    scanf("%d", &a[i][j]);
                }
            }
            printf("\nВаша матрица:\n");
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("%d ", a[i][j]);
                }
                printf("\n");
            }
            printf("\n");
 
            break;
        case 2:
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    a[i][j] = rand() % 10;
                }
            }
            
            printf("\nМатрица заполнена случайными элементами:\n");
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("%d ", a[i][j]);
                }
                printf("\n");
            }
            printf("\n");
 
            break;
        case 3:
            for (int j = 0; j < width; j = j + 1)
            {
                int max=a[0][j], imax=0, min=a[0][j], imin=0;
                for (int i = 1; i < height; i = i + 1)
                {
                    if (a[i][j]<min)
                    {
                        min=a[i][j];
                        imin=i;
                    }
                    if (a[i][j]>max)
                    {
                        max=a[i][j];
                        imax=i;
                    }
                }
                a[imin][j]=max;
                a[imax][j]=min;
            }
 
            printf("Матрица успешно обработана.\n");
 
            break;
        case 4:
            printf("Обработанная матрица:\n");
 
            for (int i = 0; i < height; i = i + 1)
            {
                for (int j = 0; j < width; j = j + 1)
                {
                    printf("%d ", a[i][j]);
                }
                printf("\n");
            }
            printf("\n");
 
            break;
        case 0:
            break;
        default:
            break;
        }
    } while (menu != 0);
 
 
 
    for (int i = 0; i < height; i = i + 1)
    {
        delete [] a[i];
    }
 
    delete [] a;
 
    getchar();
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru