2023信创独角兽企业100强
全世界各行各业联合起来,internet一定要实现!

教你利用CGI方式实现Web查询

2004-02-13 eNet&Ciweek

  main(int argc,char*argv[])

  {

  register int i,m=0;

  int len;

  FILE*fp,*fpl,*fopen();

  char filename1[100],filename2[100],title[100];/*设定资料变量*/

  char subject[10][10];

  char id[100][10],password[100][10];

  int score[100][20],sum[100],allsum;

  float avg[100],alltotalavg;

  int rank,number,index,find,j,kind;

  printf("content-type:text/html%c%c",10,10);

  len=atoi(getenv("CONTENT_LENGITH"));

  for(i=0;len && (!feof(stdin));i++){

  m=i

  inputs[i].val=readdstdin(stdin,&,len);/*读STDiN信息*/

  AddToSpace(inputs[i].val);

  Convert(inputs[i].val);

  inputs[i].name=ReadData(inputs[i].val,=);

  }

  strcpy(filename1,"/score/setup/");

  stucpy(filename2,"/xcore/data/");

  if(strcmp(inputs[o].val,"计算机系/)==0

  strcat(filename1,"compusb.dat");

  strcat(filename2,"compscore.dat");

  }

  if(strcmp(inputs[o].val,"英语系")==0

  strcat(filenamel,"engsub.dat");

  strcat(filename2,"engscore.dat");

  }

  if(strcmp(inputs[o].val,"无线电系")==0

  }

  strcat(filename1,"elecsub.dat");

  strcat(filename2,"elecscore.dat");

  }

  fp=fopen(filename1,"r");/*打开文件*/

  kind=0;

  while(fscanf(fp,"%s",subject[kind]!=EOF

  kind=kind+1;

  fclose(fp);

  

  fp1=fopen(filename2,"r");/*打开文件*/

  allsum=0;

  for(i=0;i<100;i++)

  {

  numbde=i;

  if(fscanf(fp1,"%s%s",id[i],

  password[i]!=EOF){

  sum[i]=0;

  for{j=0;j

  fscanf(fp1,"%d",&score[i][j]);

  sum[i]+=score[i][j];

  }

  avg[i]=sum[i]/kind;

  allsum+=sum[i];

  }

  else

  break;

  }

  fclose(fp1);

  find=0;

  if(strcmp(inputs[2].val,id[i])==0&&

  strcmp(inputs[3].val,password[i]==0){

  index=i;

  find=i;

  }

  }

  if(find==0)

  {

  printf{"输入有误,请再输一次!\n");

  }

  else

  {

  rank=1

  for(i=o;i

  if(sum[index]

  rank=rank+1;

  slltotalavg=allsum/number;

  printf("

学生成绩查询系统

");

  pritf("\n
查询学生学号:%s

",

  inputs[2].val);

  printf("\n
成绩如下:
");

  

  for(i=0;i

  printf{"%s\t",subject[kind]);

  printf("总分
\n");

  for(i=0;i

  printf("%d\t",score[index][i]);

  printf["%d
\n",sum[index]);

  }

  }   

  五、结束语

  本文以学竽成绩查询系统作为实例,详细分析了用C语言进行CGI程序设计的方法与过程,随着INTERET/INTRANET应用的深入,将WEB与多台数据库联接的需求也日益迫切,CGI可以使得WEB能够能最低程序的复杂性与其后台信息集成,成为一种支持多种类型的通用环境,但是由于在CGI方式中每执行一次交互都需启动一个外部程序,因此其在实时应用方面受到了限制,因而,WEB SENER API及JOCBC等应用方式也正在成熟.

相关频道: eNews

您对本文或本站有任何意见,请在下方提交,谢谢!

投稿信箱:tougao@enet16.com