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

Ошибки, сортировка

24.04.2020, 11:59. Показов 420. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пишу курсовую работу, необходимо понять что вызывает ошибки и буду очень благодарен в помощи с сортировкой по году, номеру, марке и мощности. вот код:
Кликните здесь для просмотра всего текста
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
#include <iostream> 
#include <string> 
#include <fstream>
#include <vector>
#include<conio.h>
#include<windows.h>
using namespace std;
FILE* f;
struct Transport //Структура Транспорт
{
    char make[30]; //Марка автомобиля
    char color[30]; //Цвет автомобиля
    int date[4]; //Дата регистрации автомобиля
    char cost[6]; //Цена автомобиля
    char number[4]; //Номер автомобиля
    char power[4]; //Мощность автомобиля
    void Show(); //Функция будет отображать данные автомобиля
    void Input(); //Функция ввода данных в структуру 
    void Year(const int Date1, const int Date2);//Нужные года
    int god;//Год
};
 
void gotoxy(int x, int y)
{
    COORD c = { x, y };
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
void Transport::Input() //ЗАПИСЬ В ФАЙЛ   Функцию объявленную внутри структуры можно использовать вне структуры таким вот образом 
{
    system("cls");
    cout << "\n";
    cout << "=============================================================================\n";
    cout << "|Make of car   |Color         |Date      |HP         |Cost        |Numder    \n";
    cout << "=============================================================================\n";
    cout << "|              |              |          |           |            |          \n";
    cout << "=============================================================================\n";
 
 
 
    int y;
    gotoxy(1, 1);
    cout << "\n\n";
    gotoxy(1, 2); // используя gotoxy перемещаемся по таблице
    cout << "Make";
    gotoxy(1, 4);
    cin.getline(make, 30); //Считали марку
    gets_s(make); fprintf(f, "%s\n", make);
    gotoxy(16, 2);
    cout << "Color";
    gotoxy(16, 4);
    cin.getline(color, 30); //Считали цвет
    gets_s(color); fprintf(f, "%s\n", color);
    gotoxy(52, 2);
    cout << "Date born"; // вводим дату регистрации через пробел
    gotoxy(52, 4);
    cin >> date[0]; //Дата внутри структуры является массивом, поэтому обращение с индексом 
    cin.ignore();   cin.ignore();
    cin >> date[0]; fprintf(f, "%d.", date[0]);
    cin >> date[1];
    gotoxy(55, 4);
    cin.ignore();
    cin >> date[1]; fprintf(f, "%d.", date[1]);
    gotoxy(58, 4);
    cin >> date[2]; fprintf(f, "%d\n", date[2]);
    cin.ignore();
    gotoxy(65, 2);
    cout << "HP";
    gotoxy(65, 4);
    cin.getline(power, 4); //Считали мощность
    gets_s(power); fprintf(f, "%s\n", power);
    cin.getline(cost, 4); //Считали стоимость
    gets_s(cost); fprintf(f, "%s\n", cost);
    cin.getline(number, 4); //Считали мощность
    gets_s(number); fprintf(f, "%s\n", number);
    cout << "\n\n";
    cout << "======================\n";
 
}
 
void Transport::Show() //Функция показывает данные структуры на экране 
{
 
    cout << "Student \n";
    cout << make << " " << color << "\n" << "HP: " << power << "\nRegistered in " << date[0] << "." << date[1] << "." << date[2] << "\n";
    cout << "Cost: " << cost << "Car number: " << number << "\n\n";
 
 
 
}
 
void Transport::Year(const int Date1, const int Date2) //Внутри функции ничего менять не планируется, поэтому константы 
{
    if ((date[2] >= Date1) && (date[2] <= Date2)) Show(); //Проверка принадлежности диапазону и при вхождении в диапазон вывод элемента структуры на экран 
};
 
 
int main()
{
//Чтение из файла
        char f2[20], c;
        int N = 10;
        FILE* v;
 
        cout << "\nВведите имя файла для чтения: ";
 
        //fscanf(v, "%d", &m); 
        cin >> f2;
 
        v = fopen(f2, "r");
        for (int i = 0; i < N; i++)
            fscanf(v, "%s%s%s%d%d%d%s", Transport[i].make, &Transport[i].color, &Transport[i].power, &Transport[i].date[0], &Transport[i].date[1], &Transport[i].date[2], &Transport[i].power,&Transport[i].number;
        cout << "\nЧтение из файла " << f2 << ":\n";
        for (int i = 0; i < N; i++)
            cout << Transport[i].make, & Transport[i].color, & Transport[i].power, & Transport[i].date[0], & Transport[i].date[1], & Transport[i].date[2], & Transport[i].power, & Transport[i].number << "\n";
        system("pause");
}


Выдаёт ошибки типа: "использование имени типа не допускается" 111, 114 строка.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.04.2020, 11:59
Ответы с готовыми решениями:

Быстрая сортировка, укажите на ошибки
Здравствуйте. Писал быструю сортировку. Брал информацию от сюда и из книги Седжвик Р. Фундаментальные алгоритмы на C++....

Сортировка, найти ошибки в коде
#include &lt;iostream&gt;; #include&lt;locale&gt; using namespace std; int rl3,k; int main() { setlocale(LC_ALL,&quot;Rus&quot;); cout&lt;&lt;&quot;первое...

Исправить ошибки в программе. Сортировка по убыванию
Требуется сортировку одномерного массива.Элемент начало сортировки представим в виде 3^n.Элементы сортировки отрицательные...

7
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
24.04.2020, 12:24
закрывающая скобка где?

Строковые поля должны идти без &

не надо копипастить в cout строчку из fscanf. пиши нормально!
0
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
24.04.2020, 12:35  [ТС]
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
закрывающая скобка где?
Строковые поля должны идти без &
не надо копипастить в cout строчку из fscanf. пиши нормально!
Скобку и & исправил. Подскажите, пожалуйста, как реализовать последнее и сортировку, если можете конечно.
0
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
24.04.2020, 13:31  [ТС]
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
закрывающая скобка где?
Строковые поля должны идти без &
не надо копипастить в cout строчку из fscanf. пиши нормально!
Теперь выдаёт лишь ошибки а использовании имени типа.
0
 Аватар для Annemesski
2670 / 1333 / 479
Регистрация: 08.11.2016
Сообщений: 3,682
24.04.2020, 14:24
Evreii, Вы описали тип данных Transport
C++
1
2
struct Transport //Структура Транспорт
//......................
А затем обращаетесь к этому имени типа, чтобы оперировать данными - но это абстракция - никакого транспорта у Вас в программе нет, создайте объект типа Transport, а точнее Вам нужен массив на N объектов в программе
C++
1
2
const int N = 10;
Transport trasp[N];
добавьте к объявлению N модификатор const как показано выше и объявите массив. Далее в программе весь ваш Transport замените на transp
0
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
24.04.2020, 14:26  [ТС]
Цитата Сообщение от Annemesski Посмотреть сообщение
создайте объект типа Transport, а точнее Вам нужен массив на N объектов в программе
C++Выделить код
1
2
const int N = 10;
Transport trasp[N];
добавьте к объявлению N модификатор const как показано выше и объявите массив. Далее в программе весь ваш Transport замените на transp
Это лучше делать в глобальной области?
0
 Аватар для Annemesski
2670 / 1333 / 479
Регистрация: 08.11.2016
Сообщений: 3,682
24.04.2020, 14:36
Цитата Сообщение от Evreii Посмотреть сообщение
Это лучше делать в глобальной области?
нет, лучше в функции main: определили N -> объявили массив.
1
1 / 1 / 0
Регистрация: 02.03.2020
Сообщений: 106
24.04.2020, 14:44  [ТС]
Цитата Сообщение от Annemesski Посмотреть сообщение
нет, лучше в функции main: определили N -> объявили массив.
Понял, спасибо вам)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.04.2020, 14:44
Помогаю со студенческими работами здесь

Быстрая сортировка. Помогите найти ошибки
Совсем мало знакома с с++, посмотрите пожалуйста код, какие есть ошибки? using namespace std; void quickSort(vector&lt;int&gt; a,...

Как найти ошибки в программе, пузырковая сортировка! Пожалуйста
#include &lt;iostream.h&gt; void sort1(int*ptr,int size); {int x,y; for (x=0; x&lt; size - 1; x++) for (y=x+1; y&lt; size; y++) if(ptr&gt;ptr) ...

Сортировка методом Шелла, ошибки чуть ли не в каждой строке
Выдал полно ошибок сортировки массива из 30 случайных значений: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; void...

Сортировка строк: склеивается вторая и третья строка (найти и исправить ошибки в коде)
#include &lt;string.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; FILE...

Сортировка StringGrid, ошибки с приведением типов
int x; int m; char n; int p=ComboBox1-&gt;ItemIndex; for (int z = 1; z &lt;= 11; z++) for (int i = 1; i &lt; 11-z; i++) { if...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru