加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

学生成绩管理系统C语言代码实现

发布时间:2020-12-14 06:07:24 所属栏目:Java 来源:网络整理
导读:C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示。 完整代码如下: #includestdio.h #includestdlib.h #includestring.h typedef struct person //定义结构体 { char num[10]; //学号 char name[20]; //姓名 float cyuy

C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示。

完整代码如下:

#include<stdio.h>  
#include<stdlib.h>  
#include<string.h>  
typedef struct person //定义结构体  
{  
  char num[10];  //学号  
  char name[20]; //姓名  
  float cyuyan;  //C语言成绩  
  float en;   //物理学成绩  
  float ji;   //原子物理成绩 
  float guti;   //固体物理成绩  
  float cailiao; //材料学成绩  
}person;  
person per[200]; //定义100  
char filename[20];  //定义全局变量  
 void logon()  //登陆函数 使系统更显完善  
{  
 printf("nnnttt 学生信息管理系统nn");  
 printf("ttt   版本号:2.0nn");  
 printf("nnnnttt  2012年3月10日nn");  
 printf("ttt  C区**栋514寝n");  
 printf("nnttt   Ace_cm_liun");  
 printf("nnttt  导演兼制作n");  
 //system("pause");  
}  
/*void menu_filename()  
  {  
   system("cls");  
   printf("请输入你要操作的文件名:");  
   scanf("t%s",filename);  
  } */ 
  //*********************************************************************//  
  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
int menu_select()    //菜单选择系统函数  
{  
   char c;  
   do{  
    //system("cls");  
    printf("tt qTTTTTTTTT■□■□TTTrn");  
    printf("tt│     学生信息管理系统     │n");  
    printf("tttTTT■□■□TTTTTTTTTTsn");  
    printf("tt  ┌─────────────-┐n");  
    printf("tt  │ 1. 添加记录  2. 显示记录 │n");  
    printf("tt  │              │n");  
    printf("tt  │ 3. 信息查询  4. 数据计算 │n");  
    printf("tt  │              │n");  
    printf("tt  │ 5. 修改记录  6. 删除记录 │n");  
    printf("tt  │              │n");  
    printf("tt  │ 0. 退出程序        │n");  
    printf("tt  └─────────────-┘n");  
    printf("tt请您选择(0-6):");  
    c=getchar();  
   }while(c<'0'||c>'6');  
    return (c-'0'); //字符减去'0'得到的是数字整型//  
}  
  
  //*********************************************************************//  
  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
  
void add()                   //成绩的录入与添加函数  
 {  
  FILE *fp;  
  int i=0,n=0;  
  char sign='y'; //首先定义sing='y'  
  system("cls");  
  person p[200] ; //清屏函数 系统中调用  
  while(sign!='n'&&sign!='N') //其实只有当输入N或n时才跳出循环  
   {  
    printf("       ----学生纪录添加----n");  
    printf("姓名:n");  
    scanf("t%s",p[i].name);  
    printf("学号:n");  
    scanf("t%s",p[i].num);  
    printf("C语言:n");  
    scanf("t%f",&p[i].cyuyan);  
    printf("物理学:n");  
    scanf("t%f",&p[i].en);  
    printf("原子物理:n");  
    scanf("t%f",&p[i].ji); 
    printf("固体物理:n");  
    scanf("t%f",&p[i].guti);  
    printf("材料学:n");  
    scanf("t%f",&p[i].cailiao);  
    printf("是否继续添加?(y/n)");  
    scanf("t%c",&sign);  
    i++;  
    n=n+1;  
    system( "cls ");  
  }system("pause"); //等待命令  
  
  if((fp=fopen("studata.txt","a"))==NULL)//以2进制形式进行文件尾追加//  
   {  
     printf("cannot open the filesn");  
     system("pause");  
     return; //如果文件出现错误 就返回  
    }  
    for(i=0;i<n;i++)  
    { 
      fprintf(fp,"%s %s %f %f %f %f %fn",p[i].name,p[i].num,p[i].cyuyan,p[i].en,p[i].ji,p[i].guti,p[i].cailiao);  //以2进制形式写入文件中//一次写入一个数组//  
     
    } 
    //printf("file write errorn");  
    fclose(fp); //关闭文件  
    system("pasue");  
 }  
   //*********************************************************************//  
  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
 void scan()         //显示记录 进行全面信息浏览  
  {  
  void amend();  
           //声明修改函数//  
  char sign='y';  
  FILE *fp;  
  int n;  
  system("cls");  
   if((fp=fopen("studata.txt","r"))==NULL) //以2进制方式读取文件信息//  
   {  
     printf("cannot open the filesn");  
     system("pause");  
     return;  
    }  
    
  int i=0; 
  while(fscanf(fp,"%s%s%f%f%f%f%f",per[i].name,per[i].num,&per[i].cyuyan,&per[i].en,&per[i].ji,&per[i].guti,&per[i].cailiao)!=EOF) 
  {  
    
   printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
   printf("    姓名      学号    C语言  物理学  原子物理  固体物理  材料学n");  
   printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
   printf("%s %s %f %f %f %f %fn",per[i].cyuyan,per[i].en,per[i].ji,per[i].guti,per[i].cailiao);  
   printf("n");  
     i++; 
  }   
   system("pause");  
   system("cls");  
   printf("是否需要修改?(y/n)");  
   scanf("t%c",&sign);  
  if(sign!='n'&&sign!='N') //选择是否在浏览后进行修改//  
   amend();  
   system("pause");  
  
 }  
  
   //*********************************************************************//  
   //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
                  //数据查询//  
 void query()//学生信息的不同方式查询  
  {    
    system("cls"); 
    person p[200]; 
    FILE *fp1;  
    int i=0; 
    int n=0;  
    int m;   
    printf("tn请选择查询方式:n");  
    printf("t┌──────┐n");  
    printf("t│1--模糊查询 │n");  
    printf("t│2------姓名 │n");  
    printf("t│3------学号 │n");  
    printf("t│4------返回 │n");  
    printf("t└──────┘n");  
    printf("请输入你要查询的方式n");  
    scanf("%d",&m);  
    while(m!=1&&m!=2&&m!=3&&m!=4)  
      {  
        printf("输入错误请重新查询n");  
        scanf("%d",&m);  
      }  
     if((fp1=fopen("studata.txt","r"))==NULL)//以2进制方式读取文件信息//  
     {  
       printf("cannot open the filesn");  
      }   
   
    while(fscanf(fp1,&p[i].cyuyan,&p[i].en,&p[i].ji,&p[i].guti,&p[i].cailiao)!=EOF) 
    {   
       i++; 
       n=n+1; 
    }  
   
        
     
    if(m==1) //模糊查询  
   {  
    char s[3]; //定义输入的文字所占的字节 /一个汉字占2个字节 外加一结尾符此处小心溢出  
    int i=0;  
    system("cls");  
    printf("t请输入想查询的姓:");  
    scanf("%s",s);  
    for(i=0;i<n-1;i++)  //文件信息已经读取到数组中 此处进行循环用于下一语句的查找  
    {  
  
     if(p[i].name[0]==s[0]&&p[i].name[1]==s[1]) //比较per[i].name与所输入的前俩个字符是否相同//  
      {  
         printf("t学号: %sn",p[i].num);  
        printf("t姓名: %sn",p[i].name);  
        printf("tC语言: %fn",p[i].cyuyan);  
        printf("t物理学: %fn",p[i].en);  
        printf("原子物理: %fn",p[i].ji); 
        printf("t固体物理: %fn",p[i].guti);  
        printf("t材料学: %fn",p[i].cailiao);  
      }  
    }  
   }  
  
  if(m==2) //姓名查询  
    {  
    char s[20];  
    int j=0;  
    printf("t请输入想查询的姓名:");  
    scanf("t%s",s);  
    while(strcmp(p[j].name,s)!=0&&j<n) j++; //比较per[i].name与所输入姓名是否相同//  
    if(j==n) 
    { 
      printf("无"); 
    } 
        printf("t学号: %sn",p[j].num);  
        printf("t姓名: %sn",p[j].name);  
        printf("tC语言: %fn",p[j].cyuyan);  
        printf("t物理学: %fn",p[j].en);  
        printf("原子物理: %fn",p[j].ji); 
        printf("t固体物理: %fn",p[j].guti);  
        printf("t材料学: %fn",p[j].cailiao);  
       
   }   
  if(m==3) //学号查询  
    {  
     char s[15];  
     int i=0;  
     printf("请输入想查询的学号:");  
     scanf("t%s",s);  
      
     while(strcmp(p[i].num,s)!=0&&i<n) //比较per[i].name与所输入学号是否相同// 
     i++;              
      if(i==n)  
      {  
        printf("t通讯录中没有此人!n");  
        system("pause");  
        return;  
      }  
         printf("t学号: %sn",p[i].guti);  
        printf("t材料学: %df",p[i].cailiao);  
     }  
     fclose(fp1);  
     system("pause");  
 }  
  
                      
                 
 void date()  
 {  
   person per[200]; 
  FILE *fp;  
  struct person temp; //定义临时数组用于交换时存放数组信息用于后面的交换//  
  float sum; //总分  
   float s[200];  
  int i=0,n=0;  
  int j,k,t;  
  int m;  
  system("cls");  
  printf("tn选择排序方式:n");  
  printf("t┌──────┐n");  
  printf("t│1----物理学 │n");  
  printf("t│2--原子物理 │n");  
  printf("t│3---C语言  │n");  
  printf("t│4--固体物理 │n");  
  printf("t│5----材料学 │n");  
  printf("t│6---- 总分 │n");  
  printf("t│7------返回 │n");  
  printf("t└──────┘n");  
  printf("请输入你要排序的方式n");  
  scanf("%d",&m);  
  system("cls");  
  while(m!=1&&m!=2&&m!=3&&m!=4&&m!=5&&m!=6&&m!=7)  
    {  
      printf("输入错误请重新输入n");  
      scanf("%d",&m);  
    }  
   if((fp=fopen("studata.txt","r"))==NULL)//以2进制方式读取文件信息//  
   {  
     printf("cannot open the filesn");  
     system("pause");  
     return;  
    }  
  
    while(fscanf(fp,&per[i].cailiao)!=EOF) 
    {   
       i++; 
       n=n+1; 
    }   
  if(m==1)  
   {  
     for(int i=0;i<n-1;i++)              //采用冒泡法进行排序//  
     {  
       k=i;  
      for(j=i+1;j<n;j++)  
      if(per[j].en>per[k].en)               //排序//比较大小//  
      k=j;  
      temp=per[k];per[k]=per[i];per[i]=temp;         //当符合条件时进行数据交换//  
      }  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
       printf("    姓名      学号    C语言  物理学  原子物理  固体物理  材料学n");  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      for(int i=0;i<n-1;i++)  
      { 
        printf("%s %s %f %f %f %f %fn",per[i].cailiao);  
        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      } 
         
      fclose(fp);  
    }  
  
  if(m==2)  
   {  
    for(int i=0;i<n-1;i++)  
     {  
       k=i;  
      for(j=i+1;j<n;j++)  
      if(per[j].ji>per[k].ji)  
       k=j;  
      temp=per[k];per[k]=per[i];per[i]=temp;  
     }  
      printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
       printf("    姓名      学号    C语言  物理学  原子物理  固体物理  材料学n");  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      for(int i=0;i<n-1;i++)  
      { 
        printf("%s %s %f %f %f %f %fn",per[i].cailiao);  
        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      } 
         
      fclose(fp);  
    } 
  if(m==3)  
   {  
    for(int i=0;i<n-1;i++)  
     {  
       k=i;  
      for(j=i+1;j<n;j++)  
      if(per[j].cyuyan>per[k].cyuyan)  
       k=j;  
      temp=per[k];per[k]=per[i];per[i]=temp;  
     }  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
       printf("    姓名      学号    C语言  物理学  原子物理  固体物理  材料学n");  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      for(int i=0;i<n-1;i++)  
      { 
        printf("%s %s %f %f %f %f %fn",per[i].cailiao);  
        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      } 
         
      fclose(fp);  
    }  
    if(m==4)  
   {  
    for(int i=0;i<n-1;i++)  
     {  
       k=i;  
      for(j=i+1;j<n;j++)  
      if(per[j].guti>per[k].guti)  
       k=j;  
      temp=per[k];per[k]=per[i];per[i]=temp;  
     }  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
       printf("    姓名      学号    C语言  物理学  原子物理  固体物理  材料学n");  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      for(int i=0;i<n-1;i++)  
      { 
        printf("%s %s %f %f %f %f %fn",per[i].cailiao);  
        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      } 
         
      fclose(fp);  
    }  
  if(m==5)  
   {  
    for(int i=0;i<n-1;i++)  
     {  
       k=i;  
      for(j=i+1;j<n;j++)  
      if(per[j].cailiao>per[k].cailiao)  
       k=j;  
      temp=per[k];per[k]=per[i];per[i]=temp;  
     }  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
       printf("    姓名      学号    C语言  物理学  原子物理  固体物理  材料学n");  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      for(int i=0;i<n-1;i++)  
      { 
        printf("%s %s %f %f %f %f %fn",per[i].cailiao);  
        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      } 
         
      fclose(fp);   
    }  
  if(m==6)  
   {  
    for(int i=0;i<n-1;i++)  
      {  
       sum=0;  
       sum=per[i].cyuyan+per[i].en+per[i].ji+per[i].guti+per[i].cailiao;  
       s[i]=sum;   
      }         // 第一个数组用于数组间信息操作//  
      for(int i=0;i<n-1;i++)  
     {  
       k=i;  
      for(j=i+1;j<n;j++)  
      { 
         if(s[j]>s[k])  
       k=j; 
      } 
      temp=per[k];per[k]=per[i];per[i]=temp;  
     }  
      printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
       printf("    姓名      学号    C语言  物理学  原子物理  固体物理  材料学n");  
       printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      for(int i=0;i<n-1;i++)  
      { 
        printf("%s %s %f %f %f %f %fn",per[i].cailiao);  
        printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n");  
      } 
         
      fclose(fp);  
   }  
   system("pause");  
  }  
  
  //*********************************************************************//  
  //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
             // 数据修改//  
void amend()  
 {  
  person p[200]; 
  FILE *fp2;  
  int i=0; 
  int n=0;  
  char s[15];  
  int m;  
  // system("cls");  
  printf("tn请选择修改方式:n");  
  printf("t┌──────┐n");  
  printf("t│1------姓名 │n");  
  printf("t│2------学号 │n");  
  printf("t│3------返回 │n");  
  printf("t└──────┘n");  
  printf("请输入你要修改的方式n");  
  scanf("%d",&m);  
  while(m!=1&&m!=2&&m!=3)  
    {  
      printf("输入错误请重新修改n");  
      scanf("%d",&m);  
    }  
   if((fp2=fopen("studata.txt","r"))==NULL)//以2进制方式读取文件信息//  
   {  
     printf("cannot open the filesn");  
     system("pause");  
     return;  
    }  
     
     
    while(fscanf(fp2,&p[i].cailiao)!=EOF) 
    {   
       i++; 
       n=n+1; 
    }  
    fclose(fp2) ; 
   
  
  // system("cls");  
 if(m==1)  
  {  
   person newp; 
   char s[20];  
   int i=0;  
   printf("t请输入想修改的姓名:");  
   scanf("t%s",s);  
   while(strcmp(p[i].name,s)!=0&&i<n) i++; //进行比较 找到所需要的信息  
    if(i==n)  
     {  
      printf("t通讯录中没有此人!n");  
      return;  
     }  
    else{  
       printf("学号:n");  
       scanf("t%s",&newp.num);  
       printf("姓名:n");  
       scanf("t%s",&newp.name);  
       printf("C语言:n");  
       scanf("t%f",&newp.cyuyan);  
       printf("物理学:n");  
       scanf("t%f",&newp.en);  
       printf("原子物理:n");  
       scanf("t%f",&newp.ji); 
       printf("固体物理:n");  
       scanf("t%f",&newp.guti); 
       printf("材料学:n");  
       scanf("t%f",&newp.cailiao); 
     }  
      
  FILE *fin,*ftp; 
  fin=fopen("studata.txt","r");//读打开原文件studata.txt 
  ftp=fopen("tmp.txt","w");//写打开临时文件tmp.txt 
  if(fin==NULL || ftp==NULL){ 
    printf("Open the file failure...n"); 
    exit(0); 
  } 
  int kk=0; 
  while(kk<n) //从原文件读取一行 
  { 
    if(strcmp(p[kk].name,s)!=0)//检验是要删除的行吗? 
    { 
      fprintf(ftp,p[kk].name,p[kk].num,p[kk].cyuyan,p[kk].en,p[kk].ji,p[kk].guti,p[kk].cailiao);//不是则将这一行写入临时文件tmp.txt 
    } 
 
    kk++;   
  } 
     
  fprintf(ftp,newp.name,newp.num,newp.cyuyan,newp.en,newp.ji,newp.guti,newp.cailiao);//不是则将这一行写入临时文件tmp.txt 
 
  fclose(fin); 
  fclose(ftp); 
  fclose(fp2); 
  remove("studata.txt");//删除原文件 
  rename("tmp.txt","studata.txt");//将临时文件名改为原文件名 
   }  
  if(m==2)  
    {  
   person newp1; 
   char s[20];  
   int i=0;  
   printf("t请输入想修改的学号:");  
   scanf("t%s",s);  
   while(strcmp(p[i].num,s)!=0&&i<n) i++;//进行比较 找到所需要的信息  
    if(i==n)  
     {  
      printf("t通讯录中没有此人!n");  
      return;  
     }  
    else{  
       printf("学号:n");  
       scanf("t%s",&newp1.num);  
       printf("姓名:n");  
       scanf("t%s",&newp1.name);  
       printf("C语言:n");  
       scanf("t%f",&newp1.cyuyan);  
       printf("物理学:n");  
       scanf("t%f",&newp1.en);  
       printf("原子物理:n");  
       scanf("t%f",&newp1.ji); 
       printf("固体物理:n");  
       scanf("t%f",&newp1.guti); 
       printf("材料学:n");  
       scanf("t%f",&newp1.cailiao); 
     }  
      
  FILE *fin,"w");//写打开临时文件tmp.txt 
  if(fin==NULL || ftp==NULL){ 
    printf("Open the file failure...n"); 
    exit(0); 
  } 
  int kk=0; 
  while(kk<n) //从原文件读取一行 
  { 
    if(strcmp(p[kk].num,newp1.name,newp1.num,newp1.cyuyan,newp1.en,newp1.ji,newp1.guti,newp1.cailiao);//不是则将这一行写入临时文件tmp.txt 
 
  fclose(fin); 
  fclose(ftp); 
  fclose(fp2); 
  remove("studata.txt");//删除原文件 
  rename("tmp.txt","studata.txt");//将临时文件名改为原文件名 
     
     
    }  
     
    system("pause");  
   
  }  
   //*********************************************************************//  
   //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
            //数据删除//  
void delet()  
 {  
  
  person p[200]; 
  FILE *fp;  
  char s[10];  
  int i=0,n=0;  
   if((fp=fopen("studata.txt","r"))==NULL) //以2进制方式读取文件信息//  
   {  
     printf("cannot open the filesn");  
     system("pause");  
     return;  
    }  
  
    while(fscanf(fp,&p[i].cailiao)!=EOF) 
    {   
       i++; 
       n=n+1; 
    }  
 
  fclose(fp);  
    
  printf("学生学号:");  
  scanf("%s",s);  
  i=0; 
  while(strcmp(p[i].num,s)!=0&&i<n) 
  { 
     i++; 
   }      //进行比较 找到所需要的信息  
    if(i==n)  
     {  
      printf("t通讯录中没有此人!n");  
      return;  
     }  
  else{  
  FILE *fin,"r");//读打开原文件123.txt 
  ftp=fopen("tmp.txt",p[kk].cailiao);//不是则将这一行写入临时文件tmp.txt 
    } 
 
    kk++;   
  } 
     
 
  fclose(fin); 
  fclose(ftp); 
  remove("studata.txt");//删除原文件 
  rename("tmp.txt","studata.txt");//将临时文件名改为原文件名 
  printf("删除成功!") ;  
}  
   //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
   //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//  
               //运用switch语句进行菜单选择//  
} 
  
 int main()  
 {  
 

   int n=0;  
   logon();  
   //menu_filename(); //引用全局变量文件名  
   for(;;) //循环使用主界面直到遇到结束命令  
   {   
     switch(menu_select()) // 函数的调用//  
     {  
     case 1:  
       printf("tt *^_^*学生记录添加 *^_^*n");  
       add();  
       break;  
     case 2:  
       printf("tt *^_^*学生信息浏览 *^_^*n");  
       scan();  
       break;  
     case 3:  
       printf("tt *^_^*学生信息查询 *^_^*n");  
       query();  
       break;  
     case 4:  
       printf("tt *^_^*数据计算 *^_^*n");  
       date();  
       break;  
     case 5:  
       printf("tt *^_^*数据修改 *^_^*n");  
       amend();  
       break;  
     case 6:  
        printf("tt *^_^*数据删除 *^_^*n");  
        delet();  
        break;  
     case 0:  
        printf("ntt谢谢使用,再见!n");  
        printf("ntt");  
        system("pause");  
        exit(0);  
     }  
   }   
    system("pause");  
     
  
     //system("pause"); */ 
     return 0; 
 }

文件studata.txt文件展示如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读