Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2013, 20:53   #1
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
Печаль У меня происходит зацикливание?(Оператор switch(),циклы)

Подскажите, пожалуйста, действительно ли происходит зацикливание... Или почему вылетает программа?
Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int main()
{
    int n=9, l=1;
    float x=10.0, sum=10.0;
    char c;
    system("chcp 1251> nul");
    printf("В первый день спортсмен пробежал 10 км. Каждый следующий день он пробегал на 10% больше, чем в предыдущий.\n");
    printf("Определить:\n");
    printf("1) сколько км он пробежит в 10-й день;\n"
           "2) в какой день он впервые пробежит больше 20 км\n"
           "3) в какой день его  суммарный пробег превысит 100 км\n");
    printf("Для выбора пункта, нажмите соответственно 1,2 или 3:");
    scanf("%c", c);
    switch (c)
    {
           case '1':
                while (n!=0)
                {
                      x=(x/float(100))*10+x;
                      n--;
                }
                printf("%f км", x);
                break;
           case '2':
                while (x<20)
                {
                      x=(x/float(100))*10+x;
                      l++;
                }
                printf(" в %d день", l);
                break;
           case '3':
                while (sum<100);
                {
                      x=(x/float(100))*10+x;
                      sum=sum+x;
                      l++;
                }
                printf(" в %d день", l);
                break;    
    }
    getch();
    return 0;
}
zaira001002 вне форума Ответить с цитированием
Старый 30.09.2013, 21:10   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Попробуйте написать:
Код:
fflush(stdin);
getch();
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 30.09.2013, 21:23   #3
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию

Все так же , по-прежнему, вылетает

а не может быть дело в том, что начальные значения задала сразу же... при определении их типа?(

Последний раз редактировалось Stilet; 30.09.2013 в 21:31.
zaira001002 вне форума Ответить с цитированием
Старый 30.09.2013, 21:26   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Ой, не заметил
scanf("%c", &c);
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 30.09.2013, 21:27   #5
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию

Хотя, думаю, что ошибка в том....что внутри case у меня не один оператор, а несколько.... а работает она скорее с одним ибо с одним составным

СПАСИИББББОО БОЛЬШОЕ))))))) Какая же невнимательная я((((

Все работает) как надо)))

Последний раз редактировалось Stilet; 30.09.2013 в 21:33.
zaira001002 вне форума Ответить с цитированием
Старый 30.09.2013, 21:30   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
действительно ли происходит зацикливание...
Самый простой способ узнать зацикливание: Поставить точки прерываний на оператор break - тогда будет видно какой цикл проходит, а какой не отпускает.
Бряки ставить умеешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.09.2013, 21:38   #7
zaira001002
Форумчанин
 
Аватар для zaira001002
 
Регистрация: 13.09.2012
Сообщений: 122
По умолчанию

break?или что ? ну а так... программа работает... ошибку нашли мне уже) дело не в зацикливании было)
zaira001002 вне форума Ответить с цитированием
Старый 01.10.2013, 10:40   #8
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

А в чем же.....????? Мне тоже интересно!
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему происходит зацикливание? Arigato Общие вопросы Delphi 8 29.04.2013 19:06
C++ оператор SWITCH Ramina Помощь студентам 10 05.02.2012 19:32
C++ оператор switch Pingvinenok_Lolo Помощь студентам 4 05.12.2011 23:11
оператор switch aank10 Общие вопросы C/C++ 3 01.06.2011 10:28
Оператор switch. IgorArhangel Помощь студентам 4 16.01.2009 01:53