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

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

Войти
Регистрация
Восстановить пароль
 
ArxangelXA
43 / 13 / 0
Регистрация: 20.08.2012
Сообщений: 594
#1

Не понимаю как использовать функцию getchar() - C++

15.09.2013, 15:01. Просмотров 815. Ответов 14
Метки нет (Все метки)

Мне нужно что бы при нажатий на определенную клавишу прога выходила из консоли, это мая первая программка. Конечно не обязательно что бы эта функция(я просто такой вариант в интернете нашел), а прикрутить не могу не понимаю как.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[]) 
{
     
    float kilometer=0;
    std::cout<<"kilometers = ";
    std::cin>>kilometer;
    std::cout<<kilometer;
    std::cout<<" km = ";
    std::cout<<kilometer*0.621371192;
    std::cout<<" mile\n";
}
C++
1
int _tmain(int argc, _TCHAR* argv[])
//и можете еще объяснить, что означает вот эта строка(везде где смотрел используется так "int main ()" main-я так понял название, а почему по стандарту в документе создается такая строка, что есть что тут)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2013, 15:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не понимаю как использовать функцию getchar() (C++):

Не понимаю функцию,подскажите как лучше - C++
#include &lt;iostream&gt; using namespace std; int day(int); int main() { int d; cin&gt;&gt;d; day(d); system(&quot;pause&quot;); ...

Как использовать функцию? - C++
Помогите, плз. Беда с функциями, не совсем понимаю как их вызывать. Вот запилил я, например, прогу, которая задает рандомный массив и юзает...

Как в C++ использовать функцию inc(); ? - C++
подскажите пожалуйста, как вот это: inc(b); можно сделать в С++?

Как использовать функцию getline - C++
есть программа структура о книгах, с поиском по дате из-за функции cin можно ввести только одно слово так как после пробела cin не...

Как использовать функцию НОРМСТРАСП - C++
как эту функцию записать в с++ ??

Как использовать функцию Kbhit()? - C++
Как я понял, то функция kbhit() сохраняет значение нажатой клавиши в буфере. Подскажите, как получить это значение из буфера. Мне...

14
monolit
187 / 186 / 22
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
15.09.2013, 15:22 #2
Цитата Сообщение от ArxangelXA Посмотреть сообщение
int main ()"
Можешь смело писать так, ибо аргументы командной строки не используешь(если прогу эту из cmd запускать)
return 0; вставить забыл...
1
ArxangelXA
43 / 13 / 0
Регистрация: 20.08.2012
Сообщений: 594
15.09.2013, 15:25  [ТС] #3
monolit, А как насчет клавиши выхода?
0
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
15.09.2013, 15:30 #4
используй std::cin.get(), выйдет при нажатии кнопки enter
1
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 15:30 #5
Цитата Сообщение от ArxangelXA Посмотреть сообщение
А как насчет клавиши выхода?
C++
1
2
3
4
5
6
7
8
#include <conio.h>
 
int main() 
{
     
    while (getch() != 'y');
    return 0;
}
1
ArxangelXA
43 / 13 / 0
Регистрация: 20.08.2012
Сообщений: 594
15.09.2013, 15:37  [ТС] #6
alsav22, А записать так что ли?)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    while (getch() != 'y');
    float kilometer=0;
    std::cout<<"kilometers = ";
    std::cin>>kilometer;
    std::cout<<kilometer;
    std::cout<<" km = ";
    std::cout<<kilometer*0.621371192;
    std::cout<<" mile\n";
    return(0);
}
Все равно само выходит
0
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 15:41 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
   
    float kilometer=0;
    std::cout<<"kilometers = ";
    std::cin>>kilometer;
    std::cout<<kilometer;
    std::cout<<" km = ";
    std::cout<<kilometer*0.621371192;
    std::cout<<" mile\n";
 
    while (getch() != 'y');
    return(0);
}
1
ArxangelXA
43 / 13 / 0
Регистрация: 20.08.2012
Сообщений: 594
15.09.2013, 15:50  [ТС] #8
alsav22, Большое спасибо все работает, только почему то в visual studio 2012 выдает ошибку и не работает, а в 2008 все ок)
0
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 15:58 #9
Цитата Сообщение от ArxangelXA Посмотреть сообщение
только почему то в visual studio 2012 выдает ошибку
Если код выдаёт ошибку, то сразу пишите какую, а то лишние вопросы приходится задавать.
1
ArxangelXA
43 / 13 / 0
Регистрация: 20.08.2012
Сообщений: 594
15.09.2013, 16:01  [ТС] #10
Нажимаешь ок программа загружается, но без функций выхода(сама вылетает)
0
Миниатюры
Не понимаю как использовать функцию getchar()  
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 16:18 #11
Сначала жмите на Построить решение (F7), а не на запуск (у вас старый код запускается). И покажите какие ошибки компиляции.
1
ArxangelXA
43 / 13 / 0
Регистрация: 20.08.2012
Сообщений: 594
15.09.2013, 16:30  [ТС] #12
Цитата Сообщение от alsav22 Посмотреть сообщение
Сначала жмите на Построить решение (F7), а не на запуск (у вас старый код запускается). И покажите какие ошибки компиляции.
1>------ Построение начато: проект: ConsoleApplication2, Конфигурация: Debug Win32 ------
1> ConsoleApplication2.cpp
1>c:\users\guru\documents\visual studio 2012\projects\consoleapplication2\consoleapplication2\consoleapplication2.cpp(16): error C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\conio.h(131): см. объявление "getch"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 16:32 #13
Заморочки 12 студии... getch замените на _getch.
1
ArxangelXA
43 / 13 / 0
Регистрация: 20.08.2012
Сообщений: 594
15.09.2013, 16:34  [ТС] #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Заморочки 12 студии... getch замените на _getch.
Да уж)) Спасибо, в следующий раз буду иметь ввиду.
0
monolit
187 / 186 / 22
Регистрация: 24.03.2011
Сообщений: 670
Завершенные тесты: 1
15.09.2013, 17:39 #15
Да, это окно много о чем говорит. К примеру о том, что есть ошибка, и все.
Сообщение сильно опоздало..
0
15.09.2013, 17:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2013, 17:39
Привет! Вот еще темы с ответами:

Как использовать функцию flush()? - C++
для проверки правильности вводимых данных использую такой код #include &lt;stdio.h&gt;; #include &lt;iostream&gt;; using namespace std; ...

Как использовать функцию fgets? - C++
Люди прочитал тут про функцию fgets() но как то понять до конца не могу поясните плиз кто понимает и работал с ней уже... А нашел такую...

Как использовать функцию rename в XCode ? - C++
В какой библиотеке искать? Все, что нахожу в интернете, компилятор в упор не видит.

Как использовать консольную функцию GetCurrentConsoleFont ? - C++
Доброго времени всем! У меня Visual C++ 6.0 и ОС -XP Пож. Помогите разобраться с использованием консольной функции API ...


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

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

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