|
|
|
Vorobey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 20.11.2005 Репутация: -1 Всего: нет |
Может Название темы не отражает её суть, но у меня почему то капризничает компилятор. Решил написать простейшую программу с оператором while.
Вот её код. //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <stdio.h> #include <conio.h> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { int lower,upper,step,a,b; lower=1; upper=100; step=2; a=lower; while(a <= upper) { b=a*2; printf("%4.0f %4.0f\n",a,b); a=a+step; } getch() } * //--------------------------------------------------------------------------- Компилятор (поправте если не правильно написал) выдаёт ошибку в строке с * (это поставил я только чтобы показать строку. В коде звёздочки нет) Ошибка пишется [C++ Error] Unit1.cpp(24): E2379 Statement missing ; Объясните в чём проблема??? Пытался много раз. Всегда вылезает. Было и раньше когда я писал программу по книге. Там тоже была жта проблема, но менее назойливая. Я тогда случайно передвинул последнюю фигурную скобку, но вернул обратно. ошибка выдавалась. Но когда я переписал код (не трогая скобку) всё стало ОК. Это сообщение отредактировал(а) Vorobey - 7.1.2006, 01:25 |
|||
|
||||
volvo877 |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 2072 Регистрация: 15.11.2004 Репутация: 13 Всего: 116 |
Vorobey,
точку с запятой после getch() ставить не пробовал? Это ж не Дельфи, в конце-то концов |
|||
|
||||
Fin |
|
|||
Дракон->Спать(); Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Компилятор же ясно говорит, пропушен знак ; . т.е. ты не закрыл оператор. Как правило в таких случаях компиляторы ругаются на следуюшую строку. Так как считают ее продолжением предыдушей. Да кстати зачем в консольное приложение ташить библиотеку vcl.h? -------------------- Пролетал мимо. |
|||
|
||||
Vorobey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 20.11.2005 Репутация: -1 Всего: нет |
Если честно то эта библиотека у меня по умолчанию прописывается. Сам удивился. в демке этого не было.
А про точку с запятой сглупил. ИЗВИНЯЮСЬ. Я сам новичёк, вот и проглядел. Спасибо. Всё заработало. Правда у меня в обоих столбиках нули. Я планировал 2 столбика. 1 это нечётные числа от 1 до 100. 2 это 1 столбик умноженный на 2. Когда записал int lower,upper,step; float a,b; то всё заработало. Можете объяснить почему. В книге не нашёл. Объясните попроще пожалуйста. Я так понял что float используется для чисел со знаками после запятой, а int для целых. но сдесь то пременные a и и получаются целые. вот я их и отнёс к типу int. В чём тогда проблема??? Почему были нули??? и что изменилось??? Это сообщение отредактировал(а) Vorobey - 7.1.2006, 01:56 |
|||
|
||||
TIGERоX |
|
|||
начинающий... Профиль Группа: Участник Сообщений: 59 Регистрация: 7.9.2005 Репутация: 1 Всего: 1 |
printf("%4.0f %4.0f\n",a,b) - проблема в этом "f" указывает на то что а и b должны быть типа float
посмотри справку на эту функцию! пробуй так printf("%d %d\n",a,b) a,b - int |
|||
|
||||
zarden |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.1.2006 Репутация: нет Всего: нет |
тип int используется при работе с целыми числами
тип float - с дробными, т. е с цифрами после запятой))) |
|||
|
||||
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |