Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ Builder

Войти
Регистрация
Восстановить пароль
 
mywinmail
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 22
#1

Помогите пожалуйста переделать консольное приложение в обычное с эдитом,кнопкой и выводом результата в мемо - C++ Builder

28.05.2011, 23:36. Просмотров 885. Ответов 10
Метки нет (Все метки)

Задание: В заданном предложении найти пару слов,из которых одно является обращением другого.
Помогите пожалуйста переделать консольное приложение в обычное с эдитом,кнопкой и выводом результата в мемо
Код
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

//--------------------------------------------------------------------------

#include <stdio.h>
#include <string.h>
#define R "., ;:'\"()!?"   //разделяющие символы
main()
{
   char s[100],c[100],*p[50],*q;
   int i=0,j,k,n,flag=0;
   puts("\n Vvedite predlozhenie:");
   gets(s);   //вводим предложение
   q=strtok(s,R);
   while(q)      //разбиваем предложение на слова, устанавливая
                              // указатель перед ограничителями
   {
      p[i++]=q;
      q=strtok(NULL,R);
   }
   for(j=0;j<i;j++)    //перебираем все слова
   for(k=j+1;k<i;k++)
   {
      if(!flag)     //проверяем установленный флаг
      {
	 for(n=0;n<strlen(p[k]);n++)  //переворачиваем слово
	 {                             //возвращаяем в байтах длинцу строки
	    c[n]=*(p[k]+(strlen(p[k])-n-1));
	 }
	 c[n]='\0';
	 if(!strcmp(c,p[j]))  //если слова совпали, выводим их
	 {
	    puts(" Zerkalnie slova:");
	    puts(p[j]);
	    puts(p[k]);
	    flag=1; //устанавливаем флаг
	 }
      }
   }
   if(!flag) puts("\n Net slov.");
 getchar();
 return 0;
}
Добавлено через 8 часов 8 минут
необходимость в переделовании отпала) возникает другой вопрос: что необходимо добавить в этом коде для выполнения консольного приложения несколько раз без завершения,например при нажатии любой клавиши появляется начальное предложение и работа продолжается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2011, 23:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Помогите пожалуйста переделать консольное приложение в обычное с эдитом,кнопкой и выводом результата в мемо (C++ Builder):

Как переделать консольное приложение в приложение с GUI? - C++ Builder
Есть приложение, работающее в консоли, захотелось сделать с графическим интерфейсом, уперся в непонимание) Объясните, как: а) заменить...

переделать консольное приложение табулирования в приложение с формой - C++ Builder
Помогите пожалуйста переделать консольное приложение табулирования в приложение с формой,где результат выводится в мемо вот код...

работа с эдитом и кнопкой! - Delphi
Если у нас есть много эдитов, ну например два!в одном мы записываем текст(стринг) и цифры (интеджер)!как сделать так чтоб кнопка была...

Переделать консольное приложение в приложение Windows Forms - C#
Дорогие друзья пожалуйста помогите в консольным приложением. У меня есть код, но он под консольное приложение, а мне надо для Windows Form....

Переделать в консольное приложение - Delphi
Всем привет.Кто может переделать в консольное приложение(delphi)? Знаю команды setlenth и т.д,но у меня не получается... Заранее...

Переделать консольное приложение в графическое - C++ Qt
Здравствуйте, кто-то может помочь как это консольное приложение засунуть в Qt GUI? Проблема инвестора заключается в том, чтобы разместить...

10
Gepar
1181 / 537 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
29.05.2011, 00:22 #2
Можешь заключить всю программу в цикл do while по принципу
C++
1
2
3
4
5
6
7
char c='y';
do
{
...
cout<<"Continue? y/n";
cin>>c;
}while (c=='y');
0
mywinmail
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 22
29.05.2011, 00:44  [ТС] #3
начинает просить While раньше времени, возможно не туда ввожу но перепробывал много вариантов,есть еще какие-нибудь предложения?
0
pomkalk
365 / 247 / 11
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.05.2011, 14:09 #4
Сразу код показывай, что ты там наделал!!!
0
mywinmail
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 22
29.05.2011, 14:22  [ТС] #5
нашел старую ошибку,но появилась новая: компилятор не понимает что такое cont в самом конце внутри while
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//---------------------------------------------------------------------------
#include <iostream>
#include <clx.h>
#include <vcl.h>
//--------------------------------------------------------------------------
 
#include <stdio.h>
#include <string.h>
#define R "., ;:'\"()!?"   //Г°Г*çäåëÿþùèå ñèìâîëû
main()
{ do
 {
   char s[100],c[100],*p[50],*q,cont='y';
   int i=0,j,k,n,flag=0;
   puts("\n Vvedite predlozhenie:");
   gets(s);   //ââîäèì ïðåäëîæåГ*ГЁГҐ
   q=strtok(s,R);
   while(q)      //Г°Г*çáèâГ*ГҐГ¬ ïðåäëîæåГ*ГЁГҐ Г*Г* ñëîâГ*, ГіГ±ГІГ*Г*Г*âëèâГ*Гї
                              // ГіГЄГ*Г§Г*òåëü ïåðåä îãðГ*Г*è÷èòåëÿìè
   {
      p[i++]=q;
      q=strtok(NULL,R);
   }
   for(j=0;j<i;j++)    //ïåðåáèðГ*ГҐГ¬ ГўГ±ГҐ ñëîâГ*
   for(k=j+1;k<i;k++)
   {
      if(!flag)     //ïðîâåðÿåì ГіГ±ГІГ*Г*îâëåГ*Г*ûé ГґГ«Г*ГЈ
      {
     for(n=0;n<strlen(p[k]);n++)  //ïåðåâîðГ*Г·ГЁГўГ*ГҐГ¬ ñëîâî
     {                             //âîçâðГ*Г№Г*ГїГҐГ¬ Гў ГЎГ*éòГ*Гµ äëèГ*öó ñòðîêè
        c[n]=*(p[k]+(strlen(p[k])-n-1));
     }
     c[n]='\0';
     if(!strcmp(c,p[j]))  //åñëè ñëîâГ* ñîâïГ*ëè, âûâîäèì ГЁГµ
     {
        puts(" Zerkalnie slova:");
        puts(p[j]);
        puts(p[k]);
        flag=1; //ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГ¬ ГґГ«Г*ГЈ
     }
      }
   }
  if(!flag) puts("\n Net slov.");
// getchar();
// return 0;
 cout<<"Prodolzhaem? y/n";
 cin>>cont;
 } while( cont =='y');
 
}
0
pomkalk
365 / 247 / 11
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.05.2011, 14:26 #6
Ладно)) тогда вместо
C++
1
#include <iostream>
используй
C++
1
#include <iostream.h>
или
C++
1
2
#include <iostream>
using namespace std;
или же пеши пространство имен
C++
1
std::cout<<"Some Text"
1
mywinmail
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 22
29.05.2011, 14:35  [ТС] #7
перепробывал все поотдельности и вместе) всёравно не хочет знать он эту переменную,может с обьявлением можно чтонить попробывать сделать?
0
pomkalk
365 / 247 / 11
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.05.2011, 15:06 #8
Ты очень много не нужных библиотек на подключал, ну да ладно, вот как нужно делать это
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
int main(int argc, char* argv[])
{
    char a;
    do
    {
        cout<<"Continious:";
        cin>>a;
    }while (a == 'y');
 
 
    return 0;
}
и в твоей работе
C++
1
#include <iostream.h>
будет достаточно, только все переделать придется!!!
0
mywinmail
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 22
29.05.2011, 16:36  [ТС] #9
C++
1
main(char cont)
этого хватило для запустка программы,но она все равно завершается( на переделку катастрофически не хватает времени,может кто поможет в этом?

Добавлено через 1 час 17 минут
получилось организовать таким образом, но прога стала выполнятся сама по себе без ввода данных. может здесь чтото можно исправить, или всеже придется переделывать все заново?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//---------------------------------------------------------------------------
#include <iostream.h>
#include <clx.h>
#include <vcl.h>
//--------------------------------------------------------------------------
using namespace std;
#include <stdio.h>
#include <string.h>
#define R "., ;:'\"()!?"                                  //Г°Г*çäåëÿþùèå ñèìâîëû
 int i=0,j,k,n,flag=0;  char s[100],c[100],*p[50],*q;
main(char cont='y')
{
 do
 {
    puts("\n Vvedite predlozhenie:");
    gets(s);                                               //ââîäèì ïðåäëîæåГ*ГЁГҐ
    q=strtok(s,R);
    while(q)                           //Г°Г*çáèâГ*ГҐГ¬ ïðåäëîæåГ*ГЁГҐ Г*Г* ñëîâГ*, ГіГ±ГІГ*Г*Г*âëèâГ*Гї
                                              // ГіГЄГ*Г§Г*òåëü ïåðåä îãðГ*Г*è÷èòåëÿìè
     {
       p[i++]=q;
       q=strtok(NULL,R);
     }
 
    for(j=0;j<i;j++)                                     //ïåðåáèðГ*ГҐГ¬ ГўГ±ГҐ ñëîâГ*
    for(k=j+1;k<i;k++)
    {
       if(!flag)                                 //ïðîâåðÿåì ГіГ±ГІГ*Г*îâëåГ*Г*ûé ГґГ«Г*ГЈ
       {
     for(n=0;n<strlen(p[k]);n++)                     //ïåðåâîðГ*Г·ГЁГўГ*ГҐГ¬ ñëîâî
      {                                //âîçâðГ*Г№Г*ГїГҐГ¬ Гў ГЎГ*éòГ*Гµ äëèГ*öó ñòðîêè
        c[n]=*(p[k]+(strlen(p[k])-n-1));
      }
      c[n]='\0';
      if(!strcmp(c,p[j]))                  //åñëè ñëîâГ* ñîâïГ*ëè, âûâîäèì ГЁГµ
            {
             puts(" Zerkalnie slova:");
             puts(p[j]);
             puts(p[k]);
             flag=1;                                       //ГіГ±ГІГ*Г*Г*âëèâГ*ГҐГ¬ ГґГ«Г*ГЈ
         }
       }
    }
    if(!flag) puts("\n Net slov.");
  cout<<" prodolzhim? y/n\n ";
  cin>>cont;
 } while( cont =='y');
  return 0;
}
0
pomkalk
365 / 247 / 11
Регистрация: 03.04.2011
Сообщений: 558
Записей в блоге: 1
29.05.2011, 17:51 #10
ААаааабалдеть!!! книжки по с++ тебе в помощь!!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//---------------------------------------------------------------------------
#include <iostream.h>
#include <clx.h>
#include <vcl.h>
//--------------------------------------------------------------------------
 
#include <stdio.h>
#include <string.h>
#define R "., ;:'\"()!?"   //разделяющие символы
main()
{ 
char cont;
char s[100],c[100],*p[50],*q;
int i=0,j,k,n,flag=0;
do
 {
   
   puts("\n Vvedite predlozhenie:");
   gets(s);   //вводим предложение
   q=strtok(s,R);
   while(q)      //разбиваем предложение на слова, устанавливая
                              // указатель перед ограничителями
   {
      p[i++]=q;
      q=strtok(NULL,R);
   }
   for(j=0;j<i;j++)    //перебираем все слова
   for(k=j+1;k<i;k++)
   {
      if(!flag)     //проверяем установленный флаг
      {
         for(n=0;n<strlen(p[k]);n++)  //переворачиваем слово
         {                             //возвращаяем в байтах длинцу строки
            c[n]=*(p[k]+(strlen(p[k])-n-1));
         }
         c[n]='\0';
         if(!strcmp(c,p[j]))  //если слова совпали, выводим их
         {
            puts(" Zerkalnie slova:");
            puts(p[j]);
            puts(p[k]);
            flag=1; //устанавливаем флаг
         }
      }
   }
  if(!flag) puts("\n Net slov.");
// getchar();
 cout<<"Prodolzhaem? y/n";
 cin>>cont;
 } while( cont =='y');
 return 0;
}
Так попробуй!!!
1
mywinmail
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 22
29.05.2011, 18:26  [ТС] #11
этот код работает также как и мой) все делается после ввода Y и сразуже написания текста,а надо чтобы пользователь вводил Y жмал энтер,а затем уже начиналось выполнение программы по новой
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 18:26
Привет! Вот еще темы с ответами:

Переделать консольное приложение в WinForms - C#
Доброго времени суток..Нужно было сделать приложение в консоли и Форме, в консоли сделала,в WinForms не получается. Пожалуйста,помогите...

Переделать консольное приложение в оконное - Delphi
Помогите переделать в графический интерфейс type st = String; var S,SRez: St; F_in: file of St; error: Integer; ...

Переделать консольное приложение в WinForms - C#
Доброго времени суток..Пожалуйста,помогите переделать консольное приложение под WinForms..очень нужно..завтра сдавать.. заранее огромное...

Переделать консольное приложение в оконное - C++ WinAPI
Консольная игра лабиринт. Просьба переделать в оконное приложение, чтобы лабиринт рисовался на холсте. // labirint.cpp: определяет точку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru