C语言写工资管理系统

设计目标:设计一个工资管理系统,用C语言实现。对该系统的要求如下:
一、需求描述:
系统角色:员工、财务人员、系统管理员。其功能分别描述如下:
1.员工
员工能够使用本系统实现个人信息录入、工资查询、个人信息修改功能。
1)个人信息录入
(1)身份证号
(2)姓名
(3)性别
(4)部门
2)工资查询
(1)月薪
(2)年新
(3)月平均收入
3)个人信息修改功能
(1)身份证号
(2)姓名
(3)性别
2.财务人员
财务人员对本单位的人员工资进行增加、删除、修改等。具体包括:
1)员工工资录入
2)员工工资修改
3)员工工资统计
4)员工信息打印
3、系统管理员
能够添加、删除和修改系统用户,设置用户权限。包括:
1)添加新用户
2)删除用户
3)修改用户权限

#include <stdio.h>
#include <string.h>
#include<stdlib.h>

//函数声明
//子窗口正确显示
int menuSubclassSucces();
//子窗口错误显示
int menuSubclassFail();
//界面显示
void menuShow();
//用户选择
void userChoseFunction(int chose);
//注册页面成功提示
int userRegisterMenu();

int chose;
//用户账号密码校验
char userCheck[50];
char pwdCheck[16];

//匹配用户名与密码
int isUserName;
int isUserPwd;

//定义管理员用户登录用户名 以及密码
char userNameR[50] = { "root" };
char userPwdR[16] = { "abc" };

//定义财务人员用户登录用户名以及密码
char userNameC[50] ={"money"};
char userPwdC[16]={"123"};

//定义普通用户登录用户名 以及密码
char userName[50];
char userPwd[16];

//界面显示
void menuShow()
{
printf("//\n\n");
printf("\t欢迎工资管理系统\n\n");
printf("/
/\n\n");

printf("请进行如下选择:\n\n\t1.用户登录\n\n\t2.用户注册\n\n\t3.查看更多\n\n\t4.退出系统\n\n");
printf("请选择:");

}

//用户登录选择
void userLoginChose()
{
printf("用户登陆选择:\n1.员工用户\n2.管理员\n3.财务人员\n");
scanf("%d", &userCdFlag);
getchar();

}

//用户选择
void userChoseFunction(int chose)
{
switch (chose)
{
case 1:
//普通用户
switch(userCdFlag)
{
case 1:
{
printf("请输入用户名:");
gets(userCheck);
//user check
isUserName = strcmp(userName, userCheck);
printf("\n");

            printf("请输入密码:");
            gets(pwdCheck);
            printf("\n");
            //pwd check
            isUserPwd = strcmp(userPwd, pwdCheck);

            if ((isUserName == 0) && (isUserPwd == 0))
            {
                //用于判断返回层次
                if (menuSubclassSucces() == 0)
                {
                    break;
                }
                else
                {
                    menuSubclassSucces();
                }
            }
            //失败页面
            
            {
                if (menuSubclassFail() == 0)
                {
                    break;
                }
                else
                {
                    getchar();
                    userChoseFunction(1);
                }
            }
            printf("\n");
            getchar();
        
        }
        //管理员用户
        case 2:
        {
            printf("请输入用户名:");
            gets(userCheck);
            //user check
            isUserName = strcmp(userNameR, userCheck);
            printf("\n");

            printf("请输入密码:");
            gets(pwdCheck);
            printf("\n");
            //pwd check
            isUserPwd = strcmp(userPwdR, pwdCheck);

            if ((isUserName == 0) && (isUserPwd == 0))
            {
                //用于判断返回层次
                if (menuSubclassSucces() == 0)
                {
                    break;
                }
                else
                {
                    menuSubclassSucces();//员工登录
                    



                }
            }
            //失败页面
            else
            {
                if (menuSubclassFail() == 0)
                {
                    break;
                }
                else
                {
                    getchar();
                    userChoseFunction(1);
                }
            }
            printf("\n");
            getchar();
        }
        //财务人员登录 
        case 3:
        {
            printf("请输入用户名:");
            gets(userCheck);
            //user check
            isUserName = strcmp(userNameC, userCheck);
            printf("\n");

            printf("请输入密码:");
            gets(pwdCheck);
            printf("\n");
            //pwd check
            isUserPwd = strcmp(userPwdC, pwdCheck);

            if ((isUserName == 0) && (isUserPwd == 0))
            {
                //用于判断返回层次
                if (menuSubclassSucces() == 0)
                {
                    break;
                }
                else
                {
                    menuSubclassSucces();//员工登录
                    



                }
            }
            //失败页面
            else
            {
                if (menuSubclassFail() == 0)
                {
                    break;
                }
                else
                {
                    getchar();
                    userChoseFunction(1);
                }
            }
            printf("\n");
            getchar();
        }
        break;
    }
        break;
    case 2:
        printf("请添加用户名:");
        gets(userName);
        printf("\n");
        printf("请输入密码:");
        gets(userPwd);
        if ((userName != NULL) && (userPwd != NULL))
        {
            userRegisterMenu();

        }
        printf("\n");
        userCdFlag = 2;
        break;
    case 3:
        printf("欢迎使用该服务程序,如有疑问,请联系管理员");
        getchar();
        break;

    default:
        break;
}

}

//子窗口正确显示
int menuSubclassSucces()
{
char succes;
printf("/登录成功/\n\n");
printf("输入'y'返回上一层目录\n");
scanf("%c", &succes);
if (succes == 'y') return 0;
else
{
return 1;
}
}

//子窗口错误显示
int menuSubclassFail()
{
char fail;
printf("/登录失败/\n\n");
printf("'y'重新输入输入\t'n'返回上一层目录\n");
scanf("%c", &fail);
if (fail == 'n') return 0;
else
{
return 1;
}
}

//注册页面成功提示
int userRegisterMenu()
{
char succes;
printf("用户注册成功\n输入‘y’返回登录页面\n\n");
scanf("%c", &succes);
if (succes == 'y') return 0;
else
{
return 1;
}
}

int main()
{
system("color 8A");
while (1)
{
menuShow();
scanf("%d", &chose);
getchar();
userChoseFunction(chose);
if (chose == 4) return 0;
}
return 0;
}
这是我写的,不知道哪里出问题了。明天老师要查,希望好心人看看。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^