/========学员信息管理系统========
//======== 编制:宋焱鑫
//==TXT 文本文件实时存储数据,仍然运用结构体数组
#include ""
#include息
case
'4'
:update();
break;
// 修改学员信息
case
'5'
:del();
break ;
//
删除学员信息
case
'6'
:sort();
break ;
// 对学员进行排序
case
‘7’:average();
break; //
求学生成绩平均值
case
‘8’:guake();
break; //
求挂科学生
case
'0'
:
break ;
//
退出
default :printf( " 请选择功能前的数字 \n" ); break ;
}
} while (select!= '0' );
}
void readdb() // 初始化学员信息,把外存中学生数据读入到内存中
{
FILE *fp;
if ((fp=fopen( "" , "r" ))==NULL)
{ printf( " 文件有错误!!!程序不能运行!!! \n" ); return ; } scount=0; //scount 是数据库中实际学生数量,是全局变量
while (!feof(fp)) //no 是学号, name是姓名, )core 是成绩
{
//stu 是学生结构体数组,全局变量
fscanf(fp, "%s %s %f %f %f" ,stu[scount].no,stu[scount].name,&stu[scou nt].score[0],&stu[scount].score[1],&stu[scount].score[2]);
if (strcmp(stu[scount].no, "" )!=0) scount++; // 去掉学号为空字符串
}
fclose(fp);
}
把内存中结构体数组中的学生数据保存到外存中 void savedb()
{
int i; FILE *fp;
if ((fp=fopen( "" , "w" ))==NULL) // 以写的方式打开文件,覆盖原文件
{ printf( " 文件有错误!!!程序不能运行!!! \n" ); return ; } //stu 是学生结构体数组,全局变量
for (i=0;i<scount;i++) //scount 代表实际的学生数量, stu 是表示学生信息的结构体数组名
if (strcmp(stu[i].no, "" )!=0) // 去掉学号为空字符串的信息
printf(fp, "%-8s%-10s%-%-%-\n" ,stu[i].no,stu[i].name,s tu[i].score[0]
项目程序代码 来自淘豆网www.taodocs.com转载请标明出处.