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

scanf() в теле цикла while - C++

Восстановить пароль Регистрация
 
satisfactor
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 51
26.01.2014, 15:40     scanf() в теле цикла while #1
Почему не срабатывает функция scanf в теле цикла while в этом коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int main()
{
    int reference_value = -1;
    float salary, sales_amount;
 
    printf("Enter the amount of sales in dollars (%d if the input is completed): ", reference_value);
    scanf("%.2f", &sales_amount);
 
    while((int)sales_amount!=reference_value)
    {
        salary = 200 + 0.09*sales_amount;
        printf("Salary: %lf\n", salary);
 
        printf("Enter the amount of sales in dollars (%d if the input is completed): ", reference_value);
        scanf("%.2f", &sales_amount);
    }
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2014, 15:40     scanf() в теле цикла while
Посмотрите здесь:

Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. C++
вывод на экран чисел 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12, с использованием одного цикла и что бы все printf были только в теле цикла C++
Используя одну переменную цикла укажите возможные способы объявления заголовка счетного цикла. C++
C++ Подскажите, чио писать в теле цикла if ele
C++ пролетает gets в теле switch
C++ Int в CHAR или LPCSTR (в теле цикла)
C++ Ошибка в теле цикла, синтаксис
C++ Работа в теле конструктора

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_include
Студент
 Аватар для _include
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
26.01.2014, 15:48     scanf() в теле цикла while #2
У меня работает до тех пока не введу -1. Я например не понял Ваш формат ввода "%.2f". Обычно так пишут при выводе. Я заменил это на просто "%f"
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
#include "stdafx.h"
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <locale>
#include <iostream>
 
int main()
{
    int reference_value = -1;
    float salary, sales_amount;
 
    printf("Enter the amount of sales in dollars (%d if the input is completed): ", reference_value);
    scanf("%f", &sales_amount);
 
    while((int)sales_amount!=reference_value)
    {
        salary = 200 + 0.09*sales_amount;
        printf("Salary: %lf\n", salary);
 
        printf("Enter the amount of sales in dollars (%d if the input is completed): ", reference_value);
        scanf("%f", &sales_amount);
    }
    _getch();
    return 0;
}
satisfactor
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 51
26.01.2014, 16:00  [ТС]     scanf() в теле цикла while #3
Цитата Сообщение от _include Посмотреть сообщение
У меня работает до тех пока не введу -1. Я например не понял Ваш формат ввода "%.2f". Обычно так пишут при выводе. Я заменил это на просто "%f"
в этом и проблема была, как всегда, невнимательность, спасибо.
Yandex
Объявления
26.01.2014, 16:00     scanf() в теле цикла while
Ответ Создать тему
Опции темы

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