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

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

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

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

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

неправильная компиляция в code::blocks
установил на недели Ubuntu 11.10 поставил Code::Blocks этот код #include <iostream> using...

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

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

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

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

Добавлено через 5 минут
Код вполне, себе, рабочий.
Миниатюры
Неудачная компиляция и постройка проекта в Code Blocks  
0
17 / 17 / 10
Регистрация: 14.06.2012
Сообщений: 151
12.09.2013, 07:51 11
Цитата Сообщение от 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
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 08:20 12
Цитата Сообщение от 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 13
Цитата Сообщение от XpertVision Посмотреть сообщение
INT main() не возвращает НИЧЕГО вообще! Не каждый компилятор даст такое скомпилировать, потому что это ошибка!
Это не ошибка. Не скомпилирует этот код только компилятор, не пропускающий предупреждения (бывают и такие)
Цитата Сообщение от XpertVision Посмотреть сообщение
по мне это чудо что оно заработало хоть как то.
Char легко переводится в int по его внутреннему представлению. При сравнении int с char, char переводится в int. Так что никакого чуда нет
Цитата Сообщение от XpertVision Посмотреть сообщение
Про то как не читабельно написано я промолчу.
Оригинально промолчал. А вообще - по уровню читаемости (если даже не смотреть на её объём) она одна из самых читаемых, что я когда-либо видел: табуляция соблюдена, переменные объявлены в начале программы и отделены пустой строкой, лишние фигурные скобки не используются и так далее.
Цитата Сообщение от XpertVision Посмотреть сообщение
Что бы посчитать количество строк, нужно иметь тектовый файл.
Да ну? В программе ТС только условие окончания ввода странное (EOF), но и его можно заменить, например, на ту же табуляцию или другой символ.
1
alsav22
12.09.2013, 08:34
  #14

Не по теме:

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

0
elivin
12.09.2013, 08:47
  #15

Не по теме:

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

0
alsav22
12.09.2013, 09:04
  #16

Не по теме:

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

0
elivin
12.09.2013, 09:09
  #17

Не по теме:

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

0
alsav22
12.09.2013, 09:26
  #18

Не по теме:

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

0
Raali
12.09.2013, 12:08
  #19

Не по теме:

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

0
17 / 17 / 10
Регистрация: 14.06.2012
Сообщений: 151
12.09.2013, 16:07 20
Цитата Сообщение от 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
12.09.2013, 16:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2013, 16:07
Помогаю со студенческими работами здесь

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

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

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

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


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

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