Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 07.05.2017
Сообщений: 3
1

Модульное программирование. Не получается разбить на модули

07.05.2017, 22:26. Показов 1525. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!

Скажу сразу, знание в программирование ниже среднего, но для выполнения выданного задания я кое-как программу написал, то что мне необходимо она выполняет. Но в связи с тем, что код программы получается слишком длинным (большая структура), решил разбить его на несколько файлов, но не получается, может поможет кто?

Код программы:
Кликните здесь для просмотра всего текста
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
#include <iostream>
 
int MaxPloshad;
 
using namespace std;
 
//Введение структуры со странами мира
    struct World
    {                  
    char StoronaSveta[100];
    char Strana[100];
    int Ploshad;
    float Naselenie;
    };
    
    struct World Europe [4] = {
    {"Европа", "Российская Федерация", 17124442, 142470.3},
    {"Европа", "Украина", 577353, 44291.4},
    {"Европа", "Франция", 547030, 66259.0},
    {"Европа", "Испания", 504782, 47737.9},
    };
    
    struct World Asia [2] = {
    {"Азия", "Китай", 9596960, 1355692.6},
    {"Азия", "Индия", 3287590, 1236344.6},
    };
    
    struct World Africa [2] = {
    {"Африка", "Алжир", 2381740, 13556},
    {"Африка", "Ливия", 1759540, 12363},
    };
    
    struct World North_America [2] = {
    {"Северная Америка", "Канада", 9976140, 34834.8},
    {"Северная Америка", "США", 9363100, 318892.1},
    };
    
    struct World South_America [2] = {
    {"Южная Америка", "Бразилия", 8511970, 202656.8},
    {"Южная Америка", "Аргентина", 2766890, 43024.4},
    };
    
    struct World Australia [2] = {
    {"Австралия и Океания", "Австралия", 7686850, 22507.6},
    {"Австралияи Океания", "Папуа - Новая Гвинея", 462840, 6552.7},
    };
    
    void show_struct(struct World Str[], int size); 
 
//Главная программа    
int main()
{
    setlocale (LC_ALL, "rus");
    
    char Selection_StornaSveta;
    
    //Меню
    do {
        cout << "Выберете сторону света: \n1 - Европа\n2 - Азия\n3 - Африка\n4 - Северная Америка\n5 - Южная Америка\n6 - Австралия и Океания\n7 - Завершить программу\n" <<endl;
        cin >> Selection_StornaSveta;
        switch (Selection_StornaSveta){
            case '1':
                cout << "\nВведите площадь\n" <<endl;
                cin >> MaxPloshad;
                cout << "\n#############################\n" <<endl;
                show_struct(Europe, 4);
            break;
            case '2':
                cout << "\nВведите площадь\n" <<endl;
                cin >> MaxPloshad;
                cout << "\n#############################\n" <<endl;
                show_struct(Asia, 2);
            break;
            case '3':
                cout << "\nВведите площадь\n" <<endl;
                cin >> MaxPloshad;
                cout << "\n#############################\n" <<endl;
                show_struct(Africa, 2);
            break;
            case '4':
                cout << "\nВведите площадь\n" <<endl;
                cin >> MaxPloshad;
                cout << "\n#############################\n" <<endl; 
                show_struct(North_America, 2);
            break;
            case '5':
                cout << "\nВведите площадь\n" <<endl;
                cin >> MaxPloshad;
                cout << "\n#############################\n" <<endl; 
                show_struct(South_America, 2);
            break;
            case '6':
                cout << "\nВведите площадь\n" <<endl;
                cin >> MaxPloshad;
                cout << "\n#############################\n" <<endl;
                show_struct(Australia, 2);
            break;
            case '7':
                exit(0);
            break;
            default:
                    cout<<"\nНеправильный выбор\n";
                    break;
        }
        
    } while (Selection_StornaSveta != '7');
}
 
//Функция вывода стран
//выводятся страны с площадью меньше заданной пользователем
void show_struct(struct World Str[], int size) 
{
    for (int i = 0; i < size; i++)  {
        if (Str[i].Ploshad <= MaxPloshad){
    cout << "Сторона света: " << Str[i].StoronaSveta << endl;
    cout << "Название страны: " << Str[i].Strana << endl;
    cout << "Площадь территории: " << Str[i].Ploshad << " км2" << endl;
    cout << "Плотность населения: " << Str[i].Naselenie << " тыс.чел" << "\n\n";
        }
    }
}


Вся проблема в структуре, т.к. там у меня содержится информация обо всех странах мира (тут сокращенная версия кода), вот, и структуру бы вынести в отдельный файл.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2017, 22:26
Ответы с готовыми решениями:

Выполнить программирование: модульное, без модульное
Буду премного благодарен если поможете с этими задачами.

Модульное программирование
Задание: Составить библиотеку алгоритмов для обработки произвольных числовых матриц (тип REAL): -...

модульное программирование
Народ я тут прилягу написал по своей лабе но у меня проблема она не запускаеться вот кидает эти...

Модульное программирование
Составить модуль, реализующий различные алгоритмы печати матрицы: а) по строкам в виде...

2
142 / 143 / 64
Регистрация: 11.11.2010
Сообщений: 876
Записей в блоге: 10
08.05.2017, 01:32 2

Не по теме:

Такой код легче убить.



myworld.h
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct World
{
    ...
};
 
void show_struct(World Str[], int size, int MaxPloshad); 
 
extern World Europe [4];
extern World Asia [2];
extern World Africa [2];
extern World North_America [2];
extern World South_America [2];
extern World Australia [2];


myworld.cpp
Кликните здесь для просмотра всего текста
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
#include <iostream>
 
#include "myworld.h"
void show_struct(struct World Str[], int size, int MaxPloshad) 
{
    for (int i = 0; i < size; i++)  {
        if (Str[i].Ploshad <= MaxPloshad){
    std::cout << "Сторона света: " << Str[i].StoronaSveta << std::endl;
    std::cout << "Название страны: " << Str[i].Strana << std::endl;
    std::cout << "Площадь территории: " << Str[i].Ploshad << " км2" << std::endl;
    std::cout << "Плотность населения: " << Str[i].Naselenie << " тыс.чел\n" << std::endl;
        }
    }
}
 
    struct World Europe [4] = {
    {"Европа", "Российская Федерация", 17124442, 142470.3},
    {"Европа", "Украина", 577353, 44291.4},
    {"Европа", "Франция", 547030, 66259.0},
    {"Европа", "Испания", 504782, 47737.9},
    };
    
    struct World Asia [2] = {
    {"Азия", "Китай", 9596960, 1355692.6},
    {"Азия", "Индия", 3287590, 1236344.6},
    };
    
    struct World Africa [2] = {
    {"Африка", "Алжир", 2381740, 13556},
    {"Африка", "Ливия", 1759540, 12363},
    };
    
    struct World North_America [2] = {
    {"Северная Америка", "Канада", 9976140, 34834.8},
    {"Северная Америка", "США", 9363100, 318892.1},
    };
    
    struct World South_America [2] = {
    {"Южная Америка", "Бразилия", 8511970, 202656.8},
    {"Южная Америка", "Аргентина", 2766890, 43024.4},
    };
    
    struct World Australia [2] = {
    {"Австралия и Океания", "Австралия", 7686850, 22507.6},
    {"Австралияи Океания", "Папуа - Новая Гвинея", 462840, 6552.7},
    };


main.cpp
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "myworld.h"
 
int main()
{
    setlocale (LC_ALL, "rus");
    
    char Selection_StornaSveta;
    
    //Меню
    do {
            ...
                show_struct(Europe, 4, /* все вызовы с MaxPloshad в качестве третьего параметра */ );
 
        }
        
    } while (Selection_StornaSveta != '7');
}
1
0 / 0 / 0
Регистрация: 07.05.2017
Сообщений: 3
08.05.2017, 11:12  [ТС] 3
Цитата Сообщение от GoldenId Посмотреть сообщение
Не по теме:
Такой код легче убить.
Ха, знал бы как написать лучше, сделал бы лучше)
А так, большое спасибо)
0
08.05.2017, 11:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2017, 11:12
Помогаю со студенческими работами здесь

Модульное программирование
Есть задача по модульному программированию. Некоторые действия выполняются в case1, case2, case3,...

модульное программирование
Модуль. реализовать набор подпрограмм для работы с векторами: сложение, вычитание, вычисление длины...

Модульное программирование в с++
Привет всем. Проблема такая.. Есть модуль данных. Так вот надо мне использовать эти переменные...

Модульное программирование
Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над матрицами: 1....

Модульное программирование
Вот решение задачи: Program matrix_; uses crt; const n=5; type Tmatr=array of real; ...

Модульное программирование
Привет форумчане! В общем, решил сделать модуль с 3-мя ф-циями: mod.h void...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru