设计目标:设计一个工资管理系统,用C语言实现。对该系统的要求如下:
一、需求描述:
系统角色:员工、财务人员、系统管理员。其功能分别描述如下:
1.员工
员工能够使用本系统实现个人信息录入、工资查询、个人信息修改功能。
1)个人信息录入
(1)身份证号
(2)姓名
(3)性别
(4)部门
2)工资查询
(1)月薪
(2)年新
(3)月平均收入
3)个人信息修改功能
(1)身份证号
(2)姓名
(3)性别
2.财务人员
财务人员对本单位的人员工资进行增加、删除、修改等。具体包括:
1)员工工资录入
2)员工工资修改
3)员工工资统计
4)员工信息打印
3、系统管理员
能够添加、删除和修改系统用户,设置用户权限。包括:
1)添加新用户
2)删除用户
3)修改用户权限
C语言写工资管理系统
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 便携蓄电池 2021-07-08 22:06关注
#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;
}
这是我写的,不知道哪里出问题了。明天老师要查,希望好心人看看。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 python变量和列表之间的相互影响
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 CSAPPattacklab
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)