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

完整代码如下:

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

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

最新文章

  1. java 模拟qq源码
  2. SqlServer——批量插入数据
  3. 栈应用hanoi
  4. 彻底禁止QQ更新
  5. sql server 数据页缓冲区的内存瓶颈分析
  6. ASP.NET WebApi 简单记录
  7. 关于js关闭浏览器技术细谈
  8. JPG 图片在IE下不能显示的问题
  9. Spark源码分析之分区器的作用
  10. CSS3笔记之第四天
  11. JavaScript(第十一天)【变量,作用域,内存】
  12. WebService详解(二)
  13. Servlet 过滤器Filter
  14. Seqlite学习
  15. TensorFlow:tf.contrib.layers.xavier_initializer
  16. Oracle的静默安装 升级和卸载 参考规范
  17. Linux进程管理四大工具ps \dstat\ top\ htop
  18. 使用linux远程登录另一台linux
  19. 【DP】【P5007】 DDOSvoid 的疑惑
  20. 课程设计——利用信号量实现生产者-消费者问题(java)

热门文章

  1. no !/ in spec
  2. Xcode8的调试技能Memory Graph 实战解决闭包引用循环问题
  3. @Html.Display @Html.LabelFor @Html.EditorFor Html.DisplayForModel Html.LabelForModel Html.EditorForModel
  4. JMeter学习-内存溢出解决方法
  5. AP_自动付款工作台设定和操作(流程)
  6. sumatrapdf 软件介绍
  7. centos 6.5 文件目录管理
  8. unity3D角色代码控制问题
  9. Spring Boot 2.0 Intellij Idea 中图文详解打包成可执行Jar
  10. verilog 条件编译命令`ifdef、`else、`endif 的应用