mfc学生成绩录入与查询

1、声明结构体

struct Person
{
char name[8];
char yuwen[8];
char math[8];
};

2、成绩录入

在"保存"按钮中实现以下代码

UpdateData(TRUE);
file=fopen("test.txt","a");
Person person={0};
UpdateData(TRUE);
strcpy(person.name,m_name_in);//结构体字符数组赋值
strcpy(person.yuwen,m_yuwen_in);
strcpy(person.math,m_math_in);
fwrite(&person,sizeof(Person),1,file);//向磁盘写入结构体
fclose(file);

3、成绩读取

在CEdit中输入学生名字后,在"查询"按钮中实现以下代码:

file=fopen("test.txt","r");
fseek(file,0,SEEK_END);
int lenth=ftell(file);//总的字节数
int num=lenth/sizeof(Person);//有多少个人

Person *p=new Person[num];//使用动态数组
rewind(file);
fread(p,sizeof(Person),num,file);
fclose(file);
UpdateData(TRUE);
for(int i=0;;i++)
{
  if(p[i].name==m_name_out)
  {  
  m_yuwen_out=p[i].yuwen;
  m_math_out=p[i].math;
  break;
  }
}
UpdateData(FALSE);

原文地址:https://www.cnblogs.com/judes/p/5918332.html