HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

консоль -> GUI
  #1  
Старый 23.05.2009, 11:22
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
С нами: 9607837

Репутация: 158
По умолчанию консоль -> GUI

есть простейшая консольная программа:

Код:
#include <stdio.h>                      
#include <stdlib.h>                     
 
int main(void)                          
{
  int i;                                
  char buffer[500]; 

 
loop: printf("Vvedite chislo: ");           
  scanf("%o", &i);     
 
  itoa(i,buffer,10);                    
  printf("decimal: %s\n", buffer);      
 
  itoa(i,buffer,16);
  printf("hexadecimal: %s\n", buffer);  
 
  itoa(i, buffer, 2);                  
  printf("binary: %s\n", buffer);
  printf ("\n");
  printf ("_____________________________\n");
	  printf ("\n");
 getchar ();
 goto loop;
 getchar ();
  return 0;                             
}
помогите сделать ее на ГУИ чтобы ввод числа:
Код:
 (  loop: printf("Vvedite chislo: ");        
  scanf("%o", &i);   )
вводился в текстбокс и по нажатию кнопки результаты:
Код:
itoa(i,buffer,10);                    
  printf("decimal: %s\n", buffer);      
 
  itoa(i,buffer,16);
  printf("hexadecimal: %s\n", buffer);  
 
  itoa(i, buffer, 2);                  
  printf("binary: %s\n", buffer);
выводились на форме

Последний раз редактировалось s_p_a_m; 23.05.2009 в 11:24..
 
Ответить с цитированием

  #2  
Старый 23.05.2009, 12:04
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами: 10535289

Репутация: 107


По умолчанию

Я точно не понял чем ГУИ вариант должен отличатся от консольного.Но возможно это так
Код:
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;
char buffer[500];
i=atoi(Edit1->Text.c_str());
itoa(i,buffer,10);
printf("decimal: %s\n", buffer);
itoa(i,buffer,16);
printf("hexadecimal: %s\n", buffer);
itoa(i, buffer, 2);
printf("binary: %s\n", buffer);
Label1->Caption=buffer;
}
 
Ответить с цитированием

  #3  
Старый 23.05.2009, 12:15
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
С нами: 9607837

Репутация: 158
По умолчанию

гуи вариант должен отличатся от консольного визуальным интерфейсом и если можно то по порядку ато я в ГУИ темный лес... отблагодарю как могу
 
Ответить с цитированием

  #4  
Старый 23.05.2009, 12:29
kl0yn
Познающий
Регистрация: 15.12.2008
Сообщений: 30
С нами: 9159857

Репутация: 15
По умолчанию

тебе дали пример на Builder C++. Там уже проще некуда
 
Ответить с цитированием

  #5  
Старый 23.05.2009, 12:36
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами: 10535289

Репутация: 107


По умолчанию

Сначала немного недопонял что делает консольній вариант.Кажется вот то что надо
Код:
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i;AnsiString out;
char buffer[500];
i=atoi(Edit1->Text.c_str());
itoa(i,buffer,10);
out=out+"decimal:"+AnsiString(buffer)+"\r";
itoa(i,buffer,16);
out=out+"exadecimal:"+AnsiString(buffer)+"\r";
itoa(i, buffer, 2);
out=out+"binary:"+AnsiString(buffer)+"\r";
Label1->Caption=out;
}
На форму надо добавить TEdit,TButton,TLabel 2 раза жмакнуть по баттону и скопировать туда нужный код.
ЗЫ:это код для Borland C++ Builder
 
Ответить с цитированием

  #6  
Старый 23.05.2009, 12:38
s_p_a_m
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
С нами: 9607837

Репутация: 158
По умолчанию

у меня VC++ 2008, при компиляции ошибки, просто если можно выложите готовые исходники для студии, с меня +++, буду благодарен
 
Ответить с цитированием

делать нефиг...
  #7  
Старый 23.05.2009, 14:16
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию делать нефиг...

вот цени чисто на winAPI exe весит 3,5 кило... можно меньше хех

скачать проект

Цитата:
Сообщение от sprintf format  
d, i — десятичное знаковое число, размер по-умолчанию, sizeof( int ). По-умолчанию записывается с правым выравниванием, знак пишется только для отрицательных чисел;
o — восьмеричное беззнаковое число, размер по-умолчанию sizeof( int );
u — десятичное беззнаковое число, размер по-умолчанию sizeof( int );
x и X — шестнадцатеричное число, x использует маленькие буквы (abcdef), X большие (ABCDEF), размер по-умолчанию sizeof( int );
f и F — числа с плавающей запятой. По-умолчанию выводятся с точностью 6, если число по модулю меньше единицы, перед десятичной точкой пишется 0. Величины ±∞ представляются в форме [-]inf или [-]infinity, Величина Nan представляется как [-]nan или [-]nan(любой текст далее). Использование F выводит указанные величины заглавными буквами (-INF, NAN). Аргумент по-умолчанию имеет размер double.
e и E — числа с плавающей запятой в экспоненциальной форме записи (вида 1.1e+44); e выводит символ «e» в нижнем регистре, E — в верхнем (3.14E+0);
g и G — число с плавающей запятой; форма представления зависит от значения величины (f или e);
a и A — число с плавающей запятой в шестнадцатеричном виде;

Последний раз редактировалось Gar|k; 23.05.2009 в 14:28.. Причина: ну это так для справки
 
Ответить с цитированием

Решение под MFC
  #8  
Старый 23.05.2009, 17:09
Suteki
Новичок
Регистрация: 18.05.2009
Сообщений: 12
С нами: 8939101

Репутация: 19
Exclamation Решение под MFC

Проект реализован с использованием MFC

Вот собственно рабочий кусок кода:


PHP код:
// m_Dec - DDX переменная EDiT для DEC значений - iNT
// m_Hex - DDX переменная EDiT для HEX значений - CString
// m_Oct - DDX переменная EDiT для OCT значений - CString
// m_Bin - DDX переменная EDiT для BiN значений - CString
//
// OnChangeEdit1 - Отклик на изменение EDiT куда вводит DEC числа
// DecToBin - написанная мною функция для преобразования DEX в BiN

void CCodeDlg::OnChangeEdit1()
{
    
UpdateData(true);
    
m_Hex.Format("0x%08x"m_Dec );
    
m_Oct.Format("%o"m_Dec );
    
DecToBin(m_Dec);
    
UpdateData(false);
}

void CCodeDlg::DecToBin(int X)
{
    
int b X;
    
int ots 0;

    
m_Bin "";

    while(
b>0)
    {
        if (
ots == 8)
            {
            
m_Bin += " ";
            
ots 0;
            }
        if(
b%2==1)
        {
            
m_Bin += "1";
            
b/=2;
        }
        else
        {
            
m_Bin += "0";
            
b/=2;
        }
        
ots++;
    }
    
m_Bin.MakeReverse();

Скрин:


ТУТ исходник + собранный EXE

Последний раз редактировалось Suteki; 23.05.2009 в 17:15.. Причина: Перезалил скрин
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование GUI приложений в perl ph1l1ster PHP 8 26.03.2009 17:50
Продаю самые Красивые номера. Красивые 5,6 знаки. Кирпич ICQ - Покупка, продажа 3 09.04.2004 18:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.