Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дочерние программы 
V
    Опции темы
Huey
Дата 23.5.2011, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.12.2010

Репутация: нет
Всего: нет



есть программа с графикой. Но когда программа начинает выполнять дочернию, она выполняет её прямо в программе. Помогите прописать очищение экрана перед выполнением дочерней и возвращение к главной программе после окончания дочерних.


Главная
Код

#include <conio.h>
#include <stdlib.h>
#include <graph.h>
#include <process.h>

void DrawBlock()
{
_setcolor(3);
_rectangle( _GFILLINTERIOR, 430 , 10, 630, 100);
_rectangle( _GFILLINTERIOR, 430 , 130, 630, 220);
_rectangle( _GFILLINTERIOR, 430 , 250, 630, 340);
}

void DrawRacket(double x, double y)
{
_setcolor(5);
_rectangle( _GFILLINTERIOR, x - 5, y - 45, x + 5, y + 45 );
}

void EraseRacket(double x, double y)
{
_setcolor(0);
_rectangle( _GFILLINTERIOR, x - 5, y - 45, x + 5, y + 45 );
}

double racketx=400, rackety=55;
int oldracketx=0, oldrackety=0;
int redraw_Block=0;


int should_exit = 0, goal=0;
int goals1=0, goals2=0;
char s[20]="";
char ch;
main()
{
    short mode = _VRES16COLOR;

    _setvideomode( mode );
    DrawBlock();
    while (!should_exit)
    {
     
     if (oldracketx!=(int)racketx ||
     oldrackety!=(int)rackety)
     {
     DrawRacket(racketx, rackety);
     oldracketx = racketx;
     oldrackety = rackety;
     }


     

     if (kbhit())
      {
      ch = getch();
      if (ch==27) should_exit = 1;
      if (ch==80) rackety+=120.0;
      if (ch==72) rackety-=120.0;
}


      if (rackety==55 && ch==13) execl("DDD");

if (rackety==175 && ch==13) execl("zad");

if (rackety==295 && ch==13) should_exit = 1;

     _settextcolor( 7 );
      sprintf(s,"Zadacha 1", goals1);
     _settextposition(4,63);
     _outtext(s);


     _settextcolor( 7 );
      sprintf(s, "Zadacha 2", goals1);
     _settextposition(12,63);
     _outtext(s);


     _settextcolor( 7 );
      sprintf(s, "Vixod", goals1);
     _settextposition(19,65);
     _outtext(s);

     if (oldracketx!=(int)racketx ||
     oldrackety!=(int)rackety)
     EraseRacket(oldracketx, oldrackety);
     if (redraw_Block)
      {
      DrawBlock();
      redraw_Block = 0;
      }
     }
    exit( !_setvideomode( _DEFAULTMODE ) );
}




Дочерние:
zad1:
Код

#include <stdio.h>
#include <math.h>
#include <graph.h>
#include <conio.h>

#define a 0.7
#define b 1.1
#define c 0.2

double ur (double x)
{return a*sin(b*sqrt(fabs(x)))-c*(x*x*x);}

int main (){
double x, xn,xk,px,py,ymax,ymin,koy,kot,y;
char tms[5];
int n=0;

puts("Write xn and xk:");
scanf("%lf%lf",&xn,&xk);

px = 640/(-xn+xk);
_setvideomode(_VRES16COLOR);
_clearscreen(_GCLEARSCREEN);
ymax= -ur (xn);
ymin=ymax;

for (x=xn; x<=xk;x+=0.00110)

{ y=-ur(x);
if((-ur(x-0.001)*y)<=0.)
{printf("  x[%d]=%0.2lf \n",n+1,x);
n++;
}
if (ymax<y) ymax=y;
if (ymin>y) ymin=y;}

if (n==0) puts("net resheniy");

_setwindow (1,xn,-ymin,xk,-ymax);
_moveto_w (xn,0.);
_lineto_w(xk,0.);
_moveto_w (0.,-ymax);
_lineto_w(0.,-ymin);

py = 480/fabs(-ymax+ymin);
koy= (ymax-ymin)/2;
_setvieworg(320,240);
_setcolor (7);
_settextposition (14,76);
sprintf(tms,"%2.2f",xk);
printf("%s\n",tms);
_outtext(tms);
_settextposition (14, 1);
sprintf(tms,"%2.2f",xn);
_outtext(tms);
_settextcolor(7);
_settextposition(1, 42);
sprintf(tms,"%2.2f",-ymin);
_outtext(tms);
_settextposition(28, 42);
sprintf(tms,"%2.2f",-ymax);
_outtext(tms);
kot = (xk-xn)/2;

x = xn;
y = -ur(x);
_moveto (((x-(xn+kot))*px), ((y-(ymin+koy))*py));
for (x =xn;x <= xk;x+=0.01)
{
    y =  -ur(x);
    _lineto((x-(xn+kot))*px, (y-(ymin+koy))*py);}
    getch();
    return 0;}



DDD:
Код

# include <stdio.h>
# include <math.h>
main ()
{double x,y,r;
printf ("wwedi x i y \n");

scanf ("%lf%lf", &x, &y);

r=x+y;

    printf ("otvet %0.1lf",r);
return 0;
}





Это сообщение отредактировал(а) Huey - 23.5.2011, 18:45
PM MAIL   Вверх
Huey
Дата 23.5.2011, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 20.12.2010

Репутация: нет
Всего: нет



Помощь не нужна, сам справился))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0617 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.