C语言实现职工信息管理系统:高效查询与数据存储

这篇文章将介绍如何使用C语言创建一个职工信息管理系统。该系统利用结构体数组存储职工信息,并提供添加、显示和查询功能。

数据结构

我们使用一个名为 em 的结构体数组来存储职工信息。每个结构体成员代表职工的一项信息,例如编号、姓名、性别、出生年月等。cstruct employee { char number[10]; char name[10]; char sex[10]; char birthday[10]; char date[10]; char degree[10]; char position[10]; char add[10]; char tel[20];} em[100];

添加职工信息 (add() 函数)

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('是否继续输入?(Y/N): ');        scanf('%*c%c', &c);        n++;    } while (c != 'N' && c != 'n');     write(); // 保存数据    printf('

数据已保存!

');}

显示职工信息 (show() 函数)

show() 函数用于显示所有职工的信息,它调用 output() 函数来格式化输出每个职工的信息。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); } }}

查询职工信息 (search() 函数)

search() 函数允许用户根据不同的条件查询职工信息。它提供按编号、姓名、学历等多种查询方式。cvoid search() { int num, flag, i; char a[10], name[10], degree[10], position[10], sex[10], birthday[10], date[10], add[10], tel[20]; char c; read(); while (1) { // 显示查询菜单 printf(' +---------------------------------+ '); printf('| 职 工 信 息 查 询 系 统 | '); // ... 显示查询选项 ... printf('+---------------------------------+ '); printf('请选择操作:');

    scanf('%d', &num);        if (num < 1 || num > 9) {            printf('!!!输入错误!!!

'); system('cls'); // 清屏 }

    // 根据用户的选择进行查询        if (num == 1) { // 按编号查询            printf('

请输入您要查询的职工的编号:'); scanf('%s', &a); for (i = 0; i < n; i++) { if (strcmp(em[i].number, a) == 0) { output(i); flag = 1; } } } else if (num == 2) { // 按姓名查询 // ... } // ... 其他查询条件 ...

    // 处理查询结果        if(!flag) {            printf('

!!!无该职工信息!!!

'); } printf('

是否继续查询?(Y/N):'); scanf('%*c%c', &c); if(c == 'N' || c == 'n') break; }}

总结

本文介绍了如何使用C语言的结构体数组构建一个简单的职工信息管理系统。该系统提供添加、显示和查询职工信息等功能,并利用 strcmp 函数实现了精确的字符串匹配查询。

C语言实现职工信息管理系统:高效查询与数据存储

原文地址: https://www.cveoy.top/t/topic/fwXn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录