Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2010, 18:33   #1
notbugme
Подтвердите свой е-майл
 
Регистрация: 24.01.2010
Сообщений: 12
Вопрос Нажатие на Enter без перевода на новую строку

Вопрос новичка, как на C++ сделать так,чтоб при вводе данных в консоль и нажатии на Enter курсор ввода не переходил на новую строку?

Конечно можно через getch() но на сколько я понял,он считывает только определённое количество символов, а у меня по-разному.

вопрос №2
Заметил что результаты операций над числами (char) взятых из Getch() очень странные, я думаю это из-за того что C++ считает их текстовыми,да?
Если да то как перевести их в цифры.

Думаю понятно изъяснил

И да, консоль Windows
notbugme вне форума Ответить с цитированием
Старый 18.09.2010, 18:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Если да то как перевести их в цифры.
atoi() переводит строку в число.
Цитата:
как на C++ сделать так,чтоб при вводе данных в консоль и нажатии на Enter курсор ввода не переходил на новую строку?

Конечно можно через getch() но на сколько я понял,он считывает только определённое количество символов, а у меня по-разному.
а зачем?
Это как бы стандартный способ ввода...

Дописано:
Цитата:
ROD
Синхронно в одно и то же кольцо )))))))))))
I'm learning to live...

Последний раз редактировалось Stilet; 18.09.2010 в 18:43.
Stilet вне форума Ответить с цитированием
Старый 18.09.2010, 18:40   #3
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Если да то как перевести их в цифры.

стандартной сишной функцией atoi. Принимает текстовую строку, возвращает целочисленное значение, либо ноль, если в строке что-то не понятное(например буквы, пробелы, другие символы, кроме чисел, точки и знака "минус").
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 18.09.2010, 19:30   #4
notbugme
Подтвердите свой е-майл
 
Регистрация: 24.01.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от ROD Посмотреть сообщение
стандартной сишной функцией atoi. Принимает текстовую строку, возвращает целочисленное значение, либо ноль, если в строке что-то не понятное(например буквы, пробелы, другие символы, кроме чисел, точки и знака "минус").
Не осилил я atoi,после getch она не хотела брать переменную,не того типа.
Но сделал так:
Код:
char a;
a=getch();
double z=(a-'0');
Я нормален?

Дак все-таки как сделать чтоб перехода при нажатии на Enter не было, просто getch() не совсем подходит.
notbugme вне форума Ответить с цитированием
Старый 18.09.2010, 19:45   #5
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,618
По умолчанию

Код:
#include <conio.h>
int main(){
	char s[25];
	int i;
	for(i=0;(s[i]=getche())!=13;i++);
	s[i]=0;
	getch();
	return 0;
}
остается на старой строке
rrrFer вне форума Ответить с цитированием
Старый 18.09.2010, 20:47   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Я нормален?
Не очень. double тут при чем? И кстати этак только числа от 1 до 9 мона получить
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.09.2010, 21:16   #7
notbugme
Подтвердите свой е-майл
 
Регистрация: 24.01.2010
Сообщений: 12
По умолчанию

Код:
#include <iostream>
using namespace std;

int main()
{
    double  x1;
    setlocale(LC_ALL, ".1251");
    cout <<"x1= "<<
    cin>>x1;
    cout <<x1<<
    return 0;
}
Почему не работает? только без endl; как-то исправить можно?

___________________________________ ___________________________________ __________

А вот причина по которой я не могу осилить atoi, как вот это записать правильнее?

Код:
#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
    char a,b;
    setlocale(LC_ALL, ".1251");
    cout <<"Введите цифру"<< endl;
    a=getch(); b=getch();
    int atoi(a);    // Как исправить эти
    int atoi(b);    // 2 строки
    return 0;
}
Компилятор пишет что:

main.cpp|12|error C2374: 'atoi' : redefinition; multiple initialization|

Последний раз редактировалось notbugme; 18.09.2010 в 21:29.
notbugme вне форума Ответить с цитированием
Старый 19.09.2010, 16:50   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
как-то исправить можно?
Код:
    cout <<"x1= \n"
    cin>>x1;
    cout <<x1<<'\n';
Увидел?
Цитата:
А вот причина
А в хелп заглянуть? Лень матушка мешает?
Код:
	char a[10],b[10];
    setlocale(LC_ALL, ".1251");
    cout <<"Введите цифру"<< endl;
	cin>>a;
	cin>>b;
    int i=atoi(a);    // Как исправить эти
    int k=atoi(b);    // 2 строки
	cout<<i<<'\t'<<k;
	system("pause");
    return 0;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.09.2010, 17:14   #9
notbugme
Подтвердите свой е-майл
 
Регистрация: 24.01.2010
Сообщений: 12
По умолчанию

Код:
   cout <<"x1= \n"
    cin>>x1;
    cout <<x1<<'\n';
А без перехода на новую строку (в любом его проявлении) нельзя?
notbugme вне форума Ответить с цитированием
Старый 19.09.2010, 18:49   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
А без перехода на новую строку (в любом его проявлении) нельзя?
Чет я не понял... Ты же написал
Цитата:
только без endl
Это что означало? Что тебе нужен аналог этой константы, или что тебе нужно от нее избавится? Ну так ты ее и не писал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход на новую строку delphin100 Общие вопросы Delphi 9 31.05.2012 04:52
Двойное нажатие клавиши Enter Nezaam Помощь студентам 4 18.08.2010 17:00
Как среагировать на нажатие Enter на форме Electron Общие вопросы C/C++ 4 24.06.2010 12:49
Нажатие Enter Screame Microsoft Office Excel 1 01.11.2009 17:02
отловить нажатие клавиши в ячейке (до нажатия enter) loginrl103 Microsoft Office Excel 3 07.08.2009 15:10