Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Borland C++] Работа с текстом


Автор: Sokolik 20.5.2007, 10:58
помогите пожалуйста решить задачу:
задача должна выводить менюшку в которой следущие пункты:
1. ввод текста
2. вывод текста на экран
3. сортировка(должна писать введите 1 строку, введите 2 строку и тдю а потом по окончании ввода должна выводить весь текст)
4. выделение слов (гистограмма)
5. выделение предложений
задача должна быть написана на с++ Borland
 
Вот то что смог сделать я:

Код

#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

char *txt[80];
int n;
char *text[80]={"1) vvod teksta",
           "2) vivod na ekran",
           "3) sortirovka",
           "4) videlenie slov",
           "5) videlenie predlozhenyi",
           "6) vihod"};


void menu();
int vibor();
void vvod();
void vivod();
void sort();
void vidsl();
void vidpr();

void main()
{
  int vib,n;
  menu();
  vib=vibor();
  while(vib!=6)
{
  switch(vib)
  {
   case 1:
   vvod();
   break;
   case 2:
   vivod();
   break;
   case 3:
   sort();
   break;
   case 4:
   //vidsl();
   break;
   case 5:
   //vidpr();
   break;
   case 6:
   exit(0);
  }
}

}

void menu()
{clrscr();
      int i,x,y,dx,dy;
      int left=9,top=10,right=36,bot=18;
      clrscr();
       window(left,top,right-1,bot-1);
       dx=right-left;
       dy=bot-top;
       textcolor(9);
       textbackground(BLACK);
       clrscr();
       gotoxy(1,1);
       putchar('Й');
       for(i=2;i<dx;i++)
       putchar('Н');
       for(i=2;i<dy;i++)
        {gotoxy(dx,1);
         putchar('»');
        }
      for(i=2;i<dy;i++)
        {gotoxy(dx,i);
         putchar('є');
        }
      gotoxy(dx,dy);
      putchar('ј');
      for(i=2;i<dy;i++)
        {gotoxy(1,i);
         putchar('є');
        }
      gotoxy(1,dy);
       putchar('И');
       for(i=2;i<dx;i++)
        {gotoxy(i,dy);
         putchar('Н');
        }
      for(i=0;i<8;i++)
      {x=2; y=2+i;
       gotoxy(x,y);
       cputs(text[i]);
      }
}




int vibor()
{int ch;
int x=2, y=2;
textbackground(6);
gotoxy(x,y);
cputs(text[0]);
while (ch!='\r')
    {ch=getch();
      switch(ch)
        {case 'P':
        textbackground(BLACK);
        gotoxy(x,y);
        cputs(text[y-2]);
        if (y>6) y=2; else y=y+1;
        gotoxy(x,y);
        textbackground(6);
        cputs(text[y-2]);
        break;
        case 'H':
        textbackground(BLACK);
        gotoxy(x,y);
        cputs(text[y-2]);
        if (y<3) y=7;
        else y=y-1;
        gotoxy(x,y);
        textbackground(6);
        cputs(text[y-2]);
        break;
        }
      }
return (y-1);
}
void vvod()
{
char *txt[80];
int i,n;
textbackground(BLACK);
window(1,1,80,25);
clrscr();
printf("\n vvedite vash texst\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s",txt[i]);
}

void sort()
{clrscr();
int n,i,j,x,y;
textbackground(BLACK);
window(1,1,80,25);
clrscr();
char stmp[80];
char txt[20][80];
printf("\n vvedite kol-vo strok ");
scanf("%d",&n);
for(i=0;i<n;i++)
{printf("\n vvedite %d stroku ",i+1);
scanf("%s",txt[i]);}
for(i=0;i<n-1;i++)  
for(j=i+1;j<n;j++)
if (strcmp(txt[i],txt[j])>0)
{strcpy(stmp,txt[i]);
strcpy(txt[i],txt[j]);
strcpy(txt[j],stmp);}
for(i=0;i<n;i++)
puts(txt[i]);
getch();
}


void vivod()
{textbackground(BLACK);
window(1,1,80,25);
clrscr();
int i;
gotoxy(1,3);
for(i=0;i<n;i++)
printf("%d",n);

}


помигите завтра сдавать курсовик а не сделана задача, надежда только на вас!

Автор: Guedda 20.5.2007, 11:12

 ! 
Guedda
Модератор: Пожалуйста, один топик - один вопрос.
Модератор: Дубликаты запрещены!
Модератор: Название темы должно отражать ее суть!
 Правила форума: http://forum.vingrad.ru/index.php?act=SR&f=27
Тема разделена.

Автор: Sokolik 20.5.2007, 11:29
ну я просто не знал, уж извиите если что, переименуйте пожалуйста тему, просто мне срочно надо....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)