C语言实现的个人化人员管理系统

需积分: 4 1 下载量 197 浏览量 更新于2024-09-12 收藏 3KB TXT 举报
"该资源是一个使用C语言编写的简单人员管理系统的一部分代码,主要包含了修改(change)和列出(list)两个功能。系统以文本文件(r.txt)存储人员信息,包含ID、姓名和薪资三个字段。" 在这个人员管理系统中,有两个关键函数:`change` 和 `list`。 1. `change` 函数: - 此函数用于修改已存在人员的信息。首先,它定义了一个`person`结构体类型的指针`p`,并用`malloc`分配内存来存储人员信息。 - 然后,它打开名为“r.txt”的文件进行读写操作。如果文件打开失败,程序将释放内存并返回。 - 使用`rewind`函数将文件指针移动到文件的开头,以便从头开始读取。 - 接着,用户被要求输入要修改的人员ID。通过`fread`函数逐个读取文件中的人员信息,当找到与输入ID匹配的人员时,程序暂停,允许用户输入新的姓名和薪资。 - 使用`fseek`将文件指针回退到当前人员记录的起始位置,然后用`fwrite`更新文件中的信息。最后,询问用户是否继续修改,若选择不修改,则退出循环。 - 完成修改后,关闭文件,释放内存,并将指针设置为NULL。 2. `list` 函数: - 此函数用于列出所有人员的信息。同样,它首先定义了`person`结构体类型的指针`p`,并尝试分配内存。 - 打开“r.txt”文件进行只读操作,如果失败则释放内存并返回0。 - 使用`rewind`将文件指针移动到文件开头,接着通过`fread`循环读取文件中的每个人员记录,打印出ID、姓名和薪资。 - 每成功读取一个记录,`num`变量就加1,表示已处理的人员数量。 - 循环结束后,关闭文件,释放内存,并将指针设置为NULL。 这个简单的系统虽然功能有限,但展示了如何在C语言中处理文件、定义结构体以及使用文件I/O来实现基本的数据管理和用户交互。然而,由于没有错误处理和用户友好的界面,它可能不适合实际的生产环境。在实际开发中,通常会使用更高级的数据库系统和更强大的编程语言,如Python或Java,来实现更安全、更高效且功能更全面的人员管理系统。