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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2012, 19:23   #1
wint1000
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 10
По умолчанию Вывод char из потока? (Qt).

Не могу вывести знаки клавиатуры из потока, в программу. Код привожу ниже. Применение в коде переключателя обязательно. Странно, но в Вижуале всё работает, может что-то не правильно в подключаемых файлах?
Код:
#include <QtCore>
#include <QTextStream>

QTextStream cout (stdout);
QTextStream cin  (stdin);

int main()

{
    double df (0.0);
    double kk (0.0);
    char nn;

    cin>>df>>kk>>nn;

    switch (nn)
    {
    case '+': cout<<"Znak - plus"<<endl;
        break;
    case '-': cout<<"Znak - minus"<<endl;
        break;
    default: cout<<"Neverno vveli"<<endl;
        break;
    }

    return 0;
}
wint1000 вне форума Ответить с цитированием
Старый 03.09.2012, 19:41   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

а вы запустите из командной строки
p51x вне форума Ответить с цитированием
Старый 03.09.2012, 19:54   #3
wint1000
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 10
По умолчанию

Из командной строки не пойдёт. Видно, что это код программы. Я компилирую прогу в экзешник и мне нужна рабочая прога (в описанном варианте) т.е. на ввод '+' выводится один текст, на ввод '-' должен выводится другой текст. "Обходные" варианты для этой задачи НЕ принимаются. Например нужно перехватывать ТИП прямо с клавиатуры и не использовать метод "подмены", т.е., когда вводим к примеру типа int, но в коде преобразуем в другой. Я понимаю, что конечная цель при этом будет выполнена, но нужно именно char перехватить с клавиатуры!
Добавлю, что проект в среде выбран нормально, т.е. "Консольное приложение Qt". Вот файл .pro
Код:
QT       += core

QT       -= gui

TARGET = Vvod_char
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

Последний раз редактировалось wint1000; 03.09.2012 в 20:08.
wint1000 вне форума Ответить с цитированием
Старый 03.09.2012, 20:30   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Из командной строки не пойдёт. Видно, что это код программы.
Что за бред вы несете? exe не пойдет из командной строки?..
p51x вне форума Ответить с цитированием
Старый 03.09.2012, 20:50   #5
wint1000
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 10
По умолчанию

Всё как я и предполагал. Разве запуск из среды программирования Qt должен чем то отличиться? Если там идут сложнейшие вещи, что из среды, что отдельно. Сейчас запустил скомпиленный экзешник отдельно, с рабочего стола и пытался командой запустить. Результат везде один и тот-же -> выводится строка из default:
Вот так. Значит Ваше предположение не верно, ошибка в коде, ну или недоработка.Привожу код, скомпилированный статически:
Код:
#include <QtCore>
#include <QTextStream>
#include <conio.h>
QTextStream cout (stdout);
QTextStream cin  (stdin);

int main()

{
    double df (0.0);
    double kk (0.0);
    char nn;

    cin>>df>>kk>>nn;

    switch (nn)
    {
    case '+': cout<<"Znak - plus"<<endl;
        break;
    case '-': cout<<"Znak - minus"<<endl;
        break;
    default: cout<<"Neverno vveli"<<endl;
        break;
    }
    getch();

    return 0;
}
Есть предположение, что данный код "видит" переменную nn в бинарном, ну либо десятичном формате. Думаю, что он не может соотнести char к бинарному формату. Видно что-то упущено.
Если не получается просто-так помочь, предлагаю за вознаграждение. Можно прямо, всё провести "под наблюдением" форумчан.

Последний раз редактировалось wint1000; 04.09.2012 в 18:21.
wint1000 вне форума Ответить с цитированием
Старый 05.09.2012, 18:54   #6
wint1000
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 10
По умолчанию

Подробнее опишу задание. Исполнителю, "подхватившему" char сразу переводится 800 руб. Думаю, что не для новичка (как я это будет не проблема). Требования:
Только среда Qt либо QtSDK
Вид проекта- только консольное приложение Кьют.
Другие правила я уже достаточно описал выше. Ещё раз повторюсь, не нужно делать подмену типа, подхватить нужно только лишь тип char. В этом и заключается задание. Иначе придётся опровергать и т.д., что приведёт к конфузам. Это имело место в заданиях ранее.
Нужна инфа платёжных данных. Предпочитаю сбербанк или запсибкомбанк.
По данному вопросу сюда: wint1000@yandex.ru

Последний раз редактировалось wint1000; 06.09.2012 в 16:45.
wint1000 вне форума Ответить с цитированием
Старый 06.09.2012, 19:17   #7
Desu_Is_A_Lie
Новичок
Джуниор
 
Аватар для Desu_Is_A_Lie
 
Регистрация: 26.02.2012
Сообщений: 0
По умолчанию

cin>>df>>kk;
cin.skipWhiteSpace();
cin>>nn;
Desu_Is_A_Lie вне форума Ответить с цитированием
Старый 06.09.2012, 20:55   #8
wint1000
Пользователь
 
Регистрация: 06.04.2010
Сообщений: 10
По умолчанию

Спасибочки! Но сообщение не скинул мне на мыло (с платёжными данными). У меня такой принцип. Пацан сказал (написал),- пацан сделал.
wint1000 вне форума Ответить с цитированием
Старый 06.09.2012, 23:48   #9
Desu_Is_A_Lie
Новичок
Джуниор
 
Аватар для Desu_Is_A_Lie
 
Регистрация: 26.02.2012
Сообщений: 0
По умолчанию

Цитата:
Сообщение от wint1000 Посмотреть сообщение
Предпочитаю сбербанк или запсибкомбанк
Есть только WebMoney и Qiwi (сбер придёт только в понедельник). 500 рублей не те деньги, ради которых стоит совершать столько лишних телодвижений.
Desu_Is_A_Lie вне форума Ответить с цитированием
Старый 07.09.2012, 00:16   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

из банка запросто можно перевести на WM зная номер кошелька получателя.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод на экран потока чисел (Dev-С++) Антон1305 Помощь студентам 9 06.07.2012 19:08
Вывод русской строки типа char* dollemika Visual C++ 2 26.11.2011 12:33
C# - Вывод строки System.Char[] вместо нужного результата Lastsummer Помощь студентам 3 02.02.2011 22:55
Вывод в файл содержимого char packetbuf[0x100000] masterbloger Помощь студентам 3 23.01.2011 13:58
Неправильный вывод или присваивание char переменной. PlumBoom Общие вопросы C/C++ 3 23.03.2010 06:34