コード例 #1
0
ファイル: poledf.c プロジェクト: delfvad/speech-apps
int main(int argc, char **argv)
{
   int m = ORDER, fprd = FPERIOD, iprd = IPERIOD, i, j;
   FILE *fp = stdin, *fpc = NULL;
   double *c, *inc, *cc, *d, x;
   Boolean tp = TRANSPOSE, ngain = NGAIN;

   if ((cmnd = strrchr(argv[0], '/')) == NULL)
      cmnd = argv[0];
   else
      cmnd++;
   while (--argc)
      if (**++argv == '-') {
         switch (*(*argv + 1)) {
         case 'm':
            m = atoi(*++argv);
            --argc;
            break;
         case 'p':
            fprd = atoi(*++argv);
            --argc;
            break;
         case 'i':
            iprd = atoi(*++argv);
            --argc;
            break;
         case 't':
            tp = 1 - tp;
            break;
         case 'k':
            ngain = 1 - ngain;
            break;
         case 'h':
            usage(0);
         default:
            fprintf(stderr, "%s : Invalid option '%c'!\n", cmnd, *(*argv + 1));
            usage(1);
         }
      } else if (fpc == NULL)
         fpc = getfp(*argv, "rb");
      else
         fp = getfp(*argv, "rb");

   if (fpc == NULL) {
      fprintf(stderr, "%s : Cannot open coefficients file!\n", cmnd);
      return (1);
   }
   if (m < 0) {
      fprintf(stderr, "%s : Order must be equal to or greater than zero!\n",
              cmnd);
      return (1);
   }

   c = dgetmem(m + m + m + 3 + m);
   cc = c + m + 1;
   inc = cc + m + 1;
   d = inc + m + 1;

   if (freadf(c, sizeof(*c), m + 1, fpc) != m + 1)
      return (1);

   for (;;) {
      if (freadf(cc, sizeof(*cc), m + 1, fpc) != m + 1)
         return (0);

      for (i = 0; i <= m; i++)
         inc[i] = (cc[i] - c[i]) * iprd / fprd;

      for (j = fprd, i = (iprd + 1) / 2; j--;) {
         if (freadf(&x, sizeof(x), 1, fp) != 1)
            return (0);

         if (!ngain)
            x *= c[0];
         if (m > 0) {
            if (!tp)
               x = poledf(x, c, m, d);
            else
               x = poledft(x, c, m, d);
         }

         fwritef(&x, sizeof(x), 1, stdout);

         if (!--i) {
            for (i = 0; i <= m; i++)
               c[i] += inc[i];
            i = iprd;
         }
      }
      movem(cc, c, sizeof(*cc), m + 1);
   }

   return (0);
}
コード例 #2
0
ファイル: final1.c プロジェクト: darkneo14/C-program-Games
void main()
{
/* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int left, top, right, bottom;

   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "E:\TC\BGI");

   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   }
   cleardevice();
create();
/*temp=head;
temp=temp->down;
for(i=0;i<3;i++)
temp=temp->right;
temp->data=2;
temp=head;
temp=temp->down->down;
temp=temp->right;
temp->data=2;   */
setcolor(5);
setlinestyle(1,1,3);
line(250,100,50,200);
line(50,200,250,225);
line(250,225,25,325);
line(500,100,300,200);
line(300,200,500,225);
line(500,225,275,325);
settextstyle(1,0,6);
outtextxy(150,375,"PRESENTS");
getch();
cleardevice();
settextstyle(1,0,6);
outtextxy(150,150,"MYSTERIES");
outtextxy(190,250,"OF");
outtextxy(170,350,"1024");
getch();
cleardevice();
setcolor(15);
settextstyle(0,0,1);
sprintf(s,"RULES=>");
outtextxy(5,5,s);
sprintf(s,"You Have To Create The Number 1024");
  outtextxy(5,20,s);
sprintf(s,"Use arrow Keys to Move");
  outtextxy(5,35,s);
sprintf(s,"Press N At Any Point To Quit...");
  outtextxy(5,45,s);
sprintf(s,"Are You Ready....");
  outtextxy(5,60,s);
getch();
cleardevice();
display();
while(k==0)
{
y=0;
 display();
 sprintf(s,"Enter Your Move");
 outtextxy(5,5,s);

 ch=getch();
 switch(ch)
 {
  case 72:    move='W';
		break;
  case 80:  move='S';
		break;
  case 77: move='D';
		break;
  case 75:  move='A';
		break;
  case 'n':     k=1;
		break;
  default:      y=1;
 }
if(k==1)
{
outtextxy(5,25,"Thanks for playing.....");
break;
}
if(y==1)
{
outtextxy(5,25,"Wrong Move....");
}
else
{
 movem();
// display();
// getch();
 check();
 movem();
 newnum();
 k=final_check();
 display();
 }
if(k==2)
outtextxy(5,25,"congratulation!!!!! You Have WON THE GAME...");
if(k==1)
outtextxy(55,25,"SORRY!!! GAME OVER");

}
getch();
//getch();
//getch();
closegraph();
}