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

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

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

корректировка уже введенных пользователем данных - C++

31.08.2010, 16:26. Просмотров 511. Ответов 3
Метки нет (Все метки)

Работаю в консоли. Пользователю выдаются показатели бух.баланса, после чего проверяется, сошелся баланс или нет (при инициализации переменных им присваивается нулевое значение).
Как сделать, чтобы пользователь мог пропустить ввод показателя простым нажатием <Enter> (согласиться с предлагаемым умолчанием или уже введенным им в предыдущий заход значением)?

Если я убираю в конце каждой строки cout выражение { <<"\n" }, то вводить придется сразу же после имеющегося числа. Как сделать, чтобы можно было это число редактировать?

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    void BalanceInput(void)
    {
        cout << "Введите показатели баланса \n";
        cout << "Актив \n\n";
        cout << "Нематериальные активы (строка 110)" <<ad4<<"\n";
        cin >> ad4;
        cout << "Основные средства (строка 120)"<<ad5<<"\n";
                ...
        cout <<"Прочие внеоборотные активы (строка 150)"<<ad10<<"\n";
        cin >> ad10;
        ad11 = ad4+ad5+ad6+ad7+ad8+ad9+ad10;
        cout <<"Проверка. Итого по разделу: " << ad11<<"\n";
    
        cout <<"II. Оборотные запасы \n\n";
    }   
 
 
 
bool shodbalance(void)
{
    bool shodbalance = false;
    
    cout <<"\nПроверка, сошелся ли баланс \n\n";
    if (passiv==activ) 
        {shodbalance=true;
        cout <<"\nБаланс сошелся.\n\n";}
    else cout <<"\nБаланс НЕ сошелся! Разница составляет: "<<activ-passiv<<"\n\n";
    
    return shodbalance; 
}
 
 
int main(int argc, char* argv[])
{
 
    BalanceInput();
    bbb=shodbalance(); // проверка сходимости баланса может быть осуществлена только после ввода баланса!
    if (bbb==true)
    {AnalitBalance();} // анализируем баланс...
    else BalanceInput();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2010, 16:26     корректировка уже введенных пользователем данных
Посмотрите здесь:
Обработка значений, введенных пользователем C++
Сравнить два числа, введенных пользователем C++
C++ Найти сумму положительных из 4-х чисел, введенных пользователем
Вместо введенных пользователем чисел выводить звездочки C++
C++ Введение массива пользователем и подсчет введенных элементов
C++ Найти наибольшее число из пяти введенных пользователем
C++ Найти максимальное из трех чисел, введенных пользователем
Программа которая находит минимальное из введенных пользователем чисел C++
C++ Дописать в файл пять введенных пользователем целых чисел
Определить, сколько из чисел, введенных пользователем, кратны пяти C++
C++ Вывести на экран большее из двух значений, введенных пользователем, используя if

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
31.08.2010, 16:41     корректировка уже введенных пользователем данных #2
А может просто сделать меню, типа

1. Использовать данные предыдущего ввода
2. Ввести новые данные
Выберите требуемое действие:

И просто если введено 2, сначала требовать ввод новых данных, ну а если что-то другое, сразу переходить к вызову необходимых функций.
punhin
0 / 0 / 0
Регистрация: 30.08.2010
Сообщений: 12
31.08.2010, 17:08  [ТС]     корректировка уже введенных пользователем данных #3
Цитата Сообщение от silent_1991 Посмотреть сообщение
А может просто сделать меню, типа

1. Использовать данные предыдущего ввода
2. Ввести новые данные
Выберите требуемое действие:

И просто если введено 2, сначала требовать ввод новых данных, ну а если что-то другое, сразу переходить к вызову необходимых функций.
не, так не пойдет: или баланс сошелся, или пользователь, его вводивший, что-то напутал (хотя напутать мог и бухгалтер, но программа-то здесь при чем? она должна требовать ввода корректных значений, а корректными будут такие значения, при которых баланс сойдется - внесение "отсебятины" должно остаться на совести пользователя). Поэтому во-первых нужно показывать пользователю те значения, которые он ввел, и просить его или подтвердить их (нажатием <Enter>), или исправить (ввести другие значения).
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
31.08.2010, 17:56     корректировка уже введенных пользователем данных #4
Вам надо что-то вроде этого (программа чисто для примера)?
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
27
28
#include <stdio.h>
 
int main()
{
    int a = 1, b = 1;
    char value[8];
    
    while (1)
    {
        printf("\na = %d", a);
        printf("\nPodtverdite znachenie (Enter) ili vvedite novoe: ");
        fgets(value, 8, stdin);
        
        if (value[0] != '\n')
            a = atoi(value);
 
        printf("\nb = %d", b);
        printf("\nPodtverdite znachenie (Enter) ili vvedite novoe: ");
        fgets(value, 8, stdin);
 
        if (value[0] != '\n')
            b = atoi(value);
 
        printf("\na + b = %d\n", a + b);
    }
    
    return 0;
}
Yandex
Объявления
31.08.2010, 17:56     корректировка уже введенных пользователем данных
Ответ Создать тему
Опции темы

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