Форум программистов, компьютерный форум CyberForum.ru

Вывести строку, бегущую по заданной траектории - C++

Восстановить пароль Регистрация
 
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 12:29     Вывести строку, бегущую по заданной траектории #1
Надо в графики по заданной траиктори вывести бегущую строку (вводимую пользователем )
Будет ли работать моя программа ?
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
#include<graphics.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<stdio.h>
#include<dos.h>
void main();
{
int driver,mode,errorcode;
register int i,j,s;
int a[100];
char s[100]
clrscr();
 cout << "vvedite tekst"<<endl;
 gets(str);
 driver=DETECT;
  initgraph(&driver,&mode,"");
  errorcode=graphresult();
  for (i=0 ; i<250 ;i++)
  {setcolor(WHITE)
    outtextxy(i+1,i+1,str);
   delay(120);
 
   setcolor(BLACK)
    outtextxy(i+1,i+1,str);
    delay(120);
  }
 getch();
  restorecrtmode();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2011, 12:29     Вывести строку, бегущую по заданной траектории
Посмотрите здесь:

C++ Проверить,содержит ли файл строку заданной длины.
C++ Из заданной матрицы удалить строку и столбцы
C++ Разработать программу ручного ввода с клавиатуры произвольной траектории с изображением вводимой траектории на экране
C++ В заданной числовой вещественной матрице размерности N*N поменять местами K-ую строку и L-ую строку
C++ Вывести строку, обратную заданной
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
term1t
 Аватар для term1t
25 / 25 / 2
Регистрация: 04.03.2011
Сообщений: 61
10.04.2011, 12:47     Вывести строку, бегущую по заданной траектории #2
Скомпилируй и узнаешь
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 13:01  [ТС]     Вывести строку, бегущую по заданной траектории #3
Цитата Сообщение от term1t Посмотреть сообщение
Скомпилируй и узнаешь
Да дело в том что у меня win 7 а на нем графика не работает ! он на файл egavga.bgi жалуется
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
10.04.2011, 13:05     Вывести строку, бегущую по заданной траектории #4
Цитата Сообщение от Dz111 Посмотреть сообщение
Да дело в том что у меня win 7 а на нем графика не работает ! он на файл egavga.bgi жалуется
http://www.dosbox.com/
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 13:13  [ТС]     Вывести строку, бегущую по заданной траектории #5
Цитата Сообщение от easybudda Посмотреть сообщение
к чему это ?
term1t
 Аватар для term1t
25 / 25 / 2
Регистрация: 04.03.2011
Сообщений: 61
10.04.2011, 13:19     Вывести строку, бегущую по заданной траектории #6
это x86 эмулятор DOS
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 13:32  [ТС]     Вывести строку, бегущую по заданной траектории #7
Цитата Сообщение от term1t Посмотреть сообщение
это x86 эмулятор DOS
я не понял ! Это связанно как то с моим кодом ?
term1t
 Аватар для term1t
25 / 25 / 2
Регистрация: 04.03.2011
Сообщений: 61
10.04.2011, 13:34     Вывести строку, бегущую по заданной траектории #8
у меня win 7 а на нем графика не работает
наверное, имелось ввиду что можно сэмулировать вашу программу там
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.04.2011, 14:05     Вывести строку, бегущую по заданной траектории #9
бегущая строка для Турбо С++
тут и строка и построение графика, разберешся что к чему
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <conio.h>
#include <bios.h>
#include <math.h>
#include <dos.h>
 
void run_string(int xT,int yT);
double f(double x);
void graphic(int n);
 
void graphinterface(int grdr, int grmode) //Їа®ўҐаЄ* Ё*ЁжЁ*«Ё§*жЁЁ Ја*дЁзҐбЄ®Ј® ०Ё¬*
{  int errorcode;
      initgraph(&grdr, &grmode, "");
      errorcode = graphresult();
      if (errorcode!=0)
      {  printf("Graphics error: %s\n", grapherrormsg(errorcode));
     printf("Press 'ENTER' to halt");
     getch();
     exit(1);
      }
}
 
struct time t;
 
int main(void)
{  int key = 0, m;
   char time[9];
   graphinterface(EGA, EGAHI);
   setfillstyle(EMPTY_FILL, GREEN);
   int xT=getmaxx(), yT=180;
   while(key != 7181)
   {  if(bioskey(1) != 0) key = bioskey(0);
      m=!m;
      setactivepage(m);
      cleardevice();
      setcolor(getbkcolor());
      bar3d(560,0,640,10,0,0);
      gettime(&t);
      sprintf(time, "%2d:%2d:%2d", t.ti_hour, t.ti_min, t.ti_sec);
      setcolor(WHITE);
      outtextxy(570, 3, time);
      if (xT==-10) xT=getmaxx();
      xT=xT-1;
      run_string(xT,yT);
      setvisualpage(m);
      delay(100);
   }
   cleardevice();
   graphic(1);
   graphic(2);
   graphic(3);
   closegraph();
   return 0;
}
 
void run_string(int xT,int yT)
   {  setfillstyle(SOLID_FILL, BLACK);
      bar(xT,yT,xT+210,yT+8);
      setcolor(14);
      outtextxy(xT, yT, "LAB#5; TV-92; Press Enter to continue");
   }
double f(double x)
   {  double y,a=2,b=0;
      if(x<3 && a*x>0) y = log(a*x);
      else
      {  if(x>6) y = abs(a*b + x);
     else y = b + pow(x,a);
      }
      return(y);
   }
void graphic(int n)
   {  graphinterface(EGA, EGAHI);
      double x0, x1, y1, x2, y2;
      int MaxX =0.5*getmaxx(), MaxY = 0.5*getmaxy(),i,j,kx = 25, ky = 25, key=1;
      setviewport(0.5*getmaxx(), 0.5*getmaxy(), getmaxx(), getmaxy(),0);
      while (key!=7181)
      {  cleardevice();
         key = 0;
     setcolor(WHITE);
     setlinestyle(0,1,3);
     line(0,-MaxY,0,MaxY);
     line(-MaxX,0,MaxX,0);
     line(MaxX,0,MaxX-10,5);
     line(MaxX,0,MaxX-10,-5);
     line(0,-MaxY,5,-MaxY+10);
     line(0,-MaxY,-5,-MaxY+10);
     outtextxy(4,5,"0");
     outtextxy(MaxX-8,5,"x");
     outtextxy(8,-MaxY+5,"y");
     setlinestyle(0,0,2);
     for(i=-MaxX;i<=MaxX;i++) line(i*kx,2,i*kx,-2);
     for(j=-MaxY;j<=MaxY;j++) line(2,j*ky,-2,j*ky);
     outtextxy(-MaxX+20, MaxY-15, "Press Enter to continue");
     setcolor(RED);
     x0 = -MaxX+10;
     while (x0<=MaxX-10)
     {  x1 = (x0-0.1)*kx;
        x2 = x0*kx;
        if (n==1) { y1 = ky*(x0-0.1)*(x0-0.1)*(x0-0.1); y2 =ky*x0*x0*x0;}
        if (n==2) { y1 = pow(x0-0.1+5,2)/pow(x0-0.1-6,2); y2 = pow(x0+5,2)/pow((x0-6),2);}
        if (n==3) { y1 = f(x0-0.1); y2 = f(x0); }
        line(x1,-y1, x2,-y2);
        x0+=0.1;
     }
     key = bioskey(0);
     if (key==561) kx+=25;
     if (key==3117) kx-=25;
     if (key==7181) break;
      }
      closegraph();
    }
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 14:16  [ТС]     Вывести строку, бегущую по заданной траектории #10
Цитата Сообщение от Maxwe11 Посмотреть сообщение
бегущая строка для Турбо С++
тут и строка и построение графика, разберешся что к чему
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <conio.h>
#include <bios.h>
#include <math.h>
#include <dos.h>
 
void run_string(int xT,int yT);
double f(double x);
void graphic(int n);
 
void graphinterface(int grdr, int grmode) //Їа®ўҐаЄ* Ё*ЁжЁ*«Ё§*жЁЁ Ја*дЁзҐбЄ®Ј® ०Ё¬*
{  int errorcode;
      initgraph(&grdr, &grmode, "");
      errorcode = graphresult();
      if (errorcode!=0)
      {  printf("Graphics error: %s\n", grapherrormsg(errorcode));
     printf("Press 'ENTER' to halt");
     getch();
     exit(1);
      }
}
 
struct time t;
 
int main(void)
{  int key = 0, m;
   char time[9];
   graphinterface(EGA, EGAHI);
   setfillstyle(EMPTY_FILL, GREEN);
   int xT=getmaxx(), yT=180;
   while(key != 7181)
   {  if(bioskey(1) != 0) key = bioskey(0);
      m=!m;
      setactivepage(m);
      cleardevice();
      setcolor(getbkcolor());
      bar3d(560,0,640,10,0,0);
      gettime(&t);
      sprintf(time, "%2d:%2d:%2d", t.ti_hour, t.ti_min, t.ti_sec);
      setcolor(WHITE);
      outtextxy(570, 3, time);
      if (xT==-10) xT=getmaxx();
      xT=xT-1;
      run_string(xT,yT);
      setvisualpage(m);
      delay(100);
   }
   cleardevice();
   graphic(1);
   graphic(2);
   graphic(3);
   closegraph();
   return 0;
}
 
void run_string(int xT,int yT)
   {  setfillstyle(SOLID_FILL, BLACK);
      bar(xT,yT,xT+210,yT+8);
      setcolor(14);
      outtextxy(xT, yT, "LAB#5; TV-92; Press Enter to continue");
   }
double f(double x)
   {  double y,a=2,b=0;
      if(x<3 && a*x>0) y = log(a*x);
      else
      {  if(x>6) y = abs(a*b + x);
     else y = b + pow(x,a);
      }
      return(y);
   }
void graphic(int n)
   {  graphinterface(EGA, EGAHI);
      double x0, x1, y1, x2, y2;
      int MaxX =0.5*getmaxx(), MaxY = 0.5*getmaxy(),i,j,kx = 25, ky = 25, key=1;
      setviewport(0.5*getmaxx(), 0.5*getmaxy(), getmaxx(), getmaxy(),0);
      while (key!=7181)
      {  cleardevice();
         key = 0;
     setcolor(WHITE);
     setlinestyle(0,1,3);
     line(0,-MaxY,0,MaxY);
     line(-MaxX,0,MaxX,0);
     line(MaxX,0,MaxX-10,5);
     line(MaxX,0,MaxX-10,-5);
     line(0,-MaxY,5,-MaxY+10);
     line(0,-MaxY,-5,-MaxY+10);
     outtextxy(4,5,"0");
     outtextxy(MaxX-8,5,"x");
     outtextxy(8,-MaxY+5,"y");
     setlinestyle(0,0,2);
     for(i=-MaxX;i<=MaxX;i++) line(i*kx,2,i*kx,-2);
     for(j=-MaxY;j<=MaxY;j++) line(2,j*ky,-2,j*ky);
     outtextxy(-MaxX+20, MaxY-15, "Press Enter to continue");
     setcolor(RED);
     x0 = -MaxX+10;
     while (x0<=MaxX-10)
     {  x1 = (x0-0.1)*kx;
        x2 = x0*kx;
        if (n==1) { y1 = ky*(x0-0.1)*(x0-0.1)*(x0-0.1); y2 =ky*x0*x0*x0;}
        if (n==2) { y1 = pow(x0-0.1+5,2)/pow(x0-0.1-6,2); y2 = pow(x0+5,2)/pow((x0-6),2);}
        if (n==3) { y1 = f(x0-0.1); y2 = f(x0); }
        line(x1,-y1, x2,-y2);
        x0+=0.1;
     }
     key = bioskey(0);
     if (key==561) kx+=25;
     if (key==3117) kx-=25;
     if (key==7181) break;
      }
      closegraph();
    }
Не работает . И мы еще библиотеку bios не проходили
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
10.04.2011, 14:30     Вывести строку, бегущую по заданной траектории #11
Цитата Сообщение от Dz111 Посмотреть сообщение
Это связанно как то с моим кодом ?
Код ваш написан под операционную систему, история которой ещё в прошлом веке завершилась. Ничего удивительного в том, что в современной ОС он не работает. Самый разумный вывод - запускать программу в той среде, на которую она рассчитана, то есть, как уже сказали, в эмуляторе DOS.
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 14:32  [ТС]     Вывести строку, бегущую по заданной траектории #12
Цитата Сообщение от easybudda Посмотреть сообщение
Код ваш написан под операционную систему, история которой ещё в прошлом веке завершилась. Ничего удивительного в том, что в современной ОС он не работает. Самый разумный вывод - запускать программу в той среде, на которую она рассчитана, то есть, как уже сказали, в эмуляторе DOS.
Т.е. это может быть связанно с 7-кой ?
silent_1991
10.04.2011, 14:53
  #13

Не по теме:

Dz111, это может быть связано с тупыми преподами, которые скоро притащат в вуз ЭНИАК и заставят прогать на перфокартах.

Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 14:54  [ТС]     Вывести строку, бегущую по заданной траектории #14
Цитата Сообщение от silent_1991 Посмотреть сообщение

Не по теме:

Dz111, это может быть связано с тупыми преподами, которые скоро притащат в вуз ЭНИАК и заставят прогать на перфокартах.

))) Согласен ! но начинать надо с азов !
silent_1991
10.04.2011, 14:57
  #15

Не по теме:

Dz111, начинать с азов - растяжимое понятие.
Хотите начинать с азов - тогда переберитесь-ка для начала в пещеры и повторите историю развития цивилизации с нуля. Только, вот, боюсь, не получится это у вас - мамонты-то вымерли...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2011, 15:04     Вывести строку, бегущую по заданной траектории
Еще ссылки по теме:

Вставка подстроки в строку с заданной позиции C++
Вывести строку, содержащую символы заданной строки, между которыми вставлено по одному пробелу C++
C++ Найти строку, начинающуюся с заданной буквы

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

Или воспользуйтесь поиском по форуму:
Dz111
1 / 1 / 0
Регистрация: 28.11.2010
Сообщений: 85
10.04.2011, 15:04  [ТС]     Вывести строку, бегущую по заданной траектории #16
Цитата Сообщение от silent_1991 Посмотреть сообщение

Не по теме:

Dz111, начинать с азов - растяжимое понятие.
Хотите начинать с азов - тогда переберитесь-ка для начала в пещеры и повторите историю развития цивилизации с нуля. Только, вот, боюсь, не получится это у вас - мамонты-то вымерли...

Тем не менее я студент , а она преподаватель и она лучше меня разбиратся в программирование, и я не могу с ней спорить что мне надо , а что нет . Пожалуйста скомпилируйте мой код

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
#include<graphics.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<math.h>
#include<stdio.h>
#include<dos.h>
 
void main()
{
int driver,mode,errorcode;
register int i,j,s;
int a[100];
char str[100];
 clrscr();
 printf ("vvedite tekst\n");
 gets(str);
  initgraph(&driver,&mode,"");
 
  for (i=0 ; i<250 ;i++)
  {setcolor(WHITE);
    outtextxy(i+1,i+1,str);
   delay(120);
 
   setcolor(BLACK);
    outtextxy(i+1,i+1,str);
    delay(120);
  }
  closegraph();
 getch();
  restorecrtmode();
}
Yandex
Объявления
10.04.2011, 15:04     Вывести строку, бегущую по заданной траектории
Ответ Создать тему
Опции темы

Текущее время: 05:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru