Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
4 / 4 / 2
Регистрация: 29.04.2017
Сообщений: 226

Dev C++ не компилирует программу со структурами

06.03.2018, 11:01. Показов 1771. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой, что Dev C++ 4.9.9.2 не компилирует следующую программу
Пока я использовал неверный синтаксис объявления, оно выдавало предупреждения, исправил, и теперь оно не компилит. Процесс компиляции начинается, но завершается ни на чём, ни ошибок, ни предупреждений, просто не компилирует.


p.s. непонятные символы это кириллица, которая адекватно отображается только в консоли и самой IDE
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
#include <clocale>
#include <cstdio>
 
 
struct perevozki
{
    char    fam[20];
    char    mark[20];
    char    punkt[20];
    char    gruz[20];
    int     ves;
};
 
main()
 
{
setlocale(LC_ALL, "Russian");
int i;
perevozki perev[5] ={"Äåíèñîâ", "DAF", "Êðàêîâ", "Ïèâî" ,10000,
                    "Èâàíîâ", "Renault", "Êàìåíü", "Ùåáåíü" , 150000, 
                    "Ìûøîâ", "KamAZ", "Ëàäîâêà", "×òî-òî" , 150000,
                    "Äåíèñîâ", "BelAZ", "Ãàìáóðã", "Íè÷åãî" , 0,
                    "Èâàíîâ", "Renault", "Êàìåíü", "Ùåáåíü" , 120000};
 
 
// 1.   Îïðåäåëèòü ìàêñèìàëüíûé âåñ ãðóçà è âûâåñòè ôàìèëèè øîôåðîâ è ïóíêòû ñëåäîâàíèÿ, êóäà áûë ïåðåâåçåí ãðóç ìàêñèìàëüíîãî âåñà 
int max;
for (i=0;i<5;i++)
{
    if (perev[i].ves>=max)
    max=perev[i].ves;
}
for (i=0;i<5;i++)
{
    if (perev[i].ves>=max)
    printf("%s, %s, %d\n", perev[i].fam,perev[i].punkt,perev[i].ves);
}
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.03.2018, 11:01
Ответы с готовыми решениями:

Dev-C++ не компилирует программу
Dev-C++ перестал компилировать код C++ я пробовал скомпилировать код из книги &quot;C++ для чайников&quot;: // // Program to...

Не компилирует DEV C++
Не компилирует DevC++. Пытался побывать на коде вашего тетриса - таже проблема. Что я делаю не так. Строчки с ошибками не выделяет.

Dev C++ не компилирует
dev c++ не компилирует Пишет такую ошибку: &quot;CreateProcess(C:\Users\User\AppData\Local\Temp\make214122.bat,...

6
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
06.03.2018, 11:06
Solaris5000,
https://ideone.com/KIBb93
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
prog.cpp: In function ‘int main()’:
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
                     "ÈâГ*Г*îâ", "Renault", "ГЉГ*ìåГ*Гј", "ÙåáåГ*Гј" , 120000};
                                                                                                                        ^
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
prog.cpp:23:120: error: initializer-string for array of chars is too long [-fpermissive]
0
4 / 4 / 2
Регистрация: 29.04.2017
Сообщений: 226
06.03.2018, 11:09  [ТС]
При всём этом в C++ Builder эта прога спокойно компилится и работает
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
06.03.2018, 11:15
Цитата Сообщение от Solaris5000 Посмотреть сообщение
perevozki perev[5] ={"ÄåГ*èñîâ", "DAF", "ГЉГ°Г*êîâ", "ГЏГЁГўГ®" ,10000,
"ÈâГ*Г*îâ", "Renault", "ГЉГ*ìåГ*Гј", "ÙåáåГ*Гј" , 150000,
"Ìûøîâ", "KamAZ", "Г‹Г*äîâêГ*", "Г—ГІГ®-ГІГ®" , 150000,
"ÄåГ*èñîâ", "BelAZ", "ГѓГ*ìáóðã", "ГЌГЁГ·ГҐГЈГ®" , 0,
"ÈâГ*Г*îâ", "Renault", "ГЉГ*ìåГ*Гј", "ÙåáåГ*Гј" , 120000};
массив структур объявляют так

C
1
2
3
4
5
perevozki perev[5] ={{"ÄåГ*èñîâ", "DAF", "ГЉГ°Г*êîâ", "ГЏГЁГўГ®" ,10000},
                    {"ÈâГ*Г*îâ", "Renault", "ГЉГ*ìåГ*Гј", "ÙåáåГ*Гј" , 150000}, 
                    {"Ìûøîâ", "KamAZ", "Г‹Г*äîâêГ*", "Г—ГІГ®-ГІГ®" , 150000},
                   {"ÄåГ*èñîâ", "BelAZ", "ГѓГ*ìáóðã", "ГЌГЁГ·ГҐГЈГ®" , 0},
                   { "ÈâГ*Г*îâ", "Renault", "ГЉГ*ìåГ*Гј", "ÙåáåГ*Гј" , 120000}};
0
4 / 4 / 2
Регистрация: 29.04.2017
Сообщений: 226
06.03.2018, 11:19  [ТС]
Всё так же само
Если использую такое объявление структуры:
C++
1
2
3
4
5
6
7
8
struct perevozki
{
    char    fam[20];
    char    mark[20];
    char    punkt[20];
    char    gruz[20];
    int     ves;
};
то компилятор ничего не выдаёт

если объявляется так
C++
1
2
3
4
5
6
7
8
struct perevozki
{
    char*   fam;
    char*   mark;
    char*   punkt;
    char*   gruz;
    int     ves;
};
то выдаёт такую ошибку в количестве равном полям строк:
[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

а в плане объявления массива структур, что без дополнительных {}, что с ними, ничего не меняется в плане работоспособности
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
06.03.2018, 12:21
По старому синтаксису (который поймут даже очень древние компиляторы С++)
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
#include <clocale>
#include <cstdio>
#include <string.h>
 
 
struct perevozki
{
    char    fam[20];
    char    mark[20];
    char    punkt[20];
    char    gruz[20];
    int     ves;
    
    perevozki(  const char *s_fam, 
                const char *s_mark, 
                const char *s_punkt, 
                const char *s_gruz,
                const int n_ves) : ves(n_ves)
    {
        strncpy(fam, s_fam, sizeof(fam) - 1);
        strncpy(mark, s_mark, sizeof(mark) - 1);
        strncpy(punkt, s_punkt, sizeof(punkt) - 1);
        strncpy(gruz, s_gruz, sizeof(gruz) - 1);
    }
    
    
};
 
int main()
{
setlocale(LC_ALL, "Russian");
int i;
perevozki perev[5] ={perevozki("ÄåГ*èñîâ", "DAF", "ГЉГ°Г*êîâ", "ГЏГЁГўГ®" ,10000),
                    perevozki("ÈâГ*Г*îâ", "Renault", "ГЉГ*ìåГ*Гј", "ÙåáåГ*Гј" , 150000), 
                    perevozki("Ìûøîâ", "KamAZ", "Г‹Г*äîâêГ*", "Г—ГІГ®-ГІГ®" , 150000),
                    perevozki("ÄåГ*èñîâ", "BelAZ", "ГѓГ*ìáóðã", "ГЌГЁГ·ГҐГЈГ®" , 0),
                    perevozki("ÈâГ*Г*îâ", "Renault", "ГЉГ*ìåГ*Гј", "ÙåáåГ*Гј" , 120000)};
 
 
// 1.   Îïðåäåëèòü Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*ûé ГўГҐГ± ãðóçГ* ГЁ âûâåñòè ГґГ*ìèëèè øîôåðîâ ГЁ ГЇГіГ*ГЄГІГ» ñëåäîâГ*Г*ГЁГї, ГЄГіГ¤Г* áûë ïåðåâåçåГ* ãðóç Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*îãî ГўГҐГ±Г* 
int max = perev[0].ves;     // !!!
for (i=1;i<5;i++)
{
    if (perev[i].ves>=max)
    max=perev[i].ves;
}
for (i=0;i<5;i++)
{
    if (perev[i].ves>=max)
    printf("%s, %s, %d\n", perev[i].fam,perev[i].punkt,perev[i].ves);
}
 
}
1
4 / 4 / 2
Регистрация: 29.04.2017
Сообщений: 226
06.03.2018, 12:45  [ТС]
Да, теперь всё работает как нужно, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.03.2018, 12:45
Помогаю со студенческими работами здесь

Компилирует в Dev C++, выдает ошибку в 12 студии
Компилируется в Dev C++, выдает ошибку в 12 студии, в чем дело? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Dev-cpp не компилирует файл с расширением .exe
Компилируется файл без расширения, винда в описании типа пишет &quot;Файл '1'&quot;, в чем может быть проблема?

Не компилирует программу
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;Windows.h&gt; main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); ...

не компилирует программу
переписал из книги &quot;Библиотека профессионала том 1&quot; эклипс компилирует прошлую программу, а на эту забивает, но я тоже не уверен , что...

Не компилирует программу
При компиляции программы на MSVC выдает следующее: Qt5Widgetsd.lib(Qt5Widgetsd.dll):-1: ошибка: LNK1112: тип компьютера модуля...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
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-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru