Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] С++ есть консолная программа нужно сделать ее визуальной

Ответить
Настройки темы
C/C++ - [решено] С++ есть консолная программа нужно сделать ее визуальной

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Klim1988
Дата: 26-10-2010
Доброго время суток уважаемые форумчане, дали задание написать программу, получилось мне ее написать консольной. Помогите пожалуйста преобразовать ее из консольной в визуальную, т.е. чтобы программа работала с кнопок

вот код программы

читать дальше »
PHP код: Выделить весь код

#include "stdafx.h"

#include <string.h>
#include <conio.h>
#include <iostream>
#include<iterator>
#include <stdio.h>


char UpSymbol(char c){
    
int i=(int)c;

    if ((
i>96)&&(i<122)){
        
i=i-32;
    };
    if ((
i>-97)&&(i<-80)){
        
i=i-32;
    };
    if ((
i>-33)&&(i<-16)){
        
i=i-80;
    };
    if (
i==-15){
        
i=-16;
    };
    return (
char)i;
}

int main(void
{
using namespace std;
char s[255];
int i;

cout<<"Enter Text: ";
cin.getline(s,255);

s[0]=UpSymbol(s[0]);

for(
i=0;i<strlen(s);i++){
    
    if (
s[i]==' '){
        
s[i+1]=UpSymbol(s[i+1]);
    }
}
cout << "Resultat: " <<  s  <<  endl;

getch();



Само задание

читать дальше »
Задание:

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


надо сдать программу в среду, пожалуйста помогите...

Отправлено: 12:54, 25-10-2010

 

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот решение моей задачи уже визуально

читать дальше »
PHP код: Выделить весь код

#pragma once



namespace pr7 {

    
using namespace System;
    
using namespace System::ComponentModel;
    
using namespace System::Collections;
    
using namespace System::Windows::Forms;
    
using namespace System::Data;
    
using namespace System::Drawing;

    
/// <summary>
    /// Сводка для Form1
    ///
    /// Внимание! При изменении имени этого класса необходимо также изменить
    ///          свойство имени файла ресурсов ("Resource File Name") для средства компиляции управляемого ресурса,
    ///          связанного со всеми файлами с расширением .resx, от которых зависит данный класс. В противном случае,
    ///          конструкторы не смогут правильно работать с локализованными
    ///          ресурсами, сопоставленными данной форме.
    /// </summary>
    
public ref class Form1 public System::Windows::Forms::Form
    
{
    
public:
        
Form1(void)
        {
            
InitializeComponent();
            
//
            //TODO: добавьте код конструктора
            //
        
}

    
protected:
        
/// <summary>
        /// Освободить все используемые ресурсы.
        /// </summary>
        
~Form1()
        {
            if (
components)
            {
                
delete components;
            }
        }

    
protected

    
privateSystem::Windows::Forms::Button^  button1;
    
privateSystem::Windows::Forms::Button^  button2;
    
privateSystem::Windows::Forms::Label^  label1;
    
privateSystem::Windows::Forms::Label^  label2;
    
privateSystem::Windows::Forms::RichTextBox^  richTextBox1;
    
privateSystem::Windows::Forms::RichTextBox^  richTextBox2;

    
privateSystem::ComponentModel::IContainer^  components;

    
private:
        
/// <summary>
        /// Требуется переменная конструктора.
        /// </summary>


#pragma region Windows Form Designer generated code
        /// <summary>
        /// Обязательный метод для поддержки конструктора - не изменяйте
        /// содержимое данного метода при помощи редактора кода.
        /// </summary>
        
void InitializeComponent(void)
        {
            
this->button1 = (gcnew System::Windows::Forms::Button());
            
this->button2 = (gcnew System::Windows::Forms::Button());
            
this->label1 = (gcnew System::Windows::Forms::Label());
            
this->label2 = (gcnew System::Windows::Forms::Label());
            
this->richTextBox1 = (gcnew System::Windows::Forms::RichTextBox());
            
this->richTextBox2 = (gcnew System::Windows::Forms::RichTextBox());
            
this->SuspendLayout();
            
// 
            // button1
            // 
            
this->button1->Location System::Drawing::Point(11267);
            
this->button1->Name L"button1";
            
this->button1->Size System::Drawing::Size(7523);
            
this->button1->TabIndex 2;
            
this->button1->Text L"Процесс";
            
this->button1->UseVisualStyleBackColor true;
            
this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
            
// 
            // button2
            // 
            
this->button2->Location System::Drawing::Point(403267);
            
this->button2->Name L"button2";
            
this->button2->Size System::Drawing::Size(6925);
            
this->button2->TabIndex 3;
            
this->button2->Text L"Выход";
            
this->button2->UseVisualStyleBackColor true;
            
this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
            
// 
            // label1
            // 
            
this->label1->AutoSize true;
            
this->label1->Location System::Drawing::Point(1619);
            
this->label1->Name L"label1";
            
this->label1->Size System::Drawing::Size(10313);
            
this->label1->TabIndex 4;
            
this->label1->Text L"Поле ввода текста";
            
this->label1->Click += gcnew System::EventHandler(this, &Form1::label1_Click);
            
// 
            // label2
            // 
            
this->label2->AutoSize true;
            
this->label2->Location System::Drawing::Point(8153);
            
this->label2->Name L"label2";
            
this->label2->Size System::Drawing::Size(11113);
            
this->label2->TabIndex 5;
            
this->label2->Text L"Поле вывода текста";
            
this->label2->Click += gcnew System::EventHandler(this, &Form1::label2_Click);
            
// 
            // richTextBox1
            // 
            
this->richTextBox1->ForeColor System::Drawing::Color::Black;
            
this->richTextBox1->Location System::Drawing::Point(11919);
            
this->richTextBox1->Name L"richTextBox1";
            
this->richTextBox1->Size System::Drawing::Size(353111);
            
this->richTextBox1->TabIndex 1;
            
this->richTextBox1->Text L"";
            
// 
            // richTextBox2
            // 
            
this->richTextBox2->BackColor System::Drawing::SystemColors::ControlLightLight;
            
this->richTextBox2->CausesValidation false;
            
this->richTextBox2->Location System::Drawing::Point(119153);
            
this->richTextBox2->Name L"richTextBox2";
            
this->richTextBox2->Size System::Drawing::Size(353111);
            
this->richTextBox2->TabIndex 7;
            
this->richTextBox2->Text L"";
            
this->richTextBox2->TextChanged += gcnew System::EventHandler(this, &Form1::richTextBox2_TextChanged);
            
// 
            // Form1
            // 
            
this->AutoScaleDimensions System::Drawing::SizeF(613);
            
this->AutoScaleMode System::Windows::Forms::AutoScaleMode::Font;
            
this->ClientSize System::Drawing::Size(484298);
            
this->ControlBox false;
            
this->Controls->Add(this->richTextBox2);
            
this->Controls->Add(this->richTextBox1);
            
this->Controls->Add(this->label2);
            
this->Controls->Add(this->label1);
            
this->Controls->Add(this->button2);
            
this->Controls->Add(this->button1);
            
this->MaximizeBox false;
            
this->MinimizeBox false;
            
this->Name L"Form1";
            
this->StartPosition System::Windows::Forms::FormStartPosition::CenterScreen;
            
this->Text L"Преобразование текста";
            
this->ResumeLayout(false);
            
this->PerformLayout();

        }
#pragma endregion
    
wchar_t UpSymbol(wchar_t c){ 
    
int i=(int)c;                        // Если текущий символ попадает в диапозонстрочных букв,
                                        //то переводим его в заглавную

    
if ((i>96)&&(i<123)){
        
i=i-32;
    };                                    
//Диапозон английских строчных букв
    
if ((i>1071)&&(i<1104)){
        
i=i-32;
    };                                    
// Диапозон русских строчных букв
    
if (i==1105){
        
i=1025;
    };                                    
// Буква ё
    
return (wchar_t)i;
}

    
privateSystem::Void button1_Click(System::Object^  senderSystem::EventArgs^  e) {
                 
// --------------------------------------------------------
                
int if;                // i-для цикла, f=true, если пробел
                
String ^str1, ^str2;    // str1- первоначальная строка
                                        // str2- результирующая строка, в котторой 
                                        // все слова начинаются с заглавной буквы
                                        // В строку str1 помещаем строку из формы
                
str1=richTextBox1->Text;
                                        
// 1 символ в строке делаем заглавным
                
str2 String::Concat(  str2UpSymbol(str1[0]));
                
f=false;
                for(
i=1;i<str1->Length;i++){
                    if (
str1[i]==' '){
                        
f=true;            // найден пробел, добавем его в 2 строку
                        
str2 String::Concat(  str2str1[i]);
                    };
                    if (
str1[i]!=' '){
                        if (
f) {        // Предыдущий символ пробел
                            
f=false;
                                        
// 1 символ слова, делаем букву заглавной и 
                                        // добавляем ее во вторую строку
                            
str2 String::Concat(  str2UpSymbol(str1[i]));
                        }
                        else{
                                        
// Копируем текущий символ из строки 1
                                        // в строку 2
                            
str2 String::Concat(  str2str1[i]);
                        };
                    };
                };
                                        
// Выводим полученную строку в форму
                
richTextBox2->Text=str2;
             };
    
privateSystem::Void button2_Click(System::Object^  senderSystem::EventArgs^  e) {
                 
Close();                // Закрытие прокраммы
             
}
privateSystem::Void label1_Click(System::Object^  senderSystem::EventArgs^  e) {
         }
privateSystem::Void richTextBox2_TextChanged(System::Object^  senderSystem::EventArgs^  e) {
         }
privateSystem::Void label2_Click(System::Object^  senderSystem::EventArgs^  e) {
         }
};



Отправлено: 13:55, 26-10-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Модуль или по-хитрому собирается, или действительно не хватает точки входа.
Если второе, то ещё нужен код
Код: Выделить весь код
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    Application::Run(gcnew Form1);
    return 0;
}
где здесь (/*<--->*/)
Код: Выделить весь код
private: System::Void label2_Click(System::Object^  sender, System::EventArgs^  e) { 
         } 
};

/*<--->*/

}
Тогда всё соберётся командой cl "Source.cpp" /clr:pure /FU "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\System.dll" /FU "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll" /FU "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll" /FU "%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" /link /ENTRY:"main" /SUBSYSTEM:WINDOWS

WinForm не единственный способ визуализации в Visual C++, про другие возможности в этой теме.
Про доступность этого способа, применительно к решению задания, нужно было сообщить, так как в другой теме, но применительно к этому/схожему заданию, был сказан совсем другой способ.
Цитата Klim1988:
его нужно выполнять в среде программирования Visual C. Создавая MFC-приложение. >>

p.s. Программа не проверяет входящие данные, при пустом "Поле для ввода текста" и нажатии кнопки "Процесс" произойдёт исключении "Index was outside the bounds of the array."
В private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) это нужно учитывать (например добавив проверку if (str1 -> Length > 0)).

Последний раз редактировалось Admiral, 27-10-2010 в 14:03. Причина: Пример проверки входящих данных

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:44, 27-10-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] С++ есть консолная программа нужно сделать ее визуальной

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
нужно сделать iso образ диска чем быстро можно его сделать и как Alko Автоматическая установка Windows 2000/XP/2003 4 22-01-2010 19:58
Нужно спроэктировать безотказную систему. Может есть готовые senkivko Хочу все знать 0 20-12-2009 15:25
MySQL - нужно сделать подсчет в процентах sure777 Программирование и базы данных 4 02-11-2009 19:08
[решено] Нужно сделать клик в браузере ph0en1x AutoIt 5 10-02-2009 11:06
Доступ - нужно сделать в ХР NAT соединение... shibzik Microsoft Windows 2000/XP 11 27-09-2007 19:44




 
Переход