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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
EdHaker
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 97
#1

Обработка данных об автомобилях - C++

06.11.2015, 22:35. Просмотров 359. Ответов 13
Метки нет (Все метки)

Здравствуйте, есть такое задание: Данные про автомобили включают в себя: модель, производителя, тип, год выпуска, дату регистрации и владельца(фио). Организовать массив для сохранения данных в виде заданной структуры и заполнить его данными с клавиатуры.(сделано). Вывести сведения об автомобилях, зарегистрированных на протяжение заданного пользователем периода времени.(частично, требуется проверка). Вывести данные об автомобилях для заданной пользователем модели.(не сделано). Определить, сколько автомобилей каждой модели было зарегистрировано каждый год.(не сделано). Разрешить вносить новые данные и изменять существующие данные в информационном массиве. (не сделано). Очень прошу помочь, вот уже готовый код с программой:
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
#include <iostream>
#include <cstring>
#include <conio.h>
using namespace std;
int main(){
struct formal{
    string model;
    string proizv;
    string type;
    int year;
    int datemonth;
    int dateday;
    int dateyear;
    string user;
} mas[100];
 
int x,d,m,y,d1,m1,y1;
cout<<"vvedite kol-vo avto: ";
cin>>x;
for (int i=0;i<x;i++){
cout<<"Vvedite model: ";
cin>>mas[i].model;
cout<<"Vvedite proizvoditelya: ";
cin>>mas[i].proizv;
cout<<"Vvedite type: ";
cin>>mas[i].type;
cout<<"Vvedite god: ";
cin>>mas[i].year;
cout<<"Vvedite datu reg: ";
cin>>mas[i].dateday>>mas[i].datemonth>>mas[i].dateyear;
cout<<"Vvedite usera: ";
cin>>mas[i].user;
}
cout<<"Vvedite period: ";
cin>>d>>m>>y>>d1>>m1>>y1;
 for (int i=0;i<x;i++){
 if (y<mas[i].dateyear && mas[i].dateyear<y1)
{cout<<mas[i].model;
cout<<endl;
cout<<mas[i].proizv;
cout<<endl;
cout<<mas[i].type;
cout<<endl;
cout<<mas[i].year;
cout<<endl;
cout<<mas[i].dateday<<"."<<mas[i].datemonth<<"."<<mas[i].dateyear;
cout<<endl;
cout<<mas[i].user;}}
 /*else
 {if month struct else day struct } */
 
cout<<endl;
getch();
return 0;
 }
ЖЕЛАТЕЛЬНО решение, как можно проще и понятнее, если не сложно с объяснением, буду очень благодарен, если поможете реализовать все условие!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2015, 22:35     Обработка данных об автомобилях
Посмотрите здесь:

Структуры. База данных о автомобилях - C++
База данных содержит информацию о автомобилях. Модель (ключевое поле, имеющее уникальное неповторяющиеся значение), производитель (поле...

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

Текстовый файл с информацией об автомобилях - C++
Данные в IN.txt написаны Проблема в том,что не выводит в OUT.txt ничего.. #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; ...

Написать программу для обработки информации об автомобилях - C++
Написать программу для обработки информации об автомобилях, сдаваемых на прокат (марка автомобиля, год выпуска, километраж). Программа...

Связанный список из записей, содержащих сведения об автомобилях - C++
Доброго времени суток, подскажите пожалуйста, кто сможет накинуть код, такого задания. Заранее всем благодарен. Необходимо создать...

Программа для обработки информации об автомобилях, сдающихся на прокат - C++
#include&lt;stdio.h&gt; #include&lt;windows.h&gt; #include&lt;conio.h&gt; #include &lt;iostream.h&gt; #include&lt;string.h&gt; #include&lt;ctype.h&gt; struct zap ...

обработка файлов данных - C++
На диске имеется файл данных STUDENT.DAT. Распечатать фамилии, имена и оценки студентов, не получивших ни одной оценки 3. P.S. В задаче...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,179
07.11.2015, 08:33     Обработка данных об автомобилях #2
Каскадом условие надо делать:
C++
1
2
if ((mas[i].dateyear > y || ((mas[i].dateyear == y && mas[i].datemonth > m) || (mas[i].datemonth == m && mas[i].dateday >= d)))
    && (mas[i].dateyear < y1 || ((mas[i].dateyear == y1 && mas[i].datemonth < m1) || (mas[i].datemonth == m1 && mas[i].dateday <= d1))))
По годам:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
std::sort(mas, mas + x, [](const formal &a, const formal &b){ return a.dateyear < b.dateyear; });
 
int y = -1;
for (int i = 0; i < x; ++i)
{
    if (mas[i].year != y)
    {
        y = mas[i].year;
        cout << "Year: " << y << endl;
    }
cout<<mas[i].model;
cout<<endl;
cout<<mas[i].proizv;
cout<<endl;
cout<<mas[i].type;
cout<<endl;
cout<<mas[i].dateday<<"."<<mas[i].datemonth<<"."<<mas[i].dateyear;
cout<<endl;
cout<<mas[i].user << endl << endl;
}
EdHaker
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 97
07.11.2015, 10:54  [ТС]     Обработка данных об автомобилях #3
Спасибо большое, а как реализовать: Разрешить вносить новые данные и изменять существующие данные в информационном массиве. ?
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,179
07.11.2015, 14:38     Обработка данных об автомобилях #4
Ну меню какое-то сделай, где можно действия выбирать: добавить запись, редактировать запись и т. п.
EdHaker
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 97
07.11.2015, 15:32  [ТС]     Обработка данных об автомобилях #5
nmcf, можете подсказать, как конкретно это реализовать и добавить в код программы? я не совсем понимаю(

Добавлено через 3 минуты
nmcf,
C++
1
 sort(mas, mas + x, [](const formal &a, const formal &b){ return a.dateyear < b.dateyear; })
- эта строка не работает в программе пишет ошибку: [Error] no matching function for call to 'sort(main()::formal [100], main()::formal*, main()::<lambda(const main()::formal&, const main()::formal&)>)'
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,179
07.11.2015, 16:00     Обработка данных об автомобилях #6
В main() меню делают. Там где у тебя ввод элементов, должно быть меню. Пока пользователь не выберет, что хочет, программа ждёт.
Ты <algorithm> подключил?
EdHaker
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 97
07.11.2015, 16:44  [ТС]     Обработка данных об автомобилях #7
nmcf, ДА , конечно подключил. А как реализовывается меню то, как редактировать уже существуеющее?

Добавлено через 21 секунду
Если не сложно наберите цельный код программы, может я не правильно собираю по кускам(
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,179
07.11.2015, 20:13     Обработка данных об автомобилях #8
По такому образцу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int ch;
 
do
{
    cout << "1 - вывод списка\n2 - добавить элемент\n3 - редактировать элемент\n0 - выход\n";
    cin >> ch;
 
    switch (ch)
    {
    case 1:
        //....
        break;
    case 2:
        //....
        break;
    case 3:
        //....
        break;
    }
}
while (ch != 0);
EdHaker
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 97
07.11.2015, 20:39  [ТС]     Обработка данных об автомобилях #9
nmcf, Спасибо, а куда это добавить то? В начале кода?
Крюгер
0 / 60 / 3
Регистрация: 16.11.2012
Сообщений: 418
Записей в блоге: 3
07.11.2015, 20:50     Обработка данных об автомобилях #10
EdHaker,

Не по теме:

ты такие странные вопросы задаешь.. я конечно извиняюсь, но ...



Добавлено через 1 минуту
EdHaker, может я огорчу но это лишь каркас кода. писать придется самому. (тут даже ребенок поймет как, просто надо въехать в тему)
Цитата Сообщение от nmcf Посмотреть сообщение
++Выделить код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int ch;
do
{
* * cout << "1 - вывод списка\n2 - добавить элемент\n3 - редактировать элемент\n0 - выход\n";
* * cin >> ch;
switch (ch)
* * {
* * case 1:
* * * * //....
* * * * break;
* * case 2:
* * * * //....
* * * * break;
* * case 3:
* * * * //....
* * * * break;
* * }
}
while (ch != 0);
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,179
07.11.2015, 22:38     Обработка данных об автомобилях #11
Цитата Сообщение от EdHaker Посмотреть сообщение
а куда это добавить то?
После 17-й строки в программе из твоего первого сообщения. И допилить, как сказал Крюгер.
EdHaker
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 97
09.11.2015, 09:43  [ТС]     Обработка данных об автомобилях #12
nmcf, nmcf,
C++
1
 sort(mas, mas + x, [](const formal &a, const formal &b){return a.dateyear<b.dateyear;});
В этой строке опять ошибка, можете подсказать, что она делает и как пофиксить?
nmcf
5251 / 4571 / 1535
Регистрация: 14.04.2014
Сообщений: 18,179
09.11.2015, 23:22     Обработка данных об автомобилях #13
Какая именно ошибка? У меня компилируется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2015, 23:25     Обработка данных об автомобилях
Еще ссылки по теме:

Обработка символьных данных - C++
Распечатать строку, которая получается из введенной строки следующим образом: каждая цифра заменяется на заключенную в круглые скобки...

Двоичная обработка данных - C++
Есть такая программа по двоичной обработке массива. Я не совсем понимаю, как здесь менять биты местами, к примеру наложением маски...

Обработка данных по математике - C++
Помогите, я новичек в С++ и плохо еще разбираюсь в динамических структурах... а) Создать динамический массив структур (не менее 10...

Обработка структур данных - C++
Здравствуйте.никак не могу понять задачу. подскажите решение. в голову ничего не лезит. (задача на языке СИ) вот условие: Сведения о...

обработка данных с rs232 - C++
Здравствуйте, появилась пару недель назад задумка собрать на AVR-ке простейшую схему и по СОМ порту покидать данные, аппаратная часть...


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

Или воспользуйтесь поиском по форуму:
EdHaker
1 / 1 / 0
Регистрация: 23.09.2015
Сообщений: 97
09.11.2015, 23:25  [ТС]     Обработка данных об автомобилях #14
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
#include <iostream>
#include <cstring>
#include <conio.h>
#include <algorithm>
#include <windows.h>
using namespace std;
int main(){
struct formal{
    string model;
    string proizv;
    string type;
    int year;
    int datemonth;
    int dateday;
    int dateyear;
    string user;
} mas[100];
system("chcp 1251");
int x,d,m,y,d1,m1,y1,y2;
cout<<"Введите количество машин: ";
cin>>x;
for (int i=0;i<x;i++){
cout<<"Введите модель: ";
cin>>mas[i].model;
cout<<"Введите производителя: ";
cin>>mas[i].proizv;
cout<<"Введите тип: ";
cin>>mas[i].type;
cout<<"Введите год: ";
cin>>mas[i].year;
cout<<"Введите дату регистрации: ";
cin>>mas[i].dateday>>mas[i].datemonth>>mas[i].dateyear;
cout<<"Введите имя пользователя: ";
cin>>mas[i].user;
}
 
cout<<"Введите период: ";
cin>>d>>m>>y>>d1>>m1>>y1;
 for (int i=0;i<x;i++){
 if ((mas[i].dateyear>y || ((mas[i].dateyear==y && mas[i].datemonth>m) || (mas[i].datemonth==m && mas[i].dateday>=d)))
    && (mas[i].dateyear<y1 || ((mas[i].dateyear==y1 && mas[i].datemonth<m1) || (mas[i].datemonth==m1 && mas[i].dateday<=d1))))
{cout<<"Модель: "<<mas[i].model;
cout<<endl;
cout<<"Производитель: "<<mas[i].proizv;
cout<<endl;
cout<<"Тип: "<<mas[i].type;
cout<<endl;
cout<<"Год: "<<mas[i].year;
cout<<endl;
cout<<"DD/MM/YY: "<<mas[i].dateday<<"."<<mas[i].datemonth<<"."<<mas[i].dateyear;
cout<<endl;
cout<<"Пользователь: "<<mas[i].user;} }
cout<<endl;
cout<<"Введите год для проверки: ";
cin>>y2;
for (int i=0; i<x; ++i)
{   if (mas[i].year==y2)
    {   y=mas[i].year;
        cout<<"Год: "<<y<<endl;
cout<<mas[i].model;
cout<<endl;
cout<<mas[i].proizv;
cout<<endl;
cout<<mas[i].type;
cout<<endl;
cout<<mas[i].dateday<<"."<<mas[i].datemonth<<"."<<mas[i].dateyear;
cout<<endl;
cout<<mas[i].user<<endl;}
else cout<<"Машин в этот год не было.";
} 
cout<<endl;
getch();
return 0;
}
- Вот весь код без, почему-то неправильно работает алгоритм и можете добавить sort в него? Заранее спасибо!
Yandex
Объявления
09.11.2015, 23:25     Обработка данных об автомобилях
Ответ Создать тему
Опции темы

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