学生管理系统

学生管理系统:

        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指定每一个数据的格式并单独写入

原文地址:https://www.cnblogs.com/didi520/p/4165591.html