1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

Помогите с Калькулятором на С

Тема в разделе "С и С++", создана пользователем MariannaSec, 22 май 2009.

  1. MariannaSec

    MariannaSec Гость

    Репутация:
    0
    Здравствуйте, проблема следующая.
    Необходимо написать калькулятор на С, операции банальные +,-,* и /
    есть два числа типа float. Необходимо произвести проверку правильности ввода чисел
    (не введен ли случайно буква или пр. символы)
    пробовала работать с результатом функции scanf(), и если он равен 0, обрабатывать ошибку, но
    если ввести за места числа, например, "2в", то число "2" программа проглотит, а букву "в" будет использовать
    в качестве результата следующего ввода.

    Вот пример кода для операции сложения.
    [codebox] do
    {
    printf("Enter the 1st number of the SUM (for example 3.12):\n");
    err = scanf("%f", &a);//reading the fisrt
    if (err==0)
    {
    printf("\nYou are entering not a float number");
    rewind(stdin);
    }
    }
    while (err == 0);
    do
    {
    printf("Enter the number you want to ADD (for example 3.12):\n");
    err=scanf("%f",&:);//reading the second number
    if (err==0)
    {
    printf("\nYou are entering not a float number");
    rewind(stdin);
    }
    }
    while (err == 0);
    result = a + b;//making ADDITION
    printf("\n The result of ADDITION operation is:\n %f", result); //output the result
    [/codebox]

    Также существует еще одна проблема:
    если я ввожу числа 12.1212 и 12.1214 складываю, то получается странный результат типа 24.24259, хотя должен быть 24.2426

    Пожалуйста, откликнитесь, буду очень признательна!!!!!
     
  2. Seagull

    Seagull Гость

    Репутация:
    0
    введённое с клавы сливай в строку, посимвольно разбирай, должны быть 1234567890.- и если нет- проси ввести ещё раз... разбор- switch - ом

    Например так... криво, но можно...
     
  3. ChexoV

    ChexoV Гость

    Репутация:
    0
    в цикле проверь каждый символ с помощью функции isalpha(); она определяет являеться ли символ буквой)
     
Загрузка...
Похожие Темы - Помогите Калькулятором на
  1. citizenfour
    Ответов:
    1
    Просмотров:
    64
  2. Tayrus
    Ответов:
    1
    Просмотров:
    73
  3. Lcf11
    Ответов:
    2
    Просмотров:
    81
  4. Tayrus
    Ответов:
    3
    Просмотров:
    101
  5. KanycTa
    Ответов:
    1
    Просмотров:
    76

Поделиться этой страницей