C语言员工信息管理系统:添加、显示和数据结构详解
C语言员工信息管理系统:添加、显示和数据结构详解
这篇文章将指导你使用C语言创建一个基本的员工信息管理系统。我们将重点关注两个核心功能:添加新员工和显示现有员工记录。此外,我们还将深入探讨用于存储员工信息的数据结构。
数据结构
首先,我们需要定义一个结构体来表示单个员工的信息。这个结构体将包含以下字段:ctypedef struct employee{ char number[10]; // 职工编号 char name[20]; // 职工姓名 char sex[10]; // 职工性别 char birthday[20]; // 职工出生年月 char date[20]; // 职工入职年月 char degree[20]; // 职工学历 char position[20]; // 职工职务 char add[50]; // 职工住址 char tel[20]; // 职工电话} Employee;
Employee em[100]; // 职工信息数组int n = 0; // 职工数量
我们定义了一个名为 Employee 的结构体,它包含了存储员工编号、姓名、性别、出生年月、入职年月、学历、职务、住址和电话等信息的成员。 然后,我们创建了一个名为 em 的 Employee 类型数组,最多可以存储 100 个员工信息。n 用于跟踪当前存储的员工数量。
添加新员工记录 (void add() 函数)cvoid add(){ int i, flag; char c; read(); do { flag = 0; printf('
'); printf('请输入职工的编号:'); scanf('%s', &em[n].number); for (i = 0; i < n; i++) { if(strcmp(em[i].number, em[n].number) == 0) { flag = 1; break; } } if(flag) { printf('!!!该职工已存在!!!
'); printf(' 是否继续输入?(Y/N): '); scanf('%c', &c); if(c == 'N' || c == 'n') break; continue; } printf('请输入职工姓名:'); scanf('%s', &em[n].name); printf('请输入职工性别:'); scanf('%s', &em[n].sex); printf('请输入职工出生年月:'); scanf('%s', &em[n].birthday); printf('请输入职工入职年月:'); scanf('%s', &em[n].date); printf('请输入职工学历:'); scanf('%s', &em[n].degree); printf('请输入职工职务:'); scanf('%s', &em[n].position); printf('请输入职工住址:'); scanf('%s', &em[n].add); printf('请输入职工电话:'); scanf('%s', &em[n].tel); printf('是否继续输入?(Y/N): '); scanf('%*c%c', &c); n++; }while (c != 'N' && c != 'n'); write(); printf('
数据已保存!
');}
add() 函数负责将新的员工信息添加到 em 数组中。它首先提示用户输入员工的编号,并检查该编号是否已存在。如果编号已存在,则会提示用户确认是否继续输入。如果用户选择继续,则函数会提示用户输入剩余的员工信息,并将新员工添加到数组中。
显示员工记录 (void show() 函数)c//输出函数 void output(int t){ printf('+--------+----+----+--------+--------+----+--------+----+------------+
'); printf('|职工编号|姓名|性别|出生年月|入职年月|学历| 职务 |地址| 电话 | '); printf('+--------+----+----+--------+--------+----+--------+----+------------+ '); { printf('|%4s |%3s|%3s |%7s |%7s |%4s|%6s |%4s|%11s | ', em[t].number, em[t].name, em[t].sex, em[t].birthday, em[t].date, em[t].degree, em[t].position, em[t].add, em[t].tel); }}
//显示
void show(){ int i; read(); if (n == 0) printf('无记录!
'); else for (i = 0; i < n; i++) { output(i); }}
show() 函数用于显示存储在 em 数组中的所有员工记录。它首先检查数组是否为空。如果数组不为空,则遍历数组并调用 output() 函数打印每个员工的信息。
总结
这篇文章介绍了如何使用C语言构建一个基本的员工信息管理系统,包括如何添加新员工记录、显示现有记录以及如何使用结构体和数组来组织数据。你可以根据自己的需要扩展这个系统,例如添加搜索、删除和修改员工信息等功能。
原文地址: https://www.cveoy.top/t/topic/fwW4 著作权归作者所有。请勿转载和采集!