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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2012, 16:49   #1
Alex-Kunfuman
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 20
По умолчанию switch оператор

Привет, мужики!
Помогите пожалуйста кто-то вот с эдакой проблемкой по Си. Чего-то никак не получается у меня, чтоб нормально программа работала...Я хочу сделать так, чтобы при вводе конкретного арифметического символа, моя программка посчитала числа...а после компиляции, вообще пустой экран получается..Может кто-нибудь сказать в чем проблема?

Код:
#include <stdio.h>
#include <conio.h>

main()
{     
      float  a, b, c;
      char simbol;
      printf("Vvedite 1-oe cislo : ");
      scanf("%f", &a);
      printf("Vvedite 2-oe cislo : ");
      scanf("%f", &b);
      printf("Vvedite arifmeticheskii simvol : \n ");
      scanf("%c", &simbol);
      switch(simbol)
      {
            case '+' : c = a + b; break;
            case '-' : c = a - b; break;
            case '*' : c = a * b; break;
            case '/' : c = a / b; break;
            default  : c = 0; break;
      }
      printf("Resultat : \n", c);
      getch(); 
}
Вложения
Тип файла: txt New Text Document.txt (614 байт, 150 просмотров)

Последний раз редактировалось ACE Valery; 19.01.2012 в 18:17.
Alex-Kunfuman вне форума Ответить с цитированием
Старый 19.01.2012, 16:51   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Во-первых, в постановке вопроса
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 19.01.2012, 16:52   #3
Alex-Kunfuman
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 20
По умолчанию

сейчас,надеюсь вопрос понятен.)
Alex-Kunfuman вне форума Ответить с цитированием
Старый 19.01.2012, 17:47   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Проблема в том, что вот в этой строчке
Цитата:
scanf("%c", &simbol);
заботливо считывается символ перевода строки, введенный вами (ну Enter же нажимали после ввода числа "b", да?).
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 19.01.2012, 18:49   #5
Alex-Kunfuman
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 20
По умолчанию

да...
вот оно как..
спасибо. Я попробовал изменить, но не получается..Вы можете мне показать,что нужно изменить..Я только начал работать в Си, и опыта пока в этом деле мало..Просто не вижу ошибки.

Последний раз редактировалось Alex-Kunfuman; 19.01.2012 в 19:12.
Alex-Kunfuman вне форума Ответить с цитированием
Старый 19.01.2012, 19:57   #6
Жека_
Пользователь
 
Регистрация: 24.04.2011
Сообщений: 24
По умолчанию

попробуй так
printf("Resultat : %f \n", c);
Жека_ вне форума Ответить с цитированием
Старый 19.01.2012, 21:39   #7
Alex-Kunfuman
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 20
По умолчанию

Спасибо за ответ. Это верно, только вот я арифметический символ никак ввести не могу...получается так,когда я запускаю exe-шник и ввожу числа для обработки, я должен ввести символ операции,которую буду проводить с данными числами..но тут он мне ответ сразу выдает по-нулям..даже и про символ введенный не спрашивает.
Alex-Kunfuman вне форума Ответить с цитированием
Старый 19.01.2012, 21:48   #8
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>

int main()
{     
    float  a, b, c;
    char simbol;
    printf("Vvedite 1-oe cislo : ");
    scanf("%f", &a);
    printf("Vvedite 2-oe cislo : ");
    scanf("%f", &b);
    printf("Vvedite arifmeticheskii simvol : ");
    scanf("%c", &simbol);  
    scanf("%c", &simbol);  // <---  c чем это связанно, сам никак в толк не возьму
    switch(simbol)
    {
    case '+' : c = a + b; break;
    case '-' : c = a - b; break;
    case '*' : c = a * b; break;
    case '/' : c = a / b; break;
    default  : c = 0; break;
    }
    printf("Resultat : %f \n", c);
    getch(); 
}
_Bers вне форума Ответить с цитированием
Старый 19.01.2012, 22:04   #9
Alex-Kunfuman
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 20
По умолчанию

Спасибо за помощь!
Alex-Kunfuman вне форума Ответить с цитированием
Старый 19.01.2012, 22:13   #10
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Цитата:
Код:
    scanf("%c", &simbol);  
    scanf("%c", &simbol);  // <---  c чем это связанно, сам никак в толк не возьму
Если бы вы внимательно прочли предыдущие сообщения, то легко и просто взяли бы это в толк

Цитата:
заботливо считывается символ перевода строки, введенный вами (ну Enter же нажимали после ввода числа "b", да?).
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ оператор switch Pingvinenok_Lolo Помощь студентам 4 05.12.2011 23:11
оператор switch aank10 Общие вопросы C/C++ 3 01.06.2011 10:28
оператор выбора Switch Fornarina Общие вопросы C/C++ 1 31.10.2010 12:56
Оператор выбора switch(C++) michal3003 Помощь студентам 2 06.09.2010 02:05
Оператор switch. IgorArhangel Помощь студентам 4 16.01.2009 01:53