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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Andrea_B
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 22
11.09.2013, 21:41     Неудачная компиляция и постройка проекта в Code Blocks #1
Здравствуйте!
Вот не так давно решил изучать синтаксис C, так что можно назвать меня новичком
До этого изучал конечно же Паскаль
Купил книги, сел, стал писать.
Но скоро столкнулся с проблемой, при написании простейшей задачи, которая всего-навсего считает строки..
Код правилен, но после компиляции и появления окна, ничего не происходит. Совершенно.
Не могу понять в чем проблема. Пожалуйста, помогите.
Строго не судите.
Миниатюры
Неудачная компиляция и постройка проекта в Code Blocks  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 21:41     Неудачная компиляция и постройка проекта в Code Blocks
Посмотрите здесь:

C++ отладка Code::Blocks
C++ Настройка Code::Blocks
Code Blocks и OpenCV C++
C++ Code Blocks 12.11 и OpenCV 2.43
C++ Установка Code Blocks
C++ Компиляция в Code Blocks
C++ Проблемка с Code::Blocks
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
342 / 189 / 37
Регистрация: 26.12.2012
Сообщений: 661
11.09.2013, 22:57     Неудачная компиляция и постройка проекта в Code Blocks #2
Посмотрите здесь
http://iguania.ru/uchebnik-po-osnova...programma.html
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,055
Записей в блоге: 10
Завершенные тесты: 1
11.09.2013, 23:00     Неудачная компиляция и постройка проекта в Code Blocks #3
Попробуй добавить system( "pause" ); в конец программы.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
11.09.2013, 23:24     Неудачная компиляция и постройка проекта в Code Blocks #4
было похожее из-за антивируса
Andrea_B
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 22
11.09.2013, 23:33  [ТС]     Неудачная компиляция и постройка проекта в Code Blocks #5
Цитата Сообщение от Genn55 Посмотреть сообщение
Да все так и делал
Тем более, что предыдущие задачи, вроде бы, хорошо шли. Ну там совсем были ерундовые: просто на изучение синтаксиса циклов for и while )

Добавлено через 33 секунды
Цитата Сообщение от castaway Посмотреть сообщение
Попробуй добавить system( "pause" ); в конец программы.
Что-то не помогает :/
castaway
Эксперт С++
4867 / 3006 / 370
Регистрация: 10.11.2010
Сообщений: 11,055
Записей в блоге: 10
Завершенные тесты: 1
11.09.2013, 23:35     Неудачная компиляция и постройка проекта в Code Blocks #6
Позволь узнать, что значит "ничего не происходит" ? Какого поведения от программы ты ожидаешь?
Genn55
342 / 189 / 37
Регистрация: 26.12.2012
Сообщений: 661
11.09.2013, 23:47     Неудачная компиляция и постройка проекта в Code Blocks #7
У вас закрыты все панели управлять не чем.Нажмите F2.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 03:55     Неудачная компиляция и постройка проекта в Code Blocks #8
Цитата Сообщение от Andrea_B Посмотреть сообщение
и появления окна, ничего не происходит. Совершенно.
Ждёт ввода. Ввод делаете? Для прекращения ввода - сгенерировать EOF (в windows: Ctrl + Z ).
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
12.09.2013, 06:11     Неудачная компиляция и постройка проекта в Code Blocks #9
Цитата Сообщение от Andrea_B Посмотреть сообщение
которая всего-навсего считает строки..
Код правилен, но после компиляции и появления окна, ничего не происходит. Совершенно.
Код абсолютно не правилен. Ошибки в синтаксисе и неверная как для задания логика программы. Попробую доступно написать коректный код с обьяснениями. Но чуть позже.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 06:28     Неудачная компиляция и постройка проекта в Code Blocks #10
Цитата Сообщение от XpertVision Посмотреть сообщение
Код абсолютно не правилен. Ошибки в синтаксисе
В чём неправилен и где ошибки в синтаксисе?

Добавлено через 5 минут
Код вполне, себе, рабочий.
Миниатюры
Неудачная компиляция и постройка проекта в Code Blocks  
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
12.09.2013, 07:51     Неудачная компиляция и постройка проекта в Code Blocks #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; //возвращает то самое целое число
              //Принято ставить ноль, если программа вернула в конце выполнения ноль, значит работа завершенна коректно
}
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 08:20     Неудачная компиляция и постройка проекта в Code Blocks #12
Цитата Сообщение от XpertVision Посмотреть сообщение
Программа не выполняет поставленую задачу. (считать количество строк)
Вам скрина недостаточно?

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

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

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

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

Не по теме:

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

elivin
12.09.2013, 08:47
  #15

Не по теме:

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

alsav22
12.09.2013, 09:04
  #16

Не по теме:

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

elivin
12.09.2013, 09:09
  #17

Не по теме:

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

alsav22
12.09.2013, 09:26
  #18

Не по теме:

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

Raali
12.09.2013, 12:08
  #19

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 16:07     Неудачная компиляция и постройка проекта в Code Blocks
Еще ссылки по теме:

sdl и code::blocks C++
Code::Blocks, ошибки при сборке проекта, использующего OpenGL C++
кириллица в Code::Blocks C++
Как в Code::Blocks убрать ресурс из проекта? C++
Раздельная компиляция ( Code blocks) C++

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

Или воспользуйтесь поиском по форуму:
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
12.09.2013, 16:07     Неудачная компиляция и постройка проекта в Code Blocks #20
Цитата Сообщение от alsav22 Посмотреть сообщение
Вам скрина недостаточно?

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

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

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

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

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

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

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

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

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

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

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

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

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

Не по теме:


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

Не по теме:

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

Yandex
Объявления
12.09.2013, 16:07     Неудачная компиляция и постройка проекта в Code Blocks
Ответ Создать тему
Опции темы

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