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

В чем ошибка (маленькая программка)? - C++

Восстановить пароль Регистрация
 
Johnlion
 Аватар для Johnlion
62 / 2 / 0
Регистрация: 11.05.2011
Сообщений: 666
20.11.2011, 16:34     В чем ошибка (маленькая программка)? #1
Определить, лежит ли окружность С0 в середине окружности С1

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
30
31
32
33
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <locale.h>
void main()
{
    setlocale(LC_ALL,"");
    float C0[3], C1[3], d;
    printf ("Введите x окружности С0=");
    scanf_s ("%f", &C0[0]);
    printf ("Введите y окружности С0=");
        scanf_s ("%f", &C0[1]);
    printf ("Введите радиус окружности С0=");
        scanf_s ("%f", &C0[2]);
    printf ("Введите x окружности С1=");
    scanf_s ("%f", &C1[0]);
    printf ("Введите y окружности С1=");
        scanf_s ("%f", &C1[1]);
    printf ("Введите радиус окружности С1=");
        scanf_s ("%f", C1[2]);
    if (C0[2]<=0 || C1[2]<=0)
        printf ("Ошибка при вводе радиуса");
    else
    {
        d = sqrt( (C1[0]-C0[0])*(C1[0]-C0[0]) + (C1[1]-C0[1])*(C1[1]-C0[1]) );
        if (d+C0[2] < C1[2])
        
            printf ("C0 лежит в середине C1");
        else
            printf ("C0 не лежит в середине C1");
    }
    _getch();
}
Что не так? Программа выдает ошибку:
В чем ошибка (маленькая программка)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2011, 16:34     В чем ошибка (маленькая программка)?
Посмотрите здесь:

удаление из массива повторяющихся элементов! где-то маленькая ошибка! C++
В чем ошибка???? C++
C++ Маленькая программка - вопрос по двоичным числам.
C++ В чем ошибка
маленькая ошибка в программе C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
20.11.2011, 16:36     В чем ошибка (маленькая программка)? #2
а где объявления С0 и С1 ?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2011, 16:37     В чем ошибка (маленькая программка)? #3
Johnlion, может быть в том, что вы переменные не объявили
Странно...
Johnlion
 Аватар для Johnlion
62 / 2 / 0
Регистрация: 11.05.2011
Сообщений: 666
20.11.2011, 16:43  [ТС]     В чем ошибка (маленькая программка)? #4
На самом деле объявил, но сюда чего-то не скопировалось. Изменил код. Изначально он был такой.

Не по теме:
ребят, как правильно удалить все старые версии Visual Studio, чтоб при установке новой ничего не возвращалось из старых (начисто стереть все)? Может быть, в этом проблема.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2011, 16:50     В чем ошибка (маленькая программка)? #5
Johnlion, в 20-ой строчке амперсанд пропустили
Johnlion
 Аватар для Johnlion
62 / 2 / 0
Регистрация: 11.05.2011
Сообщений: 666
20.11.2011, 17:00  [ТС]     В чем ошибка (маленькая программка)? #6
Цитата Сообщение от go Посмотреть сообщение
Johnlion, в 20-ой строчке амперсанд пропустили
Отлично, тогда все работает . Но есть вопрос: как сделать так, чтобы "ошибка при вводе радиуса" выводилась не после ввода ВСЕХ элементов окружности, а сразу после неправильного ввода радиуса (например, окружности С0). Как бы, чтобы программа не ждала, пока я все элементы введу, а вот сразу - я ввел радиус С0=-7 и тут же выводится "ошибка при вводе радиуса". Подскажите, пожалуйста.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2011, 17:06     В чем ошибка (маленькая программка)? #7
Johnlion, добавь
C
1
2
3
4
5
if (C0[2]<0) 
  {
      printf ("EROOR");
      return -1;
   }
Johnlion
 Аватар для Johnlion
62 / 2 / 0
Регистрация: 11.05.2011
Сообщений: 666
20.11.2011, 17:26  [ТС]     В чем ошибка (маленькая программка)? #8
Цитата Сообщение от go Посмотреть сообщение
Johnlion, добавь
C
1
2
3
4
5
if (C0[2]<0) 
  {
      printf ("EROOR");
      return -1;
   }
А функция void, поэтому return не работает. Что делать?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2011, 17:27     В чем ошибка (маленькая программка)? #9
Цитата Сообщение от Johnlion Посмотреть сообщение
А функция void, поэтому return не работает. Что делать?)
или
C
1
exit (1);
или
C
1
int main ()
Johnlion
 Аватар для Johnlion
62 / 2 / 0
Регистрация: 11.05.2011
Сообщений: 666
20.11.2011, 17:36  [ТС]     В чем ошибка (маленькая программка)? #10
Цитата Сообщение от go Посмотреть сообщение
или
C
1
exit (1);
или
C
1
int main ()
Да, и еще. Исправил void main() на int main() - работает, но сразу же после печати "ERROR" у меня синее окошко программы закрывается. Еще один getch вставить или что нужно сделать, чтобы оно оставалось?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2011, 17:39     В чем ошибка (маленькая программка)?
Еще ссылки по теме:

В чем ошибка? C++
C++ маленькая маленькая консультация, не сложная работа
Маленькая ошибка C++

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2011, 17:39     В чем ошибка (маленькая программка)? #11
Johnlion, да перед ретурном getchar ();
и не забудте в конце программы return 0; написать
Yandex
Объявления
20.11.2011, 17:39     В чем ошибка (маленькая программка)?
Ответ Создать тему
Опции темы

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