Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
assgaard
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 31
#1

Доработка программы с++ - C++

02.04.2015, 21:14. Просмотров 326. Ответов 1
Метки нет (Все метки)

Доброй ночи! обращаюсь к вам еще раз. Указания к программе: Вместо линейного связного списка использовать динамический массив записей (структур). В программе реализовать (в виде отдельных функций) следующие операции над данными: чтение данных из файла, сохранение данных из файла, добавление новой записи к списку данных, изменение записи с заданным номером, поиск записей, удовлетворяющих заданному условию. Сама задача: Некоторое обслуживающее предприятие хранит сведения о заказах: наименование заказа и даты(часы,минуты,секунды) его поступления. Вывести заказы, которые произошли с 15:20:35 до 18:50:10

То что я смог написать:
C++ (Qt)
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
#include <conio.h>
#include <iostream>
#include <fstream>
#include <vector>
 
using namespace std;
 
struct Zakaz
{
    char *name;
    char *time;
};
void Init()
{
    char FileName[32];
    cout << " Enter file name: ";
    cin >> FileName;
 
    int N;
    cout << " Vvedite kol-vo zakazov: ";
    cin >> N;
 
    Zakaz *a = new Zakaz[N];
    ofstream fout;
 
    fout.open(FileName, ios::out);
    if(!fout)
    {
        cout << " Error!!!" << endl;
    }
    for(int i = 0; i < N; i++)
    {
        cout << i + 1 << ":\n";
        cout << " Vvedite imya zakaza: ";
        a[i].name = new char[20];
        cin.get();
        cin.getline(a[i].name, 20);
        cout << " Vvedite vremya zakaza: ";
        a[i].time = new char[20];
        cin.getline(a[i].time, 20);
        cout << endl;
        fout <<a[i].name << " - " << a[i].time << endl;
        system("cls");
    }
    fout.close();
    delete [] a;
}
void ShowZakaz()
{
    char FileName[32];
    cout << " Enter file name: ";
    cin >> FileName;
 
    ifstream fin;
    fin.open(FileName, ios::out);
    char str;
    vector<string> B;
    while(fin.good())
    {
        getline(fin, str);
        B.push_back(str);
    }
    system("cls");
    for(size_t i = 0; i < B.size(); i++)
    {
        cout << i +1 << " - " << B[i] << endl;
    }
    fin.close();
}
 
void menu()
{
    cout << "1. Creat\n";
    cout << "2. Show\n";
    cout << "3. Exit\n";
}
int main()
{
    char c;
 
    do
    {
        menu();
        cin >> c;
        switch(c)
        {
        case '1' : system("cls"); Init();break;
        case '2' : system("cls"); ShowZakaz();break;
        case '3' : break;
        }
    }while(c != 3);
 
    _getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2015, 21:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Доработка программы с++ (C++):

Доработка программы
Я написал программу, но она никак не хочет работать. Суть такая. Дана...

Доработка программы на С++
Я не могу сообразить, пожалуйстааа помогите(( Есть программа &quot;система учета...

Доработка программы с++
Добрый день уважаемые форумчане! я новорег, поэтому прошу не судить строго....

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

Требуется доработка программы.
Программа упорядочивает матрицу по возрастанию одинаковых эл-в в строке. ...

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

1
assgaard
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 31
05.04.2015, 18:56  [ТС] #2
Сам сделал, может пригодится кому, конечно там много недороботок:
C++ (Qt)
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
#include <stdio.h>
#include <io.h>
#include <stdlib.h>
#include <iostream>
 
using namespace std;
 
struct Time
{
    int Hour;
    int Minuts;
    int Second;
};
 
struct Zakaz
{
    char Name[20];
    Time time;
};
void vvod_zakaz()
{
    int N;
    cout << " Enter the number of orders: ";
    cin >> N;
    Zakaz z[N];
    FILE *fp;
    if((fp=fopen("out.txt", "w")) == NULL)
        printf("Error open file!\n");
    for(int i = 0; i < N; i++)
    {
        printf(" Enter name: ");
        fscanf(stdin, "%s", z[i].Name);
        printf(" Enter time (hh:mm:ss): ");
        scanf("%d%*c%d%*c%d:", &z[i].time.Hour, &z[i].time.Minuts, &z[i].time.Second);
        fprintf(fp, "%s %02d:%02d:%02d\n", z[i].Name, z[i].time.Hour, z[i].time.Minuts, z[i].time.Second);
    }
    delete []z;
    fclose(fp);
    return;
}
void menu2()
{
    cout << "1. Out.txt\n";
    cout << "2. Produkts.txt\n";
    cout << "3. Exit\n";
}
void print_zakaz()
{
    FILE *fp;
    FILE *fp2;
    char c;
    do
    {
        menu2();
        cin >> c;
        switch(c)
        {
        case '1':
            Zakaz a[2];
            system("cls");
            if((fp=fopen("out.txt","r")) == NULL)
                printf(" Error open file!\n");
 
            for(int i = 0;i <2; i++)
            {
                fscanf(fp, "%s %d:%d%:%d", &a[i].Name, &a[i].time.Hour, &a[i].time.Minuts, &a[i].time.Second); // чтение из файла
                fprintf(stdout, "%s %02d:%02d:%02d\n", a[i].Name, a[i].time.Hour, a[i].time.Minuts, a[i].time.Second); // вывод на экран
            }
            fclose(fp);
            delete []a;
            break;
        case '2':
            Zakaz b[25];
            system("cls");
            if((fp2=fopen("produkts.txt","r")) == NULL)
                printf(" Error open file!\n");
            cout << " \t\tAll orders:\n";
            for(int i = 0; i < 25; i++)
            {
                fscanf(fp2, "%s %d:%d:%d", &b[i].Name, &b[i].time.Hour, &b[i].time.Minuts, &b[i].time.Second); // чтение из файла
                fprintf(stdout, "%s %02d:%02d:%02d\n", b[i].Name, b[i].time.Hour, b[i].time.Minuts, b[i].time.Second); // вывод на экран
            }
            cout << "--------------------------------------------------------------\n";
            cout << " \t\tAll orders in (15:20:35 - 18:50:10):\n";
            for(int i = 0; i < 25; i++)
            {
                unsigned long time[25];
                time[i] = b[i].time.Hour*3600+b[i].time.Minuts*60+b[i].time.Second;
                unsigned long time1 =15 * 3600 + 20 * 60 + 35;
                unsigned long time2 =18 * 3600 + 50 * 60 + 10;
                if(time[i] > time1 && time[i] < time2)
                {
                    fprintf(stdout, "%s %02d:%02d:%02d\n", b[i].Name, b[i].time.Hour, b[i].time.Minuts, b[i].time.Second); // вывод на экран
                }
            }
 
            fclose(fp2);
            delete []b;
            break;
 
        case '3': break;
        }
    }while(c != '3');
    return;
}
 
void menu()
{
    cout << "1. Creat\n";
    cout << "2. Show\n";
    cout << "3. Exit\n";
}
int main()
{
    char c;
 
    do
    {
        menu();
        cin >> c;
        switch(c)
        {
        case '1' : system("cls"); vvod_zakaz();break;
        case '2' : system("cls"); print_zakaz();break;
        case '3' : break;
        }
    }while(c != '3');
 
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2015, 18:56
Привет! Вот еще темы с решениями:

Доработка программы: вставка switch
Помогите доработать программу вставив в неё switch #include &lt;iostream&gt;...

Доработка программы для работы с классами
прикрепил проект, помогите плз доработать программу, там пару ошибок связанные...

Доработка программы, включающей в себя базу данных
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; #define...

Доработка программы (Подсчет количества слов в строке)
Нужно подсчитать количество слов в строке s разделенных пробелами, или запятой....


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

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

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