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

Неудачная компиляция и постройка проекта в Code Blocks

11.09.2013, 21:41. Показов 3592. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Вот не так давно решил изучать синтаксис C, так что можно назвать меня новичком
До этого изучал конечно же Паскаль
Купил книги, сел, стал писать.
Но скоро столкнулся с проблемой, при написании простейшей задачи, которая всего-навсего считает строки..
Код правилен, но после компиляции и появления окна, ничего не происходит. Совершенно.
Не могу понять в чем проблема. Пожалуйста, помогите.
Строго не судите.
Миниатюры
Неудачная компиляция и постройка проекта в Code Blocks  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.09.2013, 21:41
Ответы с готовыми решениями:

Компиляция в Code Blocks
Скачала Code Blocks с компилятором. Написала #include <iostream> int main() { std::cout << "Hello...

неправильная компиляция в code::blocks
установил на недели Ubuntu 11.10 поставил Code::Blocks этот код #include <iostream> using namespace std; int main() { cout...

Раздельная компиляция ( Code blocks)
версия 16.01 при вызове функции из другого файла, стал писать, что я не указал прототип функции и "ld returned 1 exit status"....

37
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
11.09.2013, 22:57
Посмотрите здесь
http://iguania.ru/uchebnik-po-... ramma.html
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
11.09.2013, 23:00
Попробуй добавить system( "pause" ); в конец программы.
0
 Аватар для Olivеr
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
11.09.2013, 23:24
было похожее из-за антивируса
0
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 22
11.09.2013, 23:33  [ТС]
Цитата Сообщение от Genn55 Посмотреть сообщение
Посмотрите здесь
http://iguania.ru/uchebnik-po-... ramma.html
Да все так и делал
Тем более, что предыдущие задачи, вроде бы, хорошо шли. Ну там совсем были ерундовые: просто на изучение синтаксиса циклов for и while )

Добавлено через 33 секунды
Цитата Сообщение от castaway Посмотреть сообщение
Попробуй добавить system( "pause" ); в конец программы.
Что-то не помогает :/
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
11.09.2013, 23:35
Позволь узнать, что значит "ничего не происходит" ? Какого поведения от программы ты ожидаешь?
0
413 / 250 / 118
Регистрация: 26.12.2012
Сообщений: 787
11.09.2013, 23:47
У вас закрыты все панели управлять не чем.Нажмите F2.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 03:55
Цитата Сообщение от Andrea_B Посмотреть сообщение
и появления окна, ничего не происходит. Совершенно.
Ждёт ввода. Ввод делаете? Для прекращения ввода - сгенерировать EOF (в windows: Ctrl + Z ).
0
17 / 17 / 10
Регистрация: 14.06.2012
Сообщений: 151
12.09.2013, 06:11
Цитата Сообщение от Andrea_B Посмотреть сообщение
которая всего-навсего считает строки..
Код правилен, но после компиляции и появления окна, ничего не происходит. Совершенно.
Код абсолютно не правилен. Ошибки в синтаксисе и неверная как для задания логика программы. Попробую доступно написать коректный код с обьяснениями. Но чуть позже.
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 06:28
Цитата Сообщение от XpertVision Посмотреть сообщение
Код абсолютно не правилен. Ошибки в синтаксисе
В чём неправилен и где ошибки в синтаксисе?

Добавлено через 5 минут
Код вполне, себе, рабочий.
Миниатюры
Неудачная компиляция и постройка проекта в Code Blocks  
0
17 / 17 / 10
Регистрация: 14.06.2012
Сообщений: 151
12.09.2013, 07:51
Цитата Сообщение от alsav22 Посмотреть сообщение
В чём неправилен и где ошибки в синтаксисе?

Добавлено через 5 минут
Код вполне, себе, рабочий.
1) INT main() не возвращает НИЧЕГО вообще! Не каждый компилятор даст такое скомпилировать, потому что это ошибка!

2) Программа не выполняет поставленую задачу. (считать количество строк)

3) Зачем в int переменную записывать char символ??? Может я чего то не понимаю, но как по мне это чудо что оно заработало хоть как то.

P.S.: Про то как не читабельно написано я промолчу.

Сейчас добавлю программу с подробными коментариями для автора.

Добавлено через 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
#include <iostream> //подключаем библиотеку для ввода и вывода данных
#include <stdlib.h> //библиотека для системных команд (функция system)
#include <fstream> //для работы с файлами
 
using namespace std; //оглашаем что мы работаем в стандартном пространстве имен
 
int main() //главная функция ДОЛЖНА ВОЗВРАЩАТЬ целое число потому что перед ней стоит INT
{
    fstream File; //создаем экземпляр класса что бы работать с файлом
    File.open("test.txt"); //открывам файл для чтения, в скобках пишем название и путь к файлу если он не будет лежать рядом с программой
 
    int nl = 0; //переменная для подсчета строк
 
    while(!File.eof()) //выполнять пока файл не дойдет до конца
    {
        if(File.get() == '\n') //если в файле найден символ новой строки, то выполняем код в скобках 
        {                      //(очень советую все while, for, if и т.д. брать в фигурные скобки, иначе тяжело читать код)
            nl++;
        }
    }
    File.close(); //закрываем файл
 
    cout<<"Numers of strings: "<<nl<<"\n";
 
    system("pause"); //выводит системное сообщение
 
    return 0; //возвращает то самое целое число
              //Принято ставить ноль, если программа вернула в конце выполнения ноль, значит работа завершенна коректно
}
0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 08:20
Цитата Сообщение от XpertVision Посмотреть сообщение
Программа не выполняет поставленую задачу. (считать количество строк)
Вам скрина недостаточно?

Добавлено через 2 минуты
Цитата Сообщение от XpertVision Посмотреть сообщение
Если вводиь в программе строки самостоятельно, то задача будет малость безсмысленной.
Человек учится, написал не для решения какой-то практической задачи, а для обучения. Пишет же в первом посте. Вопрос темы видели? Тут обсуждается не решение какой-то задачи, а почему у ТС код не работает.

Добавлено через 2 минуты
Цитата Сообщение от XpertVision Посмотреть сообщение
Зачем в int переменную записывать char символ???
getchar() возвращает int, а не char, поэтому и записывается int.

Добавлено через 1 минуту
Цитата Сообщение от XpertVision Посмотреть сообщение
INT main() не возвращает НИЧЕГО вообще! Не каждый компилятор даст такое скомпилировать
Вопрос по Code::Blocks, в нём mingw, если настройки по умолчанию, то даёт (как и студия), хотя лучше возвращать.

Добавлено через 8 минут
Цитата Сообщение от XpertVision Посмотреть сообщение
Про то как не читабельно написано я промолчу.
Отсылаю к названию темы. Читабельность как-то влияет на то, что у ТС код не работает?
2
67 / 67 / 9
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
12.09.2013, 08:28
Цитата Сообщение от XpertVision Посмотреть сообщение
INT main() не возвращает НИЧЕГО вообще! Не каждый компилятор даст такое скомпилировать, потому что это ошибка!
Это не ошибка. Не скомпилирует этот код только компилятор, не пропускающий предупреждения (бывают и такие)
Цитата Сообщение от XpertVision Посмотреть сообщение
по мне это чудо что оно заработало хоть как то.
Char легко переводится в int по его внутреннему представлению. При сравнении int с char, char переводится в int. Так что никакого чуда нет
Цитата Сообщение от XpertVision Посмотреть сообщение
Про то как не читабельно написано я промолчу.
Оригинально промолчал. А вообще - по уровню читаемости (если даже не смотреть на её объём) она одна из самых читаемых, что я когда-либо видел: табуляция соблюдена, переменные объявлены в начале программы и отделены пустой строкой, лишние фигурные скобки не используются и так далее.
Цитата Сообщение от XpertVision Посмотреть сообщение
Что бы посчитать количество строк, нужно иметь тектовый файл.
Да ну? В программе ТС только условие окончания ввода странное (EOF), но и его можно заменить, например, на ту же табуляцию или другой символ.
1
12.09.2013, 08:34

Не по теме:

Цитата Сообщение от elivin Посмотреть сообщение
В программе ТС только условие окончания ввода странное (EOF), но и его можно заменить, например, на ту же табуляцию или другой символ.
А если в строке есть такой символ?

0
12.09.2013, 08:47

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
А если в строке есть такой символ?
Плохо значит. Но и EOF - тоже костыль

0
12.09.2013, 09:04

Не по теме:

Цитата Сообщение от elivin Посмотреть сообщение
Плохо значит. Но и EOF - тоже костыль
Мы, как и XpertVision, скатываемся к обсуждению качества кода. Тут тема другая.

0
12.09.2013, 09:09

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Тут тема другая.
Я всё равно не понял, в чём проблема, если всё работает. А от ТС пока вестей нет

0
12.09.2013, 09:26

Не по теме:

Цитата Сообщение от elivin Посмотреть сообщение
Я всё равно не понял, в чём проблема, если всё работает.
Я тоже. Бум ждать...

0
12.09.2013, 12:08

Не по теме:

Цитата Сообщение от XpertVision Посмотреть сообщение
Зачем в int переменную записывать char символ??? Может я чего то не понимаю, но как по мне это чудо что оно заработало хоть как то.
помню как раньше мне это учитель в школе сказал....

0
17 / 17 / 10
Регистрация: 14.06.2012
Сообщений: 151
12.09.2013, 16:07
Цитата Сообщение от alsav22 Посмотреть сообщение
Вам скрина недостаточно?

Добавлено через 2 минуты

Человек учится, написал не для решения какой-то практической задачи, а для обучения. Пишет же в первом посте. Вопрос темы видели? Тут обсуждается не решение какой-то задачи, а почему у ТС код не работает.

Добавлено через 2 минуты

getchar() возвращает int, а не char, поэтому и записывается int.

Добавлено через 1 минуту

Вопрос по Code::Blocks, в нём mingw, если настройки по умолчанию, то даёт (как и студия), хотя лучше возвращать.

Добавлено через 8 минут

Отсылаю к названию темы. Читабельность как-то влияет на то, что у ТС код не работает?
1) Компилируется и делает то что от нее хотел ТС это немного разнные вещи.

2) То что человек учится это прекрасно. Но если он учится на примере того что у него всегда одна строка и ее количество нужно посчитать, то думаю ему можно показать пример более подходящий к заданию. ИМХО

3) Спасибо за информацию про char. Не знал что так все происходит.

4) То что дало это даже плохо как по мне. Если функция возвращает значение, то она должна это делать. К этому лучше сейчас приучить себя. И я ничего хорошго не вижу в том, что до меня, очень много людей знающих С++ на порядки лучше не посчитали нужныи поправить тут ТС.

5) Если подсказать человеку что лучше тела циклов брать в скобки, никому хуже не станет, а ТС только польза.

Добавлено через 2 минуты
Цитата Сообщение от Raali Посмотреть сообщение

Не по теме:


помню как раньше мне это учитель в школе сказал....

Не по теме:

Я не учитель и на звание эксперта не претендую. Сразу сказал что могу ошибатся. Так что не нужно меня тут стыдить так яростно.)
P.S.: Как вспомню что мне на 2-м курсе расказывали преподователи. :cry:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.09.2013, 16:07
Помогаю со студенческими работами здесь

Раздельная компиляция в Code::Blocks - как правильно разместить код в файлах?
В проекте code blocks есть функция main, несколько функций, которые подключаются как статические библиотеки, и структура (struct), которая...

Как в Code::Blocks убрать ресурс из проекта?
как убрать этот Recources и сделать адекватный вид типа Workspace

Code::Blocks, ошибки при сборке проекта
Здравствуйте. Помогите пожалуйста. Заинтересовался программированием, учу С++ и вот решил учиться писать приложения для виндовс, то есть с...

Путь относительно проекта, а не текущего файла в Code::Blocks
Здравствуйте. Есть файловая структура проекта MyProject/ | +-- project/ | +-- codeblocks/ | +-- MyProject.cbp | ...

Code::Blocks, ошибки при сборке проекта, использующего OpenGL
Всем привет! У меня вот такие ошибки: ||=== Build: Debug in test6 (compiler: GNU GCC Compiler) ===| obj\Debug\test6Main.o||In...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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