powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с компиляцией в Borland C++Builder 6!
25 сообщений из 47, страница 1 из 2
Помогите с компиляцией в Borland C++Builder 6!
    #33572535
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем! У меня проблема с компиляцией в среде программирования Borland C++Builder 6. После нажатия Run/Run у меня появляется сообщение "0 errors, 0 warning" и исчезает, а программа не запускается. Советы, которые дал SnowMan2 не помогли. Что делать? Может для этого нужна дополнительная программа-компилятор? У меня есть Borland C++ Compiler 5.5. И как с ней работать?
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33572552
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyokПосле нажатия Run/Run у меня появляется сообщение "0 errors, 0 warning" и исчезает, а программа не запускаетсяМожет она и не делает ничего, программа-то твоя ?
parenyokСоветы, которые дал SnowMan2 не помоглиа мы их и не видели
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33573101
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой! Я по ошибке вместо того, чтобы задать вопрос в той теме, создал новую. Короче, SnowMan2 посоветовал вот что:
Нажать Project / Options. Закладка Linker. Убрать флажок Use dynamic RTL. Закладка Packages. Убрать флажок Build with runtime packages.
Вообще-то я студент-заочник 1-го курса политеха. Делаю лабы. И вот, к примеру, задание первой лабы и написанная программа (заранее предупрежу, что я только начал учить этот язык!):

Лабораторная работа № 1

Тема: Линейные алгоритмы, вычисления по формулам.
Задание: Написать программу для решения поставленной задачи (см. варианты заданий).

Порядок выполнения работы:

Программа на языке Си должна иметь следующую структуру:

#include <stdio.h>
#include <conio.h>

void main(void)
{ // здесь должны быть объявлены переменные
clrscr(); // очистка экрана

// ввод исходных данных
// решение задачи
// вывод результатов

getch(); // ждем нажатия любой клавиши
}

Результаты должны быть выведены следующим образом. В верхней части экрана вывести следующие строки:

Лабораторная работа № 1
Тема: “Линейные алгоритмы”
\ Выполнил: фамилия имя \

С помощью спецсимвола табуляции первые две строки должны быть размещены по центру экрана, а третья — чуть правее. Далее должны следовать четыре пустые строки и потом — исходные данные и результаты работы программы (в табличной форме).

Задание:

Вычислить расстояние между двумя точками с координатами x1, y1 и x2, y2. Исходные данные и результат вывести в табличной форме.

#include <stdio.h>
#include <conio.h>

void main(void){
float x1, y1, x2, y2, ABx, ABy;
clrscr();
printf("Лабораторная работа № 1\n");
printf("Тема: "Линейные алгоритмы"\n");
printf("\ Выполнил: Чашенков Сергей \\n\n\n\n");
printf("Введите координаты точки A:\nВведите координату х1\n");
scanf("%f", &x1);
printf("Введите координату y1\n");
scanf("%f", &y1);
printf("Введите координаты точки B:\nВведите координату x2\n");
scanf("%f", &x2);
printf("Введите координату y2\n");
scanf("%f", &y2);
ABx=x2-x1;
ABy=y2-y1;
printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);
AB=sqrt(sqr(ABx)+sqr(ABy);
printf("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f)
равна длине вектора АВ и равна %6.2f", x1, x2, y1, y2);
getch();
}


Только я не понял про то как исходные данные и результат вывести в табличной форме? Я изучаю С++ по книге Т.А. Павловской "С/С++. Программирование на языке высокого уровня", но там не соовсем понятно объясняется, что означает, например, в строке "printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);" запись "%6.2f". Зачем в операторе "scanf("%f", &x1);" сначала писать "%f", а потом уже переменную, в которую необходимо занести введённое с клавы число. И с помощью какого спецсимвола табуляции и как вывести строки "Лабораторная работа № 1", "Тема: “Линейные алгоритмы”" по центру, а строку "\ Выполнил: фамилия имя \" чуть правее?
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33573146
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyokНажать Project / Options. Закладка Linker. Убрать флажок Use dynamic RTL. Закладка Packages. Убрать флажок Build with runtime packages.на запуск программы из среды не должно влиять
parenyokТолько я не понял про то как исходные данные и результат вывести в табличной форме?скорее всего с помощью символов табуляции '\t'
parenyokзапись "%6.2f"в справке по бильдеру есть описание форматов. Встань курсором на слово printf и нажми F1
parenyokЗачем в операторе "scanf("%f", &x1);" сначала писать "%f", а потом уже переменную, в которую необходимо занести введённое с клавы числоТак надо :)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33573255
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyokВообще-то я студент-заочник 1-го курса политеха. Делаю лабы. И вот, к примеру, задание первой лабы и написанная программа (заранее предупрежу, что я только начал учить этот язык!):

Все мы учились понемногу
Чему-нибудь и как-нибудь... (с)

parenyok
Только я не понял про то как исходные данные и результат вывести в табличной форме? Я изучаю С++ по книге Т.А. Павловской "С/С++. Программирование на языке высокого уровня", но там не соовсем понятно объясняется, что означает, например, в строке "printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);" запись "%6.2f". Зачем в операторе "scanf("%f", &x1);" сначала писать "%f", а потом уже переменную, в которую необходимо занести введённое с клавы число. И с помощью какого спецсимвола табуляции и как вывести строки "Лабораторная работа № 1", "Тема: “Линейные алгоритмы”" по центру, а строку "\ Выполнил: фамилия имя \" чуть правее?
А help у Вас есть? Вот по нему и смотрите описание соответствующих функций и примеры использования...

В хелпе Вы найдете, что:
\t - обозначает символ табуляции
пара \r\n - обозначает переход на новую строку
\\ - обозначает печатаемый символ \
\" - обозначает печатаемый символ "
%с - обозначает, что будет вводиться/выводиться один символ (char)
%d - обозначает, что будет выводиться целое число (со знаком или без знака)
%f - обозначает, что будет выводиться число с плавающей точкой (float, double)

И, ОБЯЗАТЕЛЬНО (я не хочу никого обидеть):
1. Работайте под ДОС (Установите себе Borland C++ 3.1, так будет проще отлаживать Ваши программы, не будет заморочек с библиотекой VCL, run-time и т.д.). Имхо, для учебных задач и лабораторных работ больше и не надо...

2. сначала разберитесь со стандартным примером "Hello,World" (попробуйте сместить при помощи табуляции вывод фразы к центру экрана).

3. Используйте для обучения языку что-нибудь попроще. Например, учебник Подбельского. Там много примеров, которые я рекомендую разобрать...
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33574338
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас parenyokНажать Project / Options. Закладка Linker. Убрать флажок Use dynamic RTL. Закладка Packages. Убрать флажок Build with runtime packages.на запуск программы из среды не должно влиять

Дак ты мне можешь объяснить как запустить программу?!

Карабас Барабас parenyokТолько я не понял про то как исходные данные и результат вывести в табличной форме?скорее всего с помощью символов табуляции '\t'

А как его использовать? Т.е. что написать, чтобы строки "Лабораторная работа № 1", "Тема: “Линейные алгоритмы”" оказались по центру, а строка "\ Выполнил: фамилия имя \" чуть правее? Просто написать несколько раз перед началом строки "/t"?

Карабас Барабас parenyokзапись "%6.2f"в справке по бильдеру есть описание форматов. Встань курсором на слово printf и нажми F1

Станислав C.А help у Вас есть? Вот по нему и смотрите описание соответствующих функций и примеры использования...

Не хочу показаться навящевым, но Borland C++Builder 6 у меня английский (как, наверно, и у всех), а в английском я плохо шарю. Вот если бы у кого-нибудь взять русификатор...

Станислав C.И, ОБЯЗАТЕЛЬНО (я не хочу никого обидеть):
1. Работайте под ДОС (Установите себе Borland C++ 3.1, так будет проще отлаживать Ваши программы, не будет заморочек с библиотекой VCL, run-time и т.д.). Имхо, для учебных задач и лабораторных работ больше и не надо...

К сожалению, у меня только 6-ой...

Станислав C.3. Используйте для обучения языку что-нибудь попроще. Например, учебник Подбельского. Там много примеров, которые я рекомендую разобрать...

К сожалению, я уже купил книгу Павловской + практикум. А они не малых денег стоят и обидно будет если они "пропадут", т.к. мы в политехе изучаем только азы.
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33574462
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь, придется все же учить английский, разжевывать элементарные вещи тут никто не будет.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33575548
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну скажите, хотя бы, как запустить программу . Большего мне от этой проги ничего и ненадо.
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33575556
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в программе все правильно и она скомпилировалась, то запускается по F9, а можно еще в любом файловом менеджере запустить. А можно еще нажать Пуск-Выполнить и ввести путь и имя запускаемого файла программы. А можно еще с другой машины с помощью psexec, а можно ...... да мало ли как можно запустить программу ! Главное - чтобы программа БЫЛА !
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33575565
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.3. Используйте для обучения языку что-нибудь попроще. Например, учебник Подбельского. Там много примеров, которые я рекомендую разобрать...

А Вы сравнивали эти учебники? А то, может быть, мне правда стоит на него перейти.
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33575675
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас БарабасЕсли в программе все правильно и она скомпилировалась, то запускается по F9, а можно еще в любом файловом менеджере запустить. А можно еще нажать Пуск-Выполнить и ввести путь и имя запускаемого файла программы. А можно еще с другой машины с помощью psexec, а можно ...... да мало ли как можно запустить программу ! Главное - чтобы программа БЫЛА !
Posted via ActualForum NNTP Server 1.3

Ура!!! Установил Far (т.к. недавно систему сносил). Через него запустил файл Laba1.cpp, запустилась программа Borland C++Builder 6 и спросила: "Вы хотите откомпилировать или запустить программу?". После нажатия "Yes" у меня запустился текст первой лабы, т.е. как будто я просто открыл файл Laba1.cpp через Borland C++Builder 6. Далее нажал F9 и тут пошло! Оказывается ошибки в программе есть. Первая - в строке "printf("Тема: "Линейные алгоритмы"\n");". Компилятор не воспринемает слова "Линейные алгоритмы", т.к. мне надо, чтобы они были в кавычках, а компилятор думает, что эти слова являются как бы оператором. А как сделать так, чтобы все слова выводились как надо? И ещё одна ошибка в строке "AB=sqrt(sqr(ABx)+sqr(ABy));". Уж не знаю, что ему не нравится! Ведь в задании требуется найти расстояние от двух точек, а это равносильно нахождению длины вектора по формуле. Но я в книге видел, что квадрат числа записывается умножением, т.е. вместо "sqr(ABx)+sqr(ABy)" надо писать "АВх*АВх+АВу*АВу". Но это ведь не всегда удобно! Ведь, например, нужно найти 2 в 10-ой степени. И что? 10 раз писать 2*? Ну хорошо, квадрат числа я заменил, а как заменить квадратный корень?
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33575733
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyokПервая - в строке "printf("Тема: "Линейные алгоритмы"\n");надо так:
Код: plaintext
printf("Тема: \"Линейные алгоритмы\"\r\n");
учи алб......английский и читай хотя бы хэлп к бильдеру !
к тому же тут уже написали тебе про кавычки ...
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33575973
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyok Но это ведь не всегда удобно! Ведь, например, нужно найти 2 в 10-ой степени. И что? 10 раз писать 2*?

Хихик...
А прикинь как тебе станет неудобно когда понадобиться вычислить 405.233 в степени 3.76???
:-)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

Резюме: читай книги/учебники и жизнь станет легче!
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33575981
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyok10 раз писать 2*? хорошо, квадрат числа я заменил, а как заменить квадратный корень?Подключи math.h и будет щастье, потому как там много чего интересного есть
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33576788
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас parenyok10 раз писать 2*? хорошо, квадрат числа я заменил, а как заменить квадратный корень?Подключи math.h и будет щастье, потому как там много чего интересного есть
Posted via ActualForum NNTP Server 1.3

Ну подключил. И что? Слушай, я понимаю, что для человека, который шарит в С++ даже навороченную программу написать, как конфетку развернуть. А для того, кто только начал изучать язык элементарные вещи доходят туго! Поэтому я тебя умоляю. Доведи мою первую программу до ума, а со следующими я сам поколдую.
Вот теперешний текст моей программы:

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>

char* Rus(const char* text)

void main(void){
float x1, y1, x2, y2, ABx, ABy;
clrscr();
printf Rus("Лабораторная работа № 1\n");
printf Rus("Тема: \"Линейные алгоритмы\"\r\n");
printf Rus("\ Выполнил: Чашенков Сергей \\n\n\n\n");
printf Rus("Введите координаты точки A:\nВведите координату х1\n");
scanf("%f", &x1);
printf Rus("Введите координату y1\n");
scanf("%f", &y1);
printf Rus("Введите координаты точки B:\nВведите координату x2\n");
scanf("%f", &x2);
printf Rus("Введите координату y2\n");
scanf("%f", &y2);
ABx=x2-x1;
ABy=y2-y1;
printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);
AB=sqrt(sqr(ABx)+sqr(ABy);
printf("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f)
равна длине вектора АВ и равна %6.2f", x1, x2, y1, y2);
getch();
}
/////////////////////////////////////////////////////////////////
char bufRus[256];
char* Rus(const char* text){
CharToOem(text. bufRus;
return bufRus;
}
/////////////////////////////////////////////////////////////////

Не забывай о правилах оформления!!! Напишу ещё раз (на всякий пожарный):

Порядок выполнения работы:

Программа на языке Си должна иметь следующую структуру:

#include <stdio.h>
#include <conio.h>

void main(void)
{ // здесь должны быть объявлены переменные
clrscr(); // очистка экрана

// ввод исходных данных
// решение задачи
// вывод результатов

getch(); // ждем нажатия любой клавиши
}

Результаты должны быть выведены следующим образом. В верхней части экрана вывести следующие строки:

Лабораторная работа № 1
Тема: “Линейные алгоритмы”
\ Выполнил: фамилия имя \

С помощью спецсимвола табуляции первые две строки должны быть размещены по центру экрана, а третья — чуть правее. Далее должны следовать четыре пустые строки и потом — исходные данные и результаты работы программы (в табличной форме).
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33576844
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyokдля человека, который шарит в С++ даже навороченную программу написать, как конфетку развернутьНе надо ля-ля. Проблемы возникают, но в 99% случаев я их сам решаю.
parenyokНу подключил. И что?А нажать F1 на файлике math.h ?
parenyokДоведи мою первую программу до умаНет, только могу указать на ошибки
parenyokВот теперешний текст моей программы:тэгом SRC пользуйся
parenyokfloat x1, y1, x2, y2, ABx, ABy;используй double - он точнее
parenyokprintf Rus("\ Выполнил: Чашенков Сергей \\n\n\n\n");Чтобы вывести косую черту, напиши ее джажды: \\
parenyokAB=sqrt(sqr(ABx)+sqr(ABy);замени sqr(ABx) на ABx * ABx
parenyokprintf Rus("\ Выполнил: Чашенков Сергей \\n\n\n\n");надо так:
Код: plaintext
printf(Rus("\ Выполнил: Чашенков Сергей \\n\n\n\n"));
или так:
Код: plaintext
printf("%s",Rus("\ Выполнил: Чашенков Сергей \\n\n\n\n"));

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33576847
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас БарабасА нажать F1 на файлике math.h ?не ту справку выдаст, нажми F1 на слове sqrt
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33577368
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас Карабас БарабасА нажать F1 на файлике math.h ?не ту справку выдаст, нажми F1 на слове sqrt
Posted via ActualForum NNTP Server 1.3
Нажал. Выдало:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Описание

Вычисляет положительный квадратный корень.

sqrt вычисляет положительный квадратный корень аргумента x.

sqrtl - длинная двойная версия; это берет длинный двойной аргумент и возвращает длинный двойной результат. Ошибка, обрабатывающаяся для этих функций может быть модифицирована через функции _matherr и _matherrl.

Обратная Величина

В успехе, sqrt и sqrtl возвращет квадратный корень x. Если x - реальное и положительное число, результат положительный. Если x - реальное и отрицательное число, глобальная переменная errno установлена.

ОШИБКА Области EDOM.
А что это за функции _matherr и _matherrl и как их использовать? Короче, текст программы принял вид:
Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>

char* Rus(const char* text)

void main(void){
float x1, y1, x2, y2, ABx, ABy;
  clrscr();
  printf(Rus("Лабораторная работа № 1\n"));
  printf{Rus("Тема: \"Линейные алгоритмы\"\r\n"));
  printf(Rus("\ Выполнил: Чашенков Сергей \\n\n\n\n"));
  printf Rus("Введите координаты точки A:\nВведите координату х1\n");
  scanf("%f", &x1);
  printf Rus("Введите координату y1\n");
  scanf("%f", &y1);
  printf Rus("Введите координаты точки B:\nВведите координату x2\n");
  scanf("%f", &x2);
  printf Rus("Введите координату y2\n");
  scanf("%f", &y2);
  ABx=x2-x1;
  ABy=y2-y1;
  printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);
  AB=sqrt(sqr(ABx)+sqr(ABy);
  printf("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f)
          равна длине вектора АВ и равна %6.2f", x1, x2, y1, y2);
  getch();
}
/////////////////////////////////////////////////////////////////
char bufRus[ 256 ];
char* Rus(const char* text){
  CharToOem(text. bufRus;
  return bufRus;
}
/////////////////////////////////////////////////////////////////
Теперь ошибка выдаётся в строке
Код: plaintext
void main(void){
В справке говорится следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Вы определили встроенное утверждение сборщика, которое - не правильно. 

procedure AssemblerExample;
  asm
    mov al, $0f0 *  16 
  end;

begin
end.

Встроенный сборщик не способный хранить результат $f0 *  16  в 'al' просто не установился. 

program Solve;
  procedure AssemblerExample;
  asm
    mov al, $0f *  16 
  end;

begin
end.

Убедитесь, что тип обоих операндов совместимый.

И, что странно, здесь описаны операторы begin и end, которых в С++ нет...
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33578703
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyok
Короче, текст программы принял вид:...

Судя по описанию задания должно быть так (программа работает и даже запускается )...
Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
//---------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <windows.h>

#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char* Rus(char* text);

void main(void)
{
 float x1, y1, x2, y2, ABx, ABy,AB;
 clrscr();
 printf("%s",Rus("Введите координаты точки A:\nВведите координату х1: "));
 scanf("%f", &x1);
 printf("%s",Rus("Введите координату y1: "));
 scanf("%f", &y1);
 printf("\n%s",Rus("Введите координаты точки B:\nВведите координату x2: "));
 scanf("%f", &x2);
 printf("%s",Rus("Введите координату y2: "));
 scanf("%f", &y2);
 ABx=x2-x1;
 ABy=y2-y1;
 AB=sqrt(pow(ABx, 2 )+pow(ABy, 2 ));
 clrscr();
 printf("\t\t\t\t%s\r\n",Rus("Лабораторная работа № 1"));
 printf("\t\t\t\t%s\r\n",Rus("Тема: \"Линейные алгоритмы\" " ));
 printf("\t\t\t\t%s\r\n\n\n\n",Rus("\\Выполнил: Чашенков Сергей\\"));
 printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);
 printf("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f) \
        равна длине вектора АВ и равна %6.2f\n", x1, x2, y1, y2,AB);
  getch();
}
/////////////////////////////////////////////////////////////////
char* Rus(char* text)
{
 CharToOem(text,text);
 return text;
}
/////////////////////////////////////////////////////////////////
Как говорится - найдите 10 отличий
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33578706
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyokВ справке говорится следующее:
Вы определили встроенное утверждение сборщика, которое - не правильно.

procedure AssemblerExample;Ой, это я ваще никогда не видел, что ты там установил и запустил-то ?
parenyokvoid main(void){
float x1, y1, x2, y2, ABx, ABy;А не int main(int argc, char* argv[]) ли ?
И сказал же - используй double !
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33578708
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.
Код: plaintext
1.
2.
3.
4.
char* Rus(char* text)
{
 CharToOem(text,text);
 return text;
}
Если мне не изменяет память, то в компиляторе по умолчанию стоит "megre duplicate strings" (кажется так)
Так что, если эту функцию дважды вызвать для одной строки, то получится ой
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33578726
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабас Станислав C.
Код: plaintext
1.
2.
3.
4.
char* Rus(char* text)
{
 CharToOem(text,text);
 return text;
}
Если мне не изменяет память, то в компиляторе по умолчанию стоит "megre duplicate strings" (кажется так)
Так что, если эту функцию дважды вызвать для одной строки, то получится ой
Posted via ActualForum NNTP Server 1.3
С этим я согласен... Но по контектсту задачи такого не должно получиться, так как передаваемые строки в переменные не запоминаются....
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33578742
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.С этим я согласен... Но по контектсту задачи такого не должно получиться, так как передаваемые строки в переменные не запоминаются....Насколько я понимаю, это именно для констант действует :)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33579162
parenyok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C. parenyok
Короче, текст программы принял вид:...

Судя по описанию задания должно быть так (программа работает и даже запускается )...
Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
//---------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <windows.h>

#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char* Rus(char* text);

void main(void)
{
 float x1, y1, x2, y2, ABx, ABy,AB;
 clrscr();
 printf("%s",Rus("Введите координаты точки A:\nВведите координату х1: "));
 scanf("%f", &x1);
 printf("%s",Rus("Введите координату y1: "));
 scanf("%f", &y1);
 printf("\n%s",Rus("Введите координаты точки B:\nВведите координату x2: "));
 scanf("%f", &x2);
 printf("%s",Rus("Введите координату y2: "));
 scanf("%f", &y2);
 ABx=x2-x1;
 ABy=y2-y1;
 AB=sqrt(pow(ABx, 2 )+pow(ABy, 2 ));
 clrscr();
 printf("\t\t\t\t%s\r\n",Rus("Лабораторная работа № 1"));
 printf("\t\t\t\t%s\r\n",Rus("Тема: \"Линейные алгоритмы\" " ));
 printf("\t\t\t\t%s\r\n\n\n\n",Rus("\\Выполнил: Чашенков Сергей\\"));
 printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);
 printf("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f) \
        равна длине вектора АВ и равна %6.2f\n", x1, x2, y1, y2,AB);
  getch();
}
/////////////////////////////////////////////////////////////////
char* Rus(char* text)
{
 CharToOem(text,text);
 return text;
}
/////////////////////////////////////////////////////////////////
Как говорится - найдите 10 отличий
Стас, от всей души спасибо тебе!!! Вот только есть малюсенький нюансик в строках
Код: plaintext
1.
2.
 printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);
 printf("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f) \
        равна длине вектора АВ и равна %6.2f\n", x1, x2, y1, y2,AB);
Короче, нюанс в том, что вместо русских букв выводятся козюбрики. Я посчитал, что эта проблема решается заменой этих строк на
Код: plaintext
1.
2.
 printf(Rus("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy));
 printf(Rus("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f) \
        равна длине вектора АВ и равна %6.2f\n", x1, x2, y1, y2,AB));
Написал. Нажал F9 и опа-на - ошибка! Нажал F1 и прочитал следующее:
Код: plaintext
1.
2.
3.
4.
5.
Пакет, который указан в сообщении появляется в пакетном списке, или
явно, или требует статью другого устройства, появляющегося в пакетном
списке, бит не может быть обнаружен компилятором. 

Решение этой проблемы должно гарантировать, что файл DCP для поименованного
пакета - на одном из устройств названных в библиотечном пути.
И чё делать? И что означает в строке (например)
Код: plaintext
printf("%s",Rus("Введите координату y2: "));
запись
Код: plaintext
"%s"
?
А зачем в начале программы строки
Код: plaintext
1.
#pragma hdrstop
#pragma argsused
?
И почему ты поменял строки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
/////////////////////////////////////////////////////////////////
char bufRus[ 256 ];
char* Rus(const char* text)
{
CharToOem(text. bufRus;
return bufRus;
}
/////////////////////////////////////////////////////////////////
на
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
/////////////////////////////////////////////////////////////////
char* Rus(char* text)
{
 CharToOem(text,text);
 return text;
}
/////////////////////////////////////////////////////////////////
Т.е. что они обозначают?
...
Рейтинг: 0 / 0
Помогите с компиляцией в Borland C++Builder 6!
    #33579284
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
parenyok Вот только есть малюсенький нюансик в строках
Код: plaintext
1.
2.
 printf("Вектор AB имеет координаты %6.2f, %6.2f\n", ABx, ABy);
 printf("Расстояние от точки A(%6.2f, %6.2f) до точки В(%6.2f, %6.2f) \
        равна длине вектора АВ и равна %6.2f\n", x1, x2, y1, y2,AB);
Короче, нюанс в том, что вместо русских букв выводятся козюбрики.

Эти строки надо преобразовать так:
Код: plaintext
1.
2.
printf("\n\n%s %6.2f, %6.2f\n",Rus("Вектор AB имеет координаты:"), ABx, ABy);
printf("\n%s(%6.2f,%6.2f)%s(%6.2f,%6.2f)\r\n%s %6.2f \r\n",Rus("Расстояние от точки A"), x1, y1, Rus(" до точки В"),x2, y2,Rus("равна длине вектора АВ и равна "),AB);

parenyok
И что означает в строке (например)
Код: plaintext
printf("%s",Rus("Введите координату y2: "));
запись
Код: plaintext
"%s"
?


В Help по функции printf() и далее по ссылкам

parenyok
А зачем в начале программы строки
Код: plaintext
1.
#pragma hdrstop
#pragma argsused
?

Это осталось от "мастера" при создании консольного приложения...

parenyok
И почему ты поменял строки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
/////////////////////////////////////////////////////////////////
char bufRus[ 256 ];
char* Rus(const char* text)
{
CharToOem(text. bufRus;
return bufRus;
}
/////////////////////////////////////////////////////////////////
на
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
/////////////////////////////////////////////////////////////////
char* Rus(char* text)
{
 CharToOem(text,text);
 return text;
}
/////////////////////////////////////////////////////////////////
Т.е. что они обозначают?
1. Во-первых, потому, что там ошибка (пропущена скобка и вместо запятой поставлена точка)
2. Во-вторых, в моей функции - это преобразование "на месте", т.е. не требуется дополнительного выделения памяти (ну захотелось мне сэкономить 256 байт )... В контексте данной задачи это допустимо... Хотя, как указал Карабас-Барабас не совсем корректно...
3. В-третьих, эта функция все-равно не понадобтся при запуске файла в среде DOS (если преподаватель попросит все запустить в ДОСовском С/С++)
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с компиляцией в Borland C++Builder 6!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]