Форум программистов, компьютерный форум, киберфорум
Наши страницы

из 4 функций сделать одну - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужно объединить две програмы в одну http://www.cyberforum.ru/cpp-beginners/thread715495.html
ребят помогите объеденить эти две программы в одну...чтоб получилось толковая прогрмамма!#include <iostream> #include <Windows.h> #include <string> class Translator { private: struct...
C++ Прочитать txt и записать в другой txt файл Вот у меня например текстовый файл(Это 1 задание, осилил как-то), туда записан список студентов., мне нужно его прочитать (уже 2 задание)и записать в другой текстовый файл тот же список но уже с... http://www.cyberforum.ru/cpp-beginners/thread715492.html
Количество знаков табуляции C++
Здравствуйте. У меня такой вопрос. Можно ли как-то регулировать количество знаков табуляции \t в зависимости от счетчика? к примеру при i = 1 будет одна табуляция, а при i = 5 пять
C++ используя операторы описания и присваивания присвоить переменным
используя операторы описания и присваивания присвоить переменным определенных типов значения! целым-1, 12.9, 3 действительным-1.12,2.34,4.565 вывести на экран в виде целые затем следуют значения...
C++ Возникла ошибка при использовании Enum http://www.cyberforum.ru/cpp-beginners/thread715439.html
Вечер добрый. Реализую класс с датой и временем. И возникла проблема с месяцами. Решил создать отдельный тип для месяца: enum...
C++ Почему программа компилируется но не работает? Заявки (телевизоры) поступают на проверку к 3 пунктам контроля . Если все контроллеры заняты , заявки встают в очередь . Если заявка пребывает в очереди больше 35 минут , она не обслуживается. ... подробнее

Показать сообщение отдельно
dmmax
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 81
01.12.2012, 20:28  [ТС]
Кликните здесь для просмотра всего текста
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
#include "module.h"
#include <conio.h>
 
char printMenu(int n){
    switch(n)
        {
        case 0:
            cout << "\n1. Показ массива на экран." << endl;
            cout << "2. Сортировка." << endl;
            cout << "3. Показ вверху списка рекомендованные книги." << endl;
            cout << "0. Выход." << endl;
            break;
        case 1:
            cout << "\n1. Показ таблицы полностью." << endl;
            cout << "2. Показ таблиц, только k строк." << endl;
            cout << "3. Ручное заполнение работы." << endl;
            cout << "0. Выход в главное меню." << endl;
            break;
        case 2:
            cout << "1. По количеству страниц." << endl;
            cout << "2. По Автору." << endl;
            cout << "3. По названию." << endl;
            cout << "4. По цене." << endl;
            cout << "0. Выход в главное меню." << endl;
            break;
        case 4:
            break;
        }
    char fmenu = getch();
    return fmenu;
}
= printmenu
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "module.h"
void printText(Books* mas, int& size){
    if(mas != NULL){
        system("cls");
        cout <<"№:--Страниц:-------Автор------------Проиизведение----Цена---Рекомендация\n";
 
        for(int i = 0;i < size; ++i){
           printf("%02d.|%-15d|%-15s|%-16s|%4d| %s\n",i + 1, mas[i].tnop, mas[i].writers, mas[i].product, mas[i].price,
               mas[i].check ? "Да" : "Нет");
        cout << "-----------------------------------------------------------------------\n";
        }
    }
}
= printtext
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "module.h"
 
void sortCheck(Books* mas, int& size){
    bool flag;
    do{
        flag = false;
        for(int i = 0; i < size - 1; ++i)
            if(mas[i].check < mas[i + 1].check){
                Books tmp;
                tmp = mas[i];
                mas[i] = mas[i + 1];
                mas[i + 1] = tmp;
                flag = true;
            }
    }while(flag);
}
= sortCheck

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "module.h"
void sortPrice(Books* mas, int& size){
    bool flag;
    do{
        flag = false;
        for(int i = 0; i < size - 1; ++i)
            if(mas[i].price < mas[i + 1].price){
                Books tmp;
                tmp = mas[i];
                mas[i] = mas[i+1];
                mas[i+1] = tmp;
                flag = true;
            }
    }while(flag);
}
= sortPrice

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "module.h"
#include <string.h>
void sortProduct(Books* mas, int& size){
    bool flag;
    do{
        flag = false;
        for(int i = 0; i < size - 1; ++i)
            if((strcmp(mas[i].product, mas[i+1].product)) == 1){
                Books tmp;
                tmp = mas[i];
                mas[i] = mas[i+1];
                mas[i+1] = tmp;
                flag = true;
            }
    }while(flag);
}
= sortProduct

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "module.h"
void sortTNOP(Books* mas, int& size){
    bool flag;
    do{
        flag = false;
        for(int i = 0;i < size - 1; ++i)
            if(mas[i].tnop < mas[i+1].tnop){
                Books tmp;
                tmp = mas[i];
                mas[i] = mas[i+1];
                mas[i + 1] = tmp;
                flag = true;
            }
    }while(flag);
}
= sortTNOP

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "module.h"
#include <string.h>
 
void sortWriters(Books* mas, int& size){
    bool flag;
    do{
        flag = false;
        for(int i = 0;i < size - 1; ++i)
            if((strcmp(mas[i].writers, mas[i+1].writers)) == 1){
                Books tmp;
                tmp = mas[i];
                mas[i] = mas[i + 1];
                mas[i + 1] = tmp;
                flag = true;
            }
    }while(flag);
}
= sortWriters

Кликните здесь для просмотра всего текста
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
/*Книги: автор, наименование, количество страниц, цена. Дополнить вывод рекомендацией 
книг, которые можно прочитать за один вечер (количество страниц меньше 100).*/
#include "module.h"
#include <conio.h>
#include <windows.h>
 
#define CRTDBG_MEM_ALLOC
#include <crtdbg.h>
 
 
int main()
{
    _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int size = 0;
    char menu;
    Books* mas = NULL;
    do{
        menu = printMenu(0);
        switch(menu){
            case '1': // Показ массива на экран
                {
                    system("cls");
                    char submenu;
                    do{
                        submenu = printMenu(1);
                        switch(submenu){
                            system("cls");
                            case '1':  // Показ таблицы полностью
                                textFileAll(mas, size);
                                printText(mas, size);
                                break;
                            case '2':  // Показ таблицы, только k строк
                                textFile(mas, size);
                                printText(mas, size);
                                break;
                            case '3':  // Ручное заполнение таблицы.
                                textByHund(mas, size);
                                printText(mas, size);
                                break;
 
                            case '0':   //Выход в главное меню
                                system("cls");
                                break;
                            default:
                                {
                                    system("cls");
                                    cout << "\n Вы ввели неверный пункт меню!" << endl;
                                }
                        }
                    }while(submenu != '0');
                }
                break;
            case '2': //Сортировка
                {
                   system("cls");
                   char submenu;
                   do{
                       submenu = printMenu(2);
                       switch(submenu){
                            case '1':      // sortTNOP
                                sortTNOP(mas, size);
                                printText(mas, size);
                                break;
                            case '2':     // sortWriters
                                sortWriters(mas, size);
                                printText(mas, size);
                                break;
                            case '3':     // sortProduct
                                sortProduct(mas, size);
                                printText(mas, size);
                                break;
                            case '4':     // sortPriece
                                sortPrice(mas, size);
                                printText(mas, size);
                                break;
                            case '0':     //exit
                                system("cls");
                                break;
                            default:
                                {
                                    system("cls");
                                    cout << "\nВы ввели неверный пункт меню!" << endl;
                                }
                       }
 
                   }while(submenu != '0');
                }
                break;
            case '3':  //Показ рекомендованных книг.
                {
                    system("cls");
                    sortCheck(mas, size);
                    printText(mas, size);
                }
                break;
            case '0':
                break;
            default:
                {
                    system("cls");
                    cout << "Вы ввели неверный пункт меню!" << endl;
                }
        }
 
    }while(menu != '0');
 
    if(mas != 0){
        delete [] mas;
    }
    return 0;
}
= struct.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 "module.h"
#include <conio.h>
void textByHund(Books*& mas, int& size){
    system("cls");
 
    int number;
    do{
        cout << "\nСколько книг будем задавать?" << endl;
        cout << "Число книг: " ;
        cin >> number;
 
        if(number <= 0)
            cout << "Число, задаваемых книг, должно быть > 0!" << endl;
    }while(number <= 0);
 
    mas = new Books[size + number];
    for(int i = 0; i < size; ++i)
        mas[i] = mas[i];
 
    for(int i = size; i < size + number; ++i){
        system("cls");
        cout << endl;
 
        cout << "Введите кол-во строк в книге: ";
        cin >> mas[i].tnop;
 
        cout << "Введите автора книги: ";
        cin >> mas[i].writers;
 
        cout << "Введите название книги: ";
        cin >> mas[i].product;
 
        cout << "Введите цену книги: ";
        cin >> mas[i].price;
 
        mas[i].check = false;
    }
    system ("clr");
 
    for(int i = size;i < size + number; ++i){
       if(mas[i].tnop < 100)
           mas[i].check = true;
       else if (mas[i].tnop > 100)
           mas[i].check = false;
    }
}
= textByHand
Кликните здесь для просмотра всего текста
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
#include "module.h"
 
void textFile(Books*& mas, int& size){
    system("cls");
 
    FILE* in;
 
    if(mas != NULL)
        delete [] mas;
 
    do{
        cout << "\n Введите количество рабочих: ";
        cin >> size;
 
        if(size <= 0)             
            cout << "Количество рабочих не может быть <= 0!" << endl;
    }while(size <= 0);
 
    system("cls");
 
    if((in = fopen("BookBase.txt", "r")) != NULL){
        mas = new Books[size];
        int i = 0;
        while(i < size){
            fscanf(in, "%d %s %s %d ", &mas[i].tnop, &mas[i].writers, &mas[i].product, &mas[i].price);
            ++i;
        }
    for(int i = 0;i < size; ++i){
       if(mas[i].tnop < 100)
           mas[i].check = true;
       else if (mas[i].tnop > 100)
           mas[i].check = false;
    }
    fclose(in);
    }
    else
        cout << "Файла с базой в папке нету!" << endl;
}
= textFile
Кликните здесь для просмотра всего текста
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
#include "module.h"
 
void textFileAll(Books*& mas, int& size){ 
    system("cls");
 
    FILE* in;
 
    if(mas != NULL)
        {
 
        delete [] mas;
        mas = NULL;
        }
 
    if((in = fopen("BookBase.txt", "r")) != NULL){
        size = 0;
       
        int i = 0;
        while(!feof(in)){
            Books b;
            fscanf(in, "%d %s %s %d", &b.tnop, &b.writers, &b.product, &b.price);
 
            b.check = false;
            if (b.tnop <= 100) 
                b.check = true; 
            
            if(feof(in))
            {
                break;
            }
 
            Books* tmp = new Books[size + 1];
            for(int j = 0;j < size; ++ j)
                tmp[j] = mas[j];
                    
            if (mas != NULL)
                delete [] mas;
            mas = tmp;
            mas[size] = b;
            ++size;
            ++i;
        }
 
        fclose(in);
    }
    else
        cout << "Файла с базой в папке нету!" << endl;
}
= textFileAll
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
struct Books{
    int tnop; // the number of pages - кол-во строк
    char writers[15]; // писатели
    char product[15]; // произведение
    int price;             //цена
    bool check;                  //проверка
};
char printMenu(int n);
void setStaff(Books*& mas, int& size);
void printText(Books* mas, int& size);
void textFile(Books*& mas, int& size);
void textFileAll(Books*& mas, int& size);
void textByHund(Books*& mas, int& size);
void sortTNOP(Books* mas, int& size);
void sortWriters(Books* mas, int& size);
void sortProduct(Books* mas, int& size);
void sortPrice(Books* mas, int& size);
void sortCheck(Books* mas, int& size);


BookBase.txt:

Кликните здесь для просмотра всего текста
267 Коэльо Алхимик 786
1222 Страуструп Программирование 2500
56 Петров Зима 101
34 Твардовский Тёркин 387
23 Пушкин Выстрел 888
116 Лермонтов Демон 546
312 Толстой Воскресенье 777
99 Есенин Пугачёв 345
567 Гёте Фауст 999


Добавлено через 6 минут
Просто я ваш код не понял с кейсами...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru