Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ввод нескольких значений в одной строке ? 
:(
    Опции темы
Remiznik
Дата 20.12.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



може кто сталквался подскажит как реализовать ввод нескольких значений в одной строке !

выглядеть должно как-то  так !

Введите первое значение X введите второе значение Y !

все функции ввода закнчивают ввод ENTER и автоматически перебрасывают на новую строку как с этим бороться ? 
PM MAIL   Вверх
GoldFinch
Дата 20.12.2008, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



а как твоя прога узнает что ты уже ввел значение если ты не нажал [enter] ?
PM MAIL ICQ   Вверх
Remiznik
Дата 20.12.2008, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



я вот и незнаю ... !!!но лудше бы чтоб при нажатие на энтер фугкция не перебрасывал на новую строчку а печатала следуюший текст в этой же строке !!! только как это реализовать ? 
PM MAIL   Вверх
Dov
Дата 20.12.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Код
    int X, Y, Z;
    cout <<"Enter X, Y and Z: ";
    cin >> X >> Y >> Z; // вводи значения через пробел



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
Remiznik
Дата 20.12.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



это вариант ! но нужно вводить сразу два значения подряд ... но текст между ними не вставить (
PM MAIL   Вверх
IKM2007
Дата 20.12.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca

Репутация: 3
Всего: 40



Цитата(Remiznik @  20.12.2008,  21:53 Найти цитируемый пост)
это вариант ! но нужно вводить сразу два значения подряд ... но текст между ними не вставить (

То есть вводишь 423, и хочешь, чтобы в первой переменной было 4, а во втором 23? Компилятор не телепат. Сам никогда не узнает...


--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
Remiznik
Дата 20.12.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



нет я хочут так !


какойто текст ПЕРЕМЕНАЯ(пробел) какойто текст ПЕРЕМЕНЯ(ЭНТЕР)
новая строка 
PM MAIL   Вверх
GoldFinch
Дата 20.12.2008, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



ну так и сделай как хочешь... делов-то...
PM MAIL ICQ   Вверх
Remiznik
Дата 20.12.2008, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 30.4.2005

Репутация: 1
Всего: 1



как это сделать ? 
PM MAIL   Вверх
Dov
Дата 21.12.2008, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


аСинизатор
***


Профиль
Группа: Завсегдатай
Сообщений: 1721
Регистрация: 10.5.2003
Где: Эрец-Исраэль

Репутация: 11
Всего: 88



Код
#define LEN 12
 
void gotoXY(short x, short y)
{
    HANDLE StdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD  coord  = {x, y};

    SetConsoleCursorPosition(StdOut, coord);
}

int whereX()
{
    HANDLE StdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO csbi;

    GetConsoleScreenBufferInfo(StdOut, &csbi); 

    return int(csbi.dwCursorPosition.X);
}

int main()
{
    char   buf[LEN];
    int    x, y, A, B;

    printf("Enter A: ");
    x = whereX();   
    scanf("%d", &A);

    sprintf(buf, "%d", A);
    gotoXY(x + strlen(buf), 0);    
   
    printf(" Enter B: ");
    scanf("%d", &B); 

    return 0;
}



--------------------
Тут вечности запах томительный,
И свежие фрукты дешевые, 
А климат у нас – изумительный, 
И только соседи – #уевые. 
                           Игорь Губерман.
PM   Вверх
586
Дата 21.12.2008, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 8
Всего: 146



Код
#include <windows.h>
#include <conio.h>
#include <stdio.h>

void gettext(char *s_out, unsigned int nSize)
{
    unsigned int pos = 0;
    while(1)
    {
        switch(char c = getch())
        {
        case VK_RETURN:
            s_out[pos++] = 0;
            return;

        case VK_BACK:
            if(pos) {
                --pos;
                putch(VK_BACK);
                putch(' ');
                putch(VK_BACK);
            }
            break;

        case 3:     // CTRL+C
            //GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0);   // иногда не завершает выполнение программы - заменил на функцию exit
            s_out[pos] = 0;
            exit(0);
            return;

        default:
            if(pos < (nSize-1))
                putch(s_out[pos++] = c);
            else
                putch('\a');    // beep
        }
    }
}

int main(int argc, char* argv[])
{
    char a[12], b[12], c[12];
    printf("A=");
    gettext(a, 12);
    printf("  B=");
    gettext(b, 12);
    printf("  C=");
    gettext(c, 12);

    printf("\n\nResults: A=%s  B=%s  C=%s\n", a, b, c);

    getch();
    return 0;
}


Это сообщение отредактировал(а) 586 - 21.12.2008, 01:05
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.