extern void append_record(); 添加记录 extern void show_record(); 输出全部记录 extern void delete_record(); 删除记录 extern void change_record(); 更改记录 extern void inquire_record(); 查询记录 extern void sort_record(); 记录排序 #endif
6.2 主控程序模块
main.c源文件: #include\{
void save();
void menu();
void openfile(); 用于打开文件,形成链表 int sel;
openfile(); 用于打开文件信息,输出到链表里 while(1) {
menu(); fflush(stdin);
scanf(\读取输入的sel switch(sel) {
case 0:save();break;
case 1:append_record();break; * 增加学生 *
}
case 2:show_record();break;* 显示学生 * case 3:delete_record();break;* 删除学生 * case 4:change_record();break;* 修改学生 * case 5:inquire_record();break;* 查询学生 * case 6:sort_record();break;排序
default: printf(\输入无效,请重新输入\\n\
} }
void save() {
STU *p=NULL; FILE *fp;
char *filename=\static int count=0; if(shouldsave) {
printf(\资料已更改,是否保存?(y or n)\\n\ fflush(stdin);
if(y_n!='y' && y_n!='Y') {
printf(\资料未保存\\n\释放空间
char y_n;
scanf(\
for(;\
return; }else {
p=(filename,\ {
printf(\文件不能打开\\n\ }
while(p!=NULL) {
return;
fprintf(fp,fomat,p->number,p->name,p->sex,p->score[0],p->score[1],p->score[2],p->score[3],p->score[4],p->average);
p=p->next; } fclose(fp);
printf(\保存完毕,共保存%d条记录,是否继续?\\n\ fflush(stdin); scanf(\ if(y_n=='y'||y_n=='Y') return; else {
释放空间 count++;
for(;\ exit(0);
}
} else {
printf(\你已退出系统,再见......\\n\
exit(0); }
void menu() { }
void openfile() 用于打开文件,形成链表 {
FILE *fp;
STU *p1=NULL,*p2=NULL;,*temp=NULL; char y_n;
static int count=0; 用于统计记录数
printf(\printf(\添加学生\\n\printf(\显示学生\\n\printf(\删除学生\\n\printf(\修改学生\\n\printf(\查询学生\\n\printf(\排序学生\\n\printf(\退出\\n\
printf(\printf(\请选择\}
char u8IsFileNull;
相关推荐: