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

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

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

Найти меньшее число из двух введенных - C++

21.05.2015, 16:04. Просмотров 862. Ответов 11
Метки нет (Все метки)

Здравствуйте. Новичок в С++.Азы.
Задача:
- написать программу, которая выводила бы диапазон чисел, обрабатывая ввод, так, чтобы первым отображалось меньшее число из двух введенных.

Написал такое:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
int main()
{
    
int t1=0,t2=0,cnt=0,crt=0;
int value;
 
if (std::cin>>t1)
int cnt=t1;
  if (std::cin>>t2)
  int crt=t2;
     if(crt!=cnt)
        if (cnt>crt)
           std::cout<<crt;
        else 
        std::cout<<cnt;
 
    return 0;
    
}
У меня вопросы:
-Обрывается программа, а не выводит на консоль меньшее число, после 3 enter...как сделать так чтобы программа не закрывалась, а перебирала введенные данные?


- Не по теме, может подскажите, в какой раздел кидать простые вопросы, если будут возникать, если они не тянут на целые темы?

Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2015, 16:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти меньшее число из двух введенных (C++):

Найти сумму, среднее значение, меньшее и большее из трех введенных чисел - C++
Не могу понять как решть задачу: Программа которая вводит с клавиатуры три целых числа и печатает сумму, среднее значение, меньшее и...

как сложить/умножить/найти большее/найти меньшее/найти средние число - C++
привет всем подскажите как сложить/умножить/найти большее/найти меньшее/найти средние число из например 10 введенных чисел, в одной...

Получить из пары чисел пару равных чисел за как можно меньшее число шагов с помощью двух заданных операций - C++
Господа, нужна ваша помощь. Собственно пересказ задачи: Результатом применения операции 1 к паре натуральных чисел (a, b) является пара...

Найти произведение двух наибольших из трех введенных с клавиатуры чисел - C++
найти произведение двух наибольших из трех введенных с клавиатуры чисел

Найти наибольшее число из пяти введенных пользователем - C++
Нужно найти наибольшее число из пяти введенных пользователем. Написал так: int v; int w; int x; int y; int z; cout &lt;&lt;...

Найти наибольший общий делитель двух введенных чисел, используя алгоритм Евклида - C++
Тема: Функции2. 6. Найти наибольший общий делитель (ндс) двух введенных чисел, используя алгоритм Евклида. Алгоритм Евклида: отнимать от...

11
Mamoruhiko
41 / 39 / 20
Регистрация: 13.05.2015
Сообщений: 222
21.05.2015, 16:10 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
using namespace std;
 
void main()
{
    int chislo1, chislo2;
    cout << "Enter chislo1 and chislo2: ";
    cin >> chislo1 >> chislo2;
    if (chislo1<chislo2)
        cout << chislo1 << endl;
    else 
        cout << chislo2 << endl;
}
1
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
21.05.2015, 16:56  [ТС] #3
Mamoruhiko, я ввожу 13 и 11, нажимаю enter, консоль закрывается, хотя должна же выводить число и не исчезать?
Что-то нето..
У меня пишет что нет stdafx.h, он нужен в коде программы?
0
Mamoruhiko
41 / 39 / 20
Регистрация: 13.05.2015
Сообщений: 222
21.05.2015, 16:58 #4
Clarityeye, таки да. Это предкомпилируемый заголовок.
0
Nosey
1349 / 400 / 108
Регистрация: 22.10.2014
Сообщений: 863
Завершенные тесты: 2
21.05.2015, 17:11 #5
C++
1
2
if (std::cin >> t1)
        int cnt = t1;//создаётся новая локальная переменная cnt в которую кладётся значение t1.
Чтобы программа не закрывалась вы можете добавить следующее в конец программы:
C++
1
std::cin.get();
Или же запускать ваше приложение из коммандной строки.

Ну и чуть изменённый вариант:
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
int main()
{
    int t1 = 0, t2 = 0;
 
    if (std::cin >> t1)
    {
        if (std::cin >> t2)
        {
            if (t1 != t2)
            {
                if (t1 > t2)
                {
                    std::cout << t1;
                }
                else
                {
                    std::cout << t2;
                }
            }
        }
    }
 
    std::cin.get();
 
    return 0;
}
1
Clarityeye
0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 45
21.05.2015, 18:08  [ТС] #6
Nosey,консоль закрывается все равно . А тут нету ничего проблемного в сообщениях? А так проблем никаких нету, ошибок ноль при компиляции и отладке.

"urok.exe": Загружено "C:\Windows\SysWOW64\kernel32.dll"
"urok.exe": Загружено "C:\Windows\SysWOW64\KernelBase.dll"
"urok.exe": Загружено "C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcp90d.dll"
"urok.exe": Загружено "C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll"
Программа "[8336] urok.exe: Машинный код" завершилась с кодом 0 (0x0).

Добавлено через 41 минуту
Всем спасибо за ответы.
Решил проблему с закрывающейся консолью, нужно было добавить
C++
1
2
std::cin.sync();
std::cin.get();
0
Nosey
1349 / 400 / 108
Регистрация: 22.10.2014
Сообщений: 863
Завершенные тесты: 2
21.05.2015, 18:09 #7
Clarityeye, Дубль 2
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
43
44
#include <limits>
int main()
{
    int t1 = 0, t2 = 0;
 
    do
    {
        std::cout << "vvedite pervoe chislo" << std::endl;
        if(!std::cin)
        {
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<int>::max(), '\n');
        }
    } while (!(std::cin >> t1));
 
 
    do
    {
        std::cout << "vvedite vtoroe chislo" << std::endl;
        if(!std::cin)
        {
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<int>::max(), '\n');
        }
    } while (!(std::cin >> t2));
 
    if (t1 != t2)
    {
        if (t1 > t2)
        {
            std::cout << "max value: " << t1;
        }
        else
        {
            std::cout << "max value: " << t2;
        }
    }
 
    std::cin.clear();
    std::cin.ignore(std::numeric_limits<int>::max(), '\n');
    std::cin.get();
 
    return 0;
}
Что-то во входном буфере оставалось
1
zss
Модератор
Эксперт С++
6928 / 6490 / 2182
Регистрация: 18.12.2011
Сообщений: 17,105
Завершенные тесты: 1
21.05.2015, 18:30 #8
Почему все так не любят задерживать закрытие окна командой
C++
1
system("pause");
Ведь она сбрасывает буфер ввода и ждет нажатия любой клавиши.
То, что надо!
1
idm
119 / 33 / 10
Регистрация: 19.03.2015
Сообщений: 90
21.05.2015, 18:48 #9
Цитата Сообщение от Clarityeye Посмотреть сообщение
Не по теме, может подскажите, в какой раздел кидать простые вопросы, если будут возникать, если они не тянут на целые темы?
Можешь добавить во френды и свободно писать их в личку, она в основном для этого и существует.
1
castaway
21.05.2015, 19:02
  #10

Не по теме:

Цитата Сообщение от Mamoruhiko Посмотреть сообщение
Это предкомпилируемый заголовок.
Это обычный заголовочный файл.

0
Mamoruhiko
21.05.2015, 19:57
  #11

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
Это обычный заголовочный файл.
?

0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
21.05.2015, 21:36 #12
Mamoruhiko, я знаю что такое предварительно скомпилированный заголовочный файл.
#include "stdafx.h" на стадии компиляции является обычным заголовочным файлом. Его имя не делает его особенным.

Добавлено через 1 час 2 минуты

Не по теме:

Mamoruhiko, что означает этот знак вопроса?

0
21.05.2015, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2015, 21:36
Привет! Вот еще темы с ответами:

Найти максимальное число среди чисел, введенных с клавиатуры - C++
Найти максимальное число среди чисел, введенных с клавиатуры. Признак конца ввода-0.Вывести количество введенных чисел. С++ я в тупике

Найти наибольший общий делитель и наименьшее общее кратное двух введенных натуральных чисел. - C++
Найти наибольший общий делитель и наименьшее общее кратное двух введенных натуральных чисел.

Найти наибольший общий делитель и наименьшее общее кратное двух введенных натуральных чисел - C++
Напишите пожалуйста код =)

Найти наибольший общий делитель (НОД) двух введенных натуральных чисел, используя алгоритм Евклида - C++
Найти наибольший общий делитель (НОД) двух введенных натуральных чисел, используя алгоритм Евклида. Алгоритм Евклида: вычитаем числа...


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

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

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