我在做一个银行账户管理系统,现在定义了一下结构体:
struct client{
char account[14]; //账号
char name[10]; //名字
char identity[20]; //身份证号
char address[15]; //地址
long int money; //存款(可存可取)
};
因为考虑到用户数量应该没有上限,所以采用链表的动态数据结构,以达到目的。这里有几点疑问:
1.我准备用单链表,是用头插法好还是尾插法好呢?哪种更好实现数据的追加和删除呢?
2.我在定义了结构体后又定义了链表,如下所示:
struct client{
char account[14];
char name[10];
char identity[20];
char address[15];
long int money;
};
/*定义记录用户数据的链表*/
struct node{ //定义节点类型node
char account[14];
char name[10];
char identity[20];
char address[15];
long int money;
struct node *next;
};
这样做对的吗?我想用链表对client结构体进行插入、遍历、删除、修改等操作,是不是在定义结构体之后再这样定义一个链表呢?
3.(重要)定义完链表之后,就要实现注册功能,按照要求,要把账号、姓名等信息以二进制流存储到文件当中,比如我要把account通过链表插入并保存到二进制文件中,应该怎么写呢?重点突出指针的定义和使用,像文件打开判断部分可以省略
重点:1)定义完链表后怎么定义和使用指向成员们的指针呢?
2)二进制文件是保存为.bat格式吗?
3)执行这条语句来保存输入的内容吗?
for(i=0;i<n;i++)
if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) //为什么只有判断,没有保存的过程呢?
printf("flie write error\n");
fclose(fp);
我对以上的内容不是很了解,希望知道的人帮忙解答,谢谢了。