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

Как реализовать вывод за последний месяц?

30.11.2015, 21:47. Показов 772. Ответов 0
Метки нет (Все метки)

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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
 
FILE *fl;
typedef struct
{
    char naimen[30];
    unsigned char kolvo;
    unsigned char mesiac;
} TCeh;
TCeh ch[30];
char name[20]; // Имя файла
int nst = 0; // Число введенных структур
int Menu(); // Создание меню
void Nnf(); // Ввод имени файла
void Newf(); // Создание нового файла
void Spisok(); // Формирование файла
void Opf(); // Открытие файла
void Resc(); // Вывод результата на экран
void Resf();
int main()
{
    while (true)
    {
        switch (Menu())
        {
        case 1: Nnf(); break;
        case 2: Newf(); break;
        case 3: Spisok(); break;
        case 4: Opf(); break;
        case 5: Resc(); break;
        case 6: Resf(); break;
        case 7: return 0;
        default: puts("Viberite pravilno!");
        }
        puts("Press any key to continue");
        getchar(); // Ожидание нажатия любой клавиши
        system("cls"); // Очистка экрана
    }
}
 
int Menu() // Меню
{
    cout << "VIBERITE:" << endl;
    cout << "1. Vvod imeni faila" << endl;
    cout << "2. Noviy fail" << endl;
    cout << "3. Vvesti spisok" << endl;
    cout << "4. Otcrit fail" << endl;
    cout << "5. Vivesti resultat" << endl;
    cout << "6. Vivesti v fail" << endl;
    cout << "7. Vyhod" << endl;
    int i;
    cin >> i; // Ввод выбранного пункта меню
    return i;
}
void Nnf() // Ввод имени файла
{
    cout << "Vvedite file name" << endl;
    cin >> name;
}
void Newf() // Создание нового файла
{
    if ((fl = fopen(name, "wb")) == NULL)
    {
        cout << "Oshibka pri sozdanii" << endl;
        exit(1);
    }
    cout << "OK" << endl;
    fclose(fl);
}
void Spisok() // Ввод данных в файла
{
    if ((fl = fopen(name, "rb+")) == NULL)
    {
        cout << "Oshibka pri sozdanii" << endl;
        exit(1);
    }
    cout << "Vvedite chislo studentov" << endl;
    cin >> nst;
    for (int i = 0; i<nst; i++)
    {
        cout << "Vvedite naimenovanye produkcii: ";
        cin >> ch[i].naimen;
        cout << "Vvedite kolichestvo produkcii: ";
        cin >> ch[i].kolvo;
        cout << "Vvedite nomer mesyaca vypuska: ";
        cin >> ch[i].mesiac;
        fwrite(&ch[i], sizeof(TCeh), 1, fl);
    }
    fclose(fl);
}
void Opf() // Открытие бинарного файла
{
    if ((fl = fopen(name, "rb")) == NULL)
    {
        cout << "Oshibka pri otkritii" << endl;
        exit(1);
    }
    nst = 0;
    TCeh std;
    while (true)
    {
        int nwrt = fread(&std, sizeof(TCeh), 1, fl);
        if (nwrt != 1) break;
        ch[nst] = std;
        cout << ch[nst].naimen << " " << ch[nst].naimen << " "
            << ch[nst].mesiac << endl;
        nst++;
    }
    fclose(fl);
}
void Resc() // Вывод результата на экран
{
    for (int i = 0; i<nst; i++)
        if (ch[i].mesiac == '9')
            cout << ch[i].naimen << endl;
}
void Resf() // Вывод результата в текстовый файл
{
    char namet[30];
    FILE *ft;
    cout << "Vvedite imya faila" << endl;
    cin >> namet;
    if ((ft = fopen(namet, "w")) == NULL)
    {
        cout << "Oshibka pri sozdanii" << endl;
        exit(1);
    }
    char s[80];
    for (int i = 0; i<nst; i++)
        if (ch[i].mesiac == '9')
        {
            strcpy(s, ch[i].naimen);
            strcat(s, "\n"); // Добавление разделителя строк
            fputs(s, ft);
        }
    fclose(ft);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2015, 21:47
Ответы с готовыми решениями:

Создать sql запрос: Вывод названия товаров, которые продавались за последний месяц
Добрый день! Помогите пожалуйста с sql запросами. Дайте примеры пожалуйста. Базы нет. Помогите чем...

Позиции за последний месяц
Всем привет! :) У меня такой вопросик: вот тИЦ сегодня вырос всреднем на 200-400 пунктов, PR...

Вытащить записи за последний месяц
Добрый день ув. пользователи! Подскажите пожалуйста как достать последние записы за месяц, если...

А сколько вы сняли с Адсенса за последний месяц?
собственно, финансовый стриптиз, поехали

0
30.11.2015, 21:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2015, 21:47
Помогаю со студенческими работами здесь

Вывести тройку лучших за последний месяц
Подскажите пожалуйста, как вывести тройку лучших, опыта как бы у самого мало пишу SELECT TOP...

Подскажите пожалуйста с запросом по данных за последний месяц
Подскажите пожалуйста, я новичок в .в курсовой работе нужно вывести данные за последний месяц.......

УТ 10.3. После обновления пропали данные за последний месяц
Здравствуйте! Имеется типовая ут 10.3. У нее конфигурация была 2013 года какой-то релиз. Сейчас...

Сформировать отчет об ошибках базы данных за последний месяц
Как такое получить ?

Составить список наиболее популярных за последний месяц автомобилей
Исходная информация содержится в таблицах: &quot;Автомобиль&quot; (код авто, тип авто, модель авто, год...

Сделать запрос:Вывести информацию о поступивших деньгах за последний месяц
Вывести информацию о поступивших деньгах за последний месяц на счет, номер которого задан...


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

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