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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кнопки и их предназначения. 
:(
    Опции темы
Енер
Дата 17.2.2011, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть уже готовая программа, точнее ее основа, весь код не стал выкладывать, он не нужен, написанная на C
Код

#include <iostream.h>
#include <math.h>
#include <conio.h>
void main()
{
clrscr();
char x;
cout<<"Ввод данных";
cin >>x;
switch(x)
{
case 'a': cout<<"программа1";break;
case 'b': cout<<"программа2";break;
case 'c': cout<<"программа3";break;
default: cout<<"Ошибка!/a";
}
getch();
}

она работает так как нужно, и при вводе в оператор cout нужною мне букву программа адекватно реагирует на нее, выводит нужный мини блок, и корректно его выполняет. Но это все делается в ручную, нужно ввести букву и нажать Enter, что не очень хорошо.
Так вот, много искал в поисковиках, обходил 10-ки форумов, нигде нету уроков по созданию нормальной навигации ну или исходного кода, пришлось просить помощи у вас.
Нужно как то переделать ввод данных cout<<"Ввод данных";, как то так:
http://imgs.su/tmp/1297889396-128.jpg
то есть у нас есть допустим 3 кнопки, и каждой кнопке была присвоена своя буква (как изобразил на рисунке), и эти кнопки были кликабельны, (ну или можно было ими манипулировать с помощью стрелочек навигации на клавиатуре), после клика на определенную кнопку в вывод данных cin >>x; в переменную x подставлялась та буква что присвоена  кнопке, ну а дальше уже дело техники, оператор switch сделает свое дело.
Надеюсь описал все понятно. Буду рад за любую помощь.

Это сообщение отредактировал(а) Енер - 17.2.2011, 18:47
PM MAIL WWW ICQ   Вверх
bsa
Дата 17.2.2011, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



стандартными средствами это получить нельзя. используй kbhit() и getche() из conio.h.
PM   Вверх
Енер
Дата 17.2.2011, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я прошу прощения, но может Вы знаете где почитать о этом? или может есть где то пример, просто я не очень понимаю как использовать то что Вы предложили в варианте с кнопкой и переменной еще  и в множестве smile 
kbhit - проверка ввода с клавиатуры (Проверяет наличие ввода с клавиатуры.)
Код

      #include <stdio.h>
      #include <conio.h>
      main()
      {
        printf("Нажмем любую клавишу:");
        while(!kbhit());
        printf("\n Была нажата клавиша (%c)\n", getch());
      }

но как его прицепить в мою программу, не знаю smile 

А функцию getche в принципе понял как использовать.

Это сообщение отредактировал(а) Енер - 17.2.2011, 23:37
PM MAIL WWW ICQ   Вверх
bsa
Дата 18.2.2011, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



я спутал getche() с getch().

Вместо cin >> x напиши:
Код
while(!kbhit());
x = getch();

PM   Вверх
Енер
Дата 18.2.2011, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

Это сообщение отредактировал(а) Енер - 18.2.2011, 15:30
PM MAIL WWW ICQ   Вверх
xvr
Дата 18.2.2011, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Вам нужна GUI'евая программа. Для начала выберите в каком Framework'е вы ее будете писать, а потом изучайте уже именно его. Сделать то, что вы хотите в консоли будет сложнее, чем в оконной проге.

PM MAIL   Вверх
Енер
Дата 18.2.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 smile а в каком Framework'е вы посоветуете писать? мне сильно много графики не нужно. Пишу в Turbo C, даже уже написал программу, осталась только эта проблемка с кнопочками. =(
PM MAIL WWW ICQ   Вверх
xvr
Дата 18.2.2011, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Енер @  18.2.2011,  19:01 Найти цитируемый пост)
а в каком Framework'е вы посоветуете писать?
Их много разных. Qt, .NET, VCL, Tk и еще вагон и маленькая тележка. Берите любой


PM MAIL   Вверх
Енер
Дата 18.2.2011, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Благодарю за помощь, очень помогли, буду гуглить и искать информацию.  smile 
PM MAIL WWW ICQ   Вверх
bsa
Дата 22.2.2011, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



На Turbo C указанные фреймворки работать не будут. Да и не надо. Если проект учебный, варианта с вводом буквы будет достаточно. Если же что-то рабочее, то есть большие сомнения, что это надо писать на Turbo C. С 80-х годов прошлого века программирование ушло далеко вперед. Да и все остальное, связанное с компьютерами.
PM   Вверх
Nat
Дата 22.2.2011, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я, возможно, что-то упустила, но вопрос такой: а нельзя элементарно использовать Builder или Visual, где существует возможность конструирования любой произвольной формы с любыми кнопками? Или в условии задачи Turbo C обязателен?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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