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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Andrea_B
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 22
#1

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

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

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

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

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

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

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

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

MS VS in CODE BLOCKS - C++
Делал проекты в VISUAL C++ EXPRESS. Сеичас пересел на LINUX, пользуюсь CODE BLOCKS . Есть какие-нибудь варианты как открыть проекты...

37
Genn55
368 / 215 / 41
Регистрация: 26.12.2012
Сообщений: 708
11.09.2013, 22:57 #2
Посмотрите здесь
http://iguania.ru/uchebnik-po-osnova...programma.html
0
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
11.09.2013, 23:00 #3
Попробуй добавить system( "pause" ); в конец программы.
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 831
11.09.2013, 23:24 #4
было похожее из-за антивируса
0
Andrea_B
0 / 0 / 0
Регистрация: 11.09.2013
Сообщений: 22
11.09.2013, 23:33  [ТС] #5
Цитата Сообщение от Genn55 Посмотреть сообщение
Посмотрите здесь
http://iguania.ru/uchebnik-po-osnova...programma.html
Да все так и делал
Тем более, что предыдущие задачи, вроде бы, хорошо шли. Ну там совсем были ерундовые: просто на изучение синтаксиса циклов for и while )

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

Добавлено через 5 минут
Код вполне, себе, рабочий.
0
Миниатюры
Неудачная компиляция и постройка проекта в Code Blocks  
XpertVision
17 / 17 / 3
Регистрация: 14.06.2012
Сообщений: 150
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
alsav22
5421 / 4816 / 442
Регистрация: 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
elivin
65 / 65 / 1
Регистрация: 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     Неудачная компиляция и постройка проекта в Code Blocks
  #15

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 08:47
Привет! Вот еще темы с ответами:

Code::Blocks - C++
Здравствуйте. Я в английском не силён, и разобраться самостоятельно с этой IDE не могу. У меня есть несколько вкладок с открытыми *.cpp...

Code::Blocks - C++
В Code::Blocks когда ты откомпилил программу в Debug, после внес изменения и снова &quot;откомпилил&quot;, то нет результата от 2-й компиляции -...

code::blocks 10.05 - C++
Я установил себе C++ code::blocks. И когда я компилирую любую программу и потом запускаю .exe выдаёт ошибку не находит libstdc++-6.dll. Я...

Code::blocks и VS - C++
всем привет, у меня такой вопрос: какой в Code::blocks аналог для #include stdafx.h? Нужно запустить, операции использую для этой...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.09.2013, 08:47
Ответ Создать тему
Опции темы

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