学生管理系统:
1. 头文件的处理,宏定义的处理,然后全局变量,函数声明,结构体的处理
2. 分析的很清楚,每一个操作模块都用相应的函数模块来实现。
例如:
编号 |
功能 |
0 |
退出系统 |
1 |
输入学生信息,调用in()函数 |
2 |
查询学生信息,调用search()函数 |
3 |
删除学生信息,调用del()函数 |
4 |
修改学生信息,调用modify()函数 |
5 |
插入学生信息,调用insert()函数 |
6 |
对学生的成绩从高到低排序,调用order()函数 |
7 |
统计学生人数,调用total()函数 |
8 |
显示学生信息,调用show()函数 |
3. 编写的时候,先显示一个菜单界面,使用menu()函数,就是选几会有什么操作。main函数呢,使用了一个switch……case语句,每个语句后面调用相应的函数。
4. 输入学生信息:打开文件->看文件中有多少信息->如果有就显示原有信息->然后再打开文件进行输入信息(如果规定了哪一个不能重复的时候进行判断,如果相同则存在,不可输入,那么就关闭文件,如果不存在,则可以输入学生的各种信息)->如果失败,则提示信息为“……”->是否继续输入->(如果不)关闭文件。
5. 文件打开的读写要注意,它是整个读出来,然后整个的写进去,如果只想改某一个,那也是要整个读出来,然后在写进去。(暂时不清楚是不是对???先这么写了,希望知道的说一声!!!!)
6. 你想做任何的修改都要先把内容读出来,然后关闭文件,然后进行处理,然后打开文件,写入。
7. 打开文件fopen(“data.txt”,”r+(可以是其他形式)”)->不到末尾一直读,全部读出数据(while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1) m++)(==1说明读取成功了。另一个部分是打开文件fopen(“data.txt”,”r+(可以是其他形式)”)->然后写数据frwite(&stu[j],LEN,1,fp)!=1表示没写成功,==1表示写成功了。
8. 如果单独打开txt文档,是乱码,这是因为fwite用于对文件进行二进制写入,这种文件一般用记事本打开都是乱码的,所以一般不用于往txt文件里写数据.这个时候你可以把数据转成字符型再写入文件,或者把结构体里的数据不一次性写入,而是分开写,用fprintf指定每一个数据的格式并单独写入