首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

们帮小弟我看看,这句不理解

2012-02-09 
大虾们帮我看看,这句不理解/*学生成绩管理系统,中间的mingci什么用?info[j].mingcik为什么要这样赋值,看

大虾们帮我看看,这句不理解
/*学生成绩管理系统,中间的   mingci什么用?       info[j].mingci=k为什么要这样赋值,看不懂?这句在在下面已经有注释字*/

#include   "stdio.h "         /*I/O函数*/
#include   "stdlib.h "       /*其它说明*/
#include   "alloc.h "       /*动态地址分配函数*/
struct   score
{
int   mingci;
char   xuehao[8];
char   mingzi[20];
float   score[6];
}data,info[1000];
int   i,j,k=0;
char   temp[20],ch;   ;
FILE   *fp,*fp1;

void   shuru()
{
if((fp=fopen( "s_score.txt ", "ab+ "))==NULL)
{
    printf( "cannot   open   this   file.\n ");
    getch();exit(0);
}
for(i=0;i <=1000;i++)
{
        printf( "\nPlease   shuru   xuehao: ");
        gets(data.xuehao);
        printf( "Please   shuru   mingzi: ");
        gets(data.mingzi);
        printf( "Please   shuru   yuwen   score: ");
        gets(temp);data.score[0]=atof(temp);
        printf( "Please   shuru   shuxue   score: ");
        gets(temp);data.score[1]=atof(temp);
        printf( "Please   input   yingyu   score: ");
        gets(temp);data.score[2]=atof(temp);
        printf( "Please   shuru   wuli   score: ");
        gets(temp);data.score[3]=atof(temp);
        printf( "Please   shur   huaxue   score: ");
        gets(temp);data.score[4]=atof(temp);
        data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];
        fwrite(&data,sizeof(data),1,fp);
        printf( "another?y/n ");
        ch=getch();
        if(ch== 'n '||ch== 'N ')
        break;
}   fclose(fp);
}
void   xianshi()
{
        float   s;int   n;
        if((fp=fopen( "s_score.txt ", "rb+ "))==NULL)
        {
          printf( "Cannot   reading   this   file.\n ");
          exit(0);
        }
        for(i=0;i <=1000;i++)
        {
          if((fread(&info[i],sizeof(info[i]),1,fp))!=1)
          break;
        }
        printf( "\nxuehao     mingzi       yuwen     shuxue       yingyu     wuli     huauxue   zhongfen   \n ");
        for(j=0,k=1;j <i;j++,k++)
        {
            info[j].mingci=k;           /*这个mingci什么用?       info[j].mingci=k为什么要这样赋值,看不懂?*/
            printf( "%6s   %8s       %3.1f       %3.1f         %3.1f         %3.1f         %3.1f       %3.1f\n ",info[j].xuehao,info[j].mingzi,info[j].score



[0],info[j].score[1],info[j].score[2],info[j].score[3],info[j].score[4],info[j].score[5]);
        }
        getch();
        fclose(fp);
}

void   xiugai()
{
        if((fp=fopen( "s_score.txt ", "rb+ "))==NULL||(fp1=fopen( "temp.txt ", "wb+ "))==NULL)
        {
          printf( "Cannot   open   this   file.\n ");
          exit(0);
        }
        printf( "\nPLease   shuru   xiugai   xuehao: ");
        scanf( "%d ",&i);   getchar();
        while((fread(&data,sizeof(data),1,fp))==1)
        {
        j=atoi(data.xuehao);
                if(j==i)
                {
                printf( "xuehao:%s\nmingzi:%s\n ",data.xuehao,data.mingzi);
                        printf( "Please   shuru   mingzi: ");
                        gets(data.mingzi);
                        printf( "Please   shuru   yuwen   score: ");
                        gets(temp);data.score[0]=atof(temp);
                        printf( "Please   shuru   shuxue   score: ");
                        gets(temp);data.score[1]=atof(temp);
                        printf( "Please   input   yingyu   score: ");
                        gets(temp);data.score[2]=atof(temp);
                        printf( "Please   input   wuli   score: ");
                        gets(temp);data.score[3]=atof(temp);
                        printf( "Please   input   huaxue   score: ");
                        gets(temp);data.score[4]=atof(temp);
                        data.score[5]=data.score[0]+data.score[1]+data.score[2]+data.score[3]+data.score[4];

                }   fwrite(&data,sizeof(data),1,fp1);
        }
        fseek(fp,0L,0);
        fseek(fp1,0L,0);
        while((fread(&data,sizeof(data),1,fp1))==1)
        {
            fwrite(&data,sizeof(data),1,fp);
        }

      fclose(fp);
      fclose(fp1);
}
void   chazhao()


{
        if((fp=fopen( "s_score.txt ", "rb "))==NULL)
        {
        printf( "\nCannot   open   this   file.\n ");
                exit(0);
        }
        printf( "\nPLease   shuru   xuehao   chakan: ");
        scanf( "%d ",&i);
        while(fread(&data,sizeof(data),1,fp)==1)
        {
                j=atoi(data.xuehao);
                if(i==j)
                {
                  printf( "xuehao:%s       mingzi:%s\nyuwen:%f\n   shuxue:%f\n   yingyu:%f\n   wuli:%f\n   huaxue:%f\n ",data.xuehao,data.mingzi,data.score[0],data.score[1],data.score[2],data.score[3],data.score[4],data.score[5]);
                }getch();
        }
}
void   shanchu()
{
if((fp=fopen( "s_score.txt ", "rb+ "))==NULL||(fp1=fopen( "temp.txt ", "wb+ "))==NULL)
        {
          printf( "\nopen   score.txt   was   failed! ");
          getch();
          exit(0);
        }
        printf( "\nPlease   input   ID   which   you   want   to   del: ");
        scanf( "%d ",&i);getchar();
        while((fread(&data,sizeof(data),1,fp))==1)
        {
                j=atoi(data.xuehao);
                if(j==i)
                {

                        printf( "Anykey   will   delet   it.\n ");
                        getch();
                        continue;
                }
                fwrite(&data,sizeof(data),1,fp1);
        }
      fclose(fp);
      fclose(fp1);
      remove( "s_score.txt ");
      rename( "temp.txt ", "s_score.txt ");
      printf( "Data   delet   was   succesful!\n ");
      printf( "Anykey   will   return   to   main. ");
      getch();
}
main()
{
while(1)
{
        clrscr();
        printf( " <1> shuru     <2> xiugai     <3> shanchu     <4> chazhao     <5> xianshi     <6> exit   \n ");
        printf( "Please   input   which   you   want(1-6): ");


        ch=getch();
        switch(ch)
        {
        case   '1 ':shuru();break;
        case   '2 ':xiugai();   break;
        case   '3 ':shanchu();     break;
        case   '4 ':chazhao();   break;
        case   '5 ':xianshi();       break;
        case   '6 ':exit(0);
        default:   continue;
        }
}
}  


[解决办法]
info[j]-------> 结构名;
mingci -------> 结构成员;
info[j].mingci-----> 引用结构体中的成员mingci;
info[j].mingci = k-----> 为结构体中的成员mingci赋值为k。

热点排行