菜鸟修炼C语言小设计之――学生成绩管理系统(五)

2014-11-23 23:55:17 · 作者: · 浏览: 120
e "students.h"

#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语言菜鸟能提供到帮助,大家共同努力,共同奋斗!



摘自 K-Style的技术宅