#define FILE_NAME "students"
void save_student(STU *stu_head)
{
STU *node = stu_head;
FILE *fp;
fp = fopen(FILE_NAME, "w+");
while(node){
fprintf(fp, "%ld %s %0.1f %0.1f %0.1f %0.1lf %0.1f\n", node->ID, node->name,\
node->chinese, node->math, node->english, node->all_sub, node->average);
node=node->next;
}
fclose(fp);
printf("保存成功!按任意键返回。\n");
getch();
}
STU *init_student(STU *stu_head)
{
STU *node = stu_head;
STU *head = stu_head;
STU *new_node;
int i;
FILE *fp;
char name[10];
int num;
ASK_STU(new_node);
new_node->next=NULL;
fp = fopen(FILE_NAME, "r+");
rewind(fp);
while((i = fscanf(fp, "%ld%s%f%f%f%lf%f\n", &new_node->ID, new_node->name,\
&new_node->chinese, &new_node->math, &new_node->english, &new_node->all_sub, &new_node->average)) == 7){
if(!head)
head = node = new_node;
else{
while(node->next)
node = node->next;
node->next = new_node;
}
ASK_STU(new_node);
new_node->next = NULL;
}
fclose(fp);
return head;
}
四、总结
菜鸟修炼C语言基础部分到此告一段落了,通过这段时间的修炼对C语言有了更加深入的理解,能够熟练运用指针、数组、结构体和链表进行代码的编写了。如果以后有时间,可能会修炼一下C算法,下一段时间我会修炼C++。希望能对像我一样的C语言菜鸟能提供到帮助,大家共同努力,共同奋斗!