C语言职工信息管理系统:添加、显示、查询功能实现

这篇文章将介绍如何使用 C 语言创建一个简单的职工信息管理系统。该系统将允许用户执行以下操作:

  1. 添加新职工信息2. 显示所有职工信息3. 根据不同条件查询职工信息

代码实现c#include <stdio.h>#include <string.h>#include <stdlib.h>

// 定义一个结构体来存储职工信息struct employee { char number[10]; char name[10]; char sex[10]; char birthday[10]; char date[10]; char degree[10]; char position[10]; char add[20]; char tel[20];} em[100];

int n = 0; // 全局变量,用于记录职工数量

// 函数声明void add();void output(int t);void show();void search();

// 主函数int main() { int choice;

while (1) {        printf('

'); printf('+---------------------------------+ '); printf('| 职 工 信 息 管 理 系 统 | '); printf('| 1.添加职工信息 | '); printf('| 2.显示职工信息 | '); printf('| 3.查询职工信息 | '); printf('| 0.退出系统 | '); printf('+---------------------------------+ '); printf('请选择操作:'); scanf('%d', &choice);

    switch (choice) {            case 1:                add();                break;            case 2:                show();                break;            case 3:                search();                break;            case 0:                printf('退出系统...

'); return 0; default: printf('!!!输入错误!!!

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

// 添加职工信息void 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('

数据已保存!

');} //输出函数 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);}

// 查询职工信息void 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('| 1.按编号查询 | '); printf('| 2.按姓名查询 | '); printf('| 3.按学历查询 | '); printf('| 4.按职务查询 | '); printf('| 5.按性别查询 | '); printf('| 6.按出生年月查询 | '); printf('| 7.按入职年月查询 | '); printf('| 8.按地址查询 | '); printf('| 9.按电话查询 | '); printf('| 输入其他任意键退出本模块 | '); printf('+---------------------------------+ '); printf('请选择操作:'); scanf('%d', &num); if (num < 1 || num > 9) { printf('!!!输入错误!!!

'); system('cls'); // 清屏 } flag = 0; // 初始化flag switch (num) { case 1: printf(' 请输入您要查询的职工的编号:'); scanf('%s', &a); for (i = 0; i < n; i++) { if (strcmp(em[i].number, a) == 0) { output(i); flag = 1; } } break; case 2: printf(' 请输入您要查询的职工的姓名:'); scanf('%s', &name); for (i = 0; i < n; i++) { if (strcmp(em[i].name, name) == 0) { output(i); flag = 1; } } break; case 3: printf(' 请输入您要查询的职工的学历:'); scanf('%s', &degree); for (i = 0; i < n; i++) { if (strcmp(em[i].degree, degree) == 0) { output(i); flag = 1; } } break; case 4: printf(' 请输入您要查询的职工的职务:'); scanf('%s', &position); for (i = 0; i < n; i++) { if (strcmp(em[i].position, position) == 0) { output(i); flag = 1; } } break; case 5: printf(' 请输入您要查询的职工的性别:'); scanf('%s', &sex); for (i = 0; i < n; i++) { if (strcmp(em[i].sex, sex) == 0) { output(i); flag = 1; } } break; case 6: printf(' 请输入您要查询的职工的出生年月:'); scanf('%s', &birthday); for (i = 0; i < n; i++) { if (strcmp(em[i].birthday, birthday) == 0) { output(i); flag = 1; } } break; case 7: printf(' 请输入您要查询的职工的入职年月:'); scanf('%s', &date); for (i = 0; i < n; i++) { if (strcmp(em[i].date, date) == 0) { output(i); flag = 1; } } break; case 8: printf(' 请输入您要查询的职工的地址:'); scanf('%s', &add); for (i = 0; i < n; i++) { if (strcmp(em[i].add, add) == 0) { output(i); flag = 1; } } break; case 9: printf(' 请输入您要查询的职工的电话:'); scanf('%s', &tel); for (i = 0; i < n; i++) { if (strcmp(em[i].tel, tel) == 0) { output(i); flag = 1; } } break; default: break; } if (!flag) printf('

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

'); printf('

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

C语言职工信息管理系统:添加、显示、查询功能实现

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

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