【源码】C/C++员工信息管理系统 期末课设

学长抄作业 2023-06-05 15:57:08
加精

目录

  • 学长敲代码
  • 题目介绍
  • 部分代码

学长敲代码

获取源码:

更多题目源码,可以访问学长敲代码首页
订做课设,C、C++、C#、数据库、java课设 : 点我跳转:学长敲代码首页 http://www.codeying.top

题目介绍

使用语言:有两个版本,一个是C语言,一个是C++,自行选择

题目介绍:系统带有文件读写功能,下次启动自动读取数据。

//定义人员信息结构体
struct Employee{
    char empname[10];    // 人员姓名
    char empnum[10];    // 编号
    char tele[20];    // 电话
    char depart[10];    // 部门
    char sex;    // 性别
};

//定义部门信息结构体
struct Department{
    char number[10];    // 编号
    char name[10];    // 部门名字
    char leader[10];    // 部门领导
};

在这里插入图片描述

查找

在这里插入图片描述


条件查找

在这里插入图片描述


部门信息

在这里插入图片描述


删除功能:

在这里插入图片描述


删除后:

在这里插入图片描述

部分代码


//添加Employee
void addEmployee(Employee* employeeList,Department* deparmentList){
    printf("输入你要录入的人员信息个数:\n"); 
    
    //用户输入要录入的人员信息个数:
    int count;
    scanf("%d",&count); 
    printf("**输入人员信息**\n"); 
    printf("依次输入:人员姓名 编号 电话 部门 性别(w/m) \n"); 

    for(int i = COUNTEmployee ; i < count+COUNTEmployee ;i++){
        scanf("%s %s %s %s %c",
            employeeList[i].empname,
            employeeList[i].empnum,
            employeeList[i].tele,
            employeeList[i].depart,
            &employeeList[i].sex
        );
        //判断部门是否存在; 
        int flag = 0;
        for(int j = 0;j<COUNTDepartment;j++){
            if(strcmp(employeeList[i].depart,deparmentList[j].name)==0 || strcmp(employeeList[i].depart,"无")==0){
                flag = 1; 
                break;
            }
        }
        if(flag == 0){
            i--;
            printf("该部门不存在!请先添加部门或者填‘无’\n");
        }
    }
    
    //COUNTEmployee,是全局变量 
    COUNTEmployee += count;

    printf("\n*****************************\n");
    printf("录入完成\n");
    printf("*****************************\n");
}


//删除Employee
void delEmployee(Employee* employeeList){
    printf("请输入您要删除的人员信息序号(输入-1退出):");
    int index = -1;
    scanf("%d",&index);
    
    //要删除的下标为index  
    index = index - 1;
    delEmp(employeeList,index);
}
void delEmp(Employee* employeeList,int index){
    if(index == -2){
        //不干任何事 
    } 
    else if(index < 0 || index >COUNTEmployee){
        printf("输入有误\n"); 
    } else{
        //开始删除! 
        for(int i = index; i <COUNTEmployee-1 ; i++){
            //元素全部往前移一位。 
            employeeList[i] = employeeList[i+1];
        }
        //最后令栈的长度减一 
        COUNTEmployee = COUNTEmployee - 1;
        printf("删除成功!\n"); 
    }
} 


//修改Employee
void modifyEmployee(Employee* employeeList,Department* departmentList){

    printf("请输入您要修改的人员信息序号(输入-1退出):");
    int i = -1;
    scanf("%d",&i);
    
    //要修改的下标为i  
    i = i - 1;
    if(i == -2){
        //退出 
    }
    else if(i < 0 || i >= COUNTEmployee){
        printf("输入有误\n"); 
    } else{
        int flag = 1;
        while (flag==1){
            //开始修改 
            printf("依次输入:人员姓名 编号 电话 部门 性别(m/w) \n"); 
            scanf("%s %s %s %s %c",
                employeeList[i].empname,
                employeeList[i].empnum,
                employeeList[i].tele,
                employeeList[i].depart,
                &employeeList[i].sex
            ); 
            //判断部门是否存在; 
            
            for(int j = 0;j<COUNTDepartment;j++){
                if(strcmp(employeeList[i].depart,departmentList[j].name)==0 || strcmp(employeeList[i].depart,"无")==0){
                    flag=0; 
                    break;
                }
            }
            if(flag){
                printf("该部门不存在!请先添加部门或者填‘无’\n");
            } 
        }
        printf("修改成功!\n"); 
    }
}

//罗列信息Employee
void queryAllEmployee(Employee* employeeList){
    printf("\n序号 人员姓名 编号 电话 部门 性别(m/w) \n"); 
    int i;
    int count =0;
    if(employeeList){
        for (i = 0;i < COUNTEmployee ; i++) 
        {
            printf("%-5d%-10s%-10s%-20s%-10s%-5c\n",
            i+1,
            employeeList[i].empname,
            employeeList[i].empnum,
            employeeList[i].tele,
            employeeList[i].depart,
            employeeList[i].sex); 
            count++;

        } 
        printf("\n");
    }

    printf("共%d条结果\n\n",count);

    
}
...全文
971 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip 【1】项目代码完整且功能都经验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、项目初期立项演示等用途。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能。 【特别强调】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为因为名字后再运行!有问题私信沟通,祝顺利! 优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip 优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip 优秀课设-基于C++和MVC模型实现的快递信息管理系统源码.zip

155

社区成员

发帖
与我相关
我的任务
社区描述
学长敲代码,专业订做课设Java、C#、C++、数据库
java-eec#mysql 个人社区 福建省·厦门市
社区管理员
  • 学长敲代码
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧