Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
satisfactor
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 51
#1

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

26.01.2014, 15:40. Просмотров 290. Ответов 2
Метки нет (Все метки)

Почему не срабатывает функция 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2014, 15:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос scanf() в теле цикла while (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++
вывод на экран чисел 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12, с использованием одного цикла и что бы все printf были только в теле...

Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. - C++
Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения...

Ошибка в теле цикла, синтаксис - C++
Собственно, на скриншоте видно жалобы компилятора.

Подскажите, чио писать в теле цикла if ele - C++
Как написать цикл if или if else по заданному условию? Даны целые числа n, m, k и логическая переменная t. Вичислить res=ложь, если...

Int в CHAR или LPCSTR (в теле цикла) - C++
Привет, есть цикл: for (int i=0,x=650;i&lt;2;i++,x-=80) { TCHAR BtnText; ...

Применение цикла if для определения простых чисел. If внутри цикла for - C++
Доброго времени суток, подскажите пожалуйста, в чем тут дело. С кодом все хорошо, все работает, просто я пытаюсь докопаться до сути и...

2
_include
Студент
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
26.01.2014, 15:48 #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;
}
1
satisfactor
0 / 0 / 0
Регистрация: 11.01.2010
Сообщений: 51
26.01.2014, 16:00  [ТС] #3
Цитата Сообщение от _include Посмотреть сообщение
У меня работает до тех пока не введу -1. Я например не понял Ваш формат ввода "%.2f". Обычно так пишут при выводе. Я заменил это на просто "%f"
в этом и проблема была, как всегда, невнимательность, спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2014, 16:00
Привет! Вот еще темы с ответами:

Используя одну переменную цикла укажите возможные способы объявления заголовка счетного цикла. - C++
Используя одну переменную цикла укажите возможные способы объявления заголовка счетного цикла.

Работа в теле конструктора - C++
constructor Account::Account(int initialBalance) { if (initialBalance &gt;= 0) balance = initialBalance; if (initialBalance &lt;=...

пролетает gets в теле switch - C++
не хочет запрашивать ввод строки, как будто строки gets(s); нету while (v != 1 &amp;&amp; v != 2) { cin &gt;&gt; v; switch(v) { ...

Нахождение отрицательного цикла в графе и вывод цикла - C++
Вот программа по нахождению отрицательного цикла в графе и вывод цикла void Floyd(int GR, int parents , int V) { int checking; int...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.