课程大作业目的

通过该大作业,考察学生分析、解决复杂问题的能力,考察学生编写较大程序的能力,检验和评价《程序设计基础》课程的学习效果

大作业内容

编写一个小型工资管理系统,用来管理职工的个人基本信息及工资薪酬等数据

基本要求

  1. 每个职工的数据应包括:工号、姓名、性别、部门、基本工资、绩效工资、奖金、应发工资(应发工资=基本工资+绩效工资+奖金)。职工数据要求采用结构体数据类型。
  2. 菜单显示:显示系统的一级功能菜单(数据输入、数据修改、数据处理、数据输出、退出)。
  3. 数据输入:至少输入10个职工的各项数据(应发工资由系统自动计算,不需要输入)。**录入的第一条记录用自已的真实姓名,部门为自己的真实班级。**并将有自己真实姓名、班级的输出结果截屏保存到大作业总结报告中。

  4. 数据修改:输入工号,修改指定工号的各项数据。输出修改完成后的全部职工数据。

  5. 数据处理:处理方式包括:排序、查询。可提供子菜单让用户选择。其中:

    (1) 排序:按工号排序,显示所有职工的全部数据。

    (2) 查询:按工号查询,显示指定工号的全部数据。

  6. 数据输出:输出全部职工的各项数据。

  7. 新增 删除职工数据
  8. 新增 统计职工男女数量
  9. 退出:退出整个工资管理系统。

代码如下

#include <stdio.h>
#include <string.h>
struct staff
{char number[20];char name[20];char gender[10];char bumen[20];double jbgz;double jxgz;double bonus;double yfgz;
};
double jbgz,jxgz,bonus,yfgz;
struct staff sta[10];
void inputdata();                  //1.定义数据输入函数 input data
void modifydata();       //2.定义数据修改函数 modify data
void processdata();       //3.定义数据处理函数 process data
void sortdata();       //定义数据处理函数中的按工号排序数据函数  sort data
void searchdata();       //定义数据处理函数中的按工号查询数据函数  search data
void outputdata();       //4.定义数据输出函数 output data
void deldata();        //5.定义数据删除函数 delete data       新增
void countgender();                //6.定义统计男女职工数量函数 count gender    新增
int main()
{int i,choice; while(1){for(i=1;i<90;i++)printf("*");printf("\n");printf("1.数据输入  2.数据修改  3.数据处理  4.数据输出  5.数据删除  6.统计男女职工数量  7.退出\n");for(i=1;i<90;i++)printf("*");printf("\n");do{printf("请根据菜单输入数字:");scanf("%d",&choice);}while(choice!=1&&choice!=2&&choice!=3&&choice!=4&&choice!=5&&choice!=6&&choice!=7);if(choice==7)break;else{if(choice==1) inputdata();else if(choice==2) modifydata();else if(choice==3) processdata();else if(choice==4) outputdata();else if(choice==5) deldata();else if(choice==6) countgender();else printf("该数不合法;\n");     //另加}}return 0;
}
void inputdata()
{int i;for(i=1;i<=10;i++){printf("请输入第%d位职工的工号,姓名,性别,部门,基本工资,绩效工资,奖金:",i);scanf("%s %s %s %s %lf %lf %lf",&sta[i].number,&sta[i].name,&sta[i].gender,&sta[i].bumen,&sta[i].jbgz,&sta[i].jxgz,&sta[i].bonus);   //输入第i位职工的工号,姓名,性别,部门,基本工资,绩效工资,奖金sta[i].yfgz=sta[i].jbgz+sta[i].jxgz+sta[i].bonus;printf("输入成功\n");}
}
void modifydata()
{int i;char num[20];printf("请输入您想要修改职工的数据的工号:");scanf("%s",&num);for(i=1;i<10;i++){if(strcmp(num,sta[i].number)==0){printf("请输入新工号,姓名,性别,部门,基本工资,绩效工资,奖金\n");scanf("%s %s %s %s %lf %lf %lf",&sta[i].number,&sta[i].name,&sta[i].gender,&sta[i].bumen,&sta[i].jbgz,&sta[i].jxgz,&sta[i].bonus);sta[i].yfgz=sta[i].jbgz+sta[i].jxgz+sta[i].bonus;}printf("修改成功!\n");printf("修改后的数据为:\n");printf("    工号          姓名       性别        部门           基本工资           绩效工资            奖金           应发工资\n");printf("%s       %s           %s         %s      %f   %f    %f     %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);break;}
}
void processdata()
{int choice,i;for(i=1;i<30;i++)printf("*");printf("\n");printf("二级菜单:\n");printf("1.排序 2.查询\n");for(i=1;i<30;i++)printf("*");printf("\n");printf("请根据菜单输入数字:");scanf("%d",&choice);if(choice==1) sortdata();else searchdata();
}
void sortdata()
{int i,j,k;char n[10];for(i=1;i<=10;i++){for(j=1;j<=10;j++){if(strcmp(sta[i].number,sta[j].number)>0){strcpy(n,sta[j].number);strcpy(sta[j].number,sta[i].number);strcpy(sta[i].number,n);}}}for(k=1;k<=10;k++){printf("%s     %s    %s     %s     %lf    %lf    %lf\n",sta[k].number,sta[k].name,sta[k].gender,sta[k].bumen,sta[k].jbgz,sta[k].jxgz,sta[k].bonus,sta[k].yfgz);}
}
void searchdata()
{int i;char snum[20];       //snum = searchnumberprintf("请输入您想要查询的职工工号:");scanf("%s",&snum);for(i=1;i<10;i++){if(strcmp(snum,sta[i].number)==0){printf("该职工的数据为:\n");printf("     工号           姓名           性别           部门          基本工资       绩效工资        奖金          应发工资\n\n");printf(" %s       %s           %s         %s      %f   %f    %f     %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);}break;}
}
void outputdata()
{int i;printf("     工号           姓名           性别           部门          基本工资       绩效工资        奖金          应发工资\n");for(i=1;i<=10;i++){printf(" %s       %s           %s         %s      %f   %f    %f     %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);}
}
void deldata()
{int i,j,choi;//char Y=Y;//char N=N;char delnum[20];printf("请输入您想要删除职工数据的工号:");scanf("%s",&delnum);for(i=1;i<10;i++){if(strcmp(delnum,sta[i].number)==0){printf("该职工的数据为:\n");printf("     工号           姓名           性别           部门          基本工资       绩效工资        奖金          应发工资\n");printf(" %s       %s           %s         %s      %f   %f    %f     %f\n",sta[i].number,sta[i].name,sta[i].gender,sta[i].bumen,sta[i].jbgz,sta[i].jxgz,sta[i].bonus,sta[i].yfgz);printf("确认删除该名职工的数据吗?(1.确认  2.取消)\n");scanf("%d",&choi);if(choi==1){for(i=1,j=2;j<=10;i++,j++){strcpy(sta[i].number,sta[j].number);strcpy(sta[i].name,sta[j].name);strcpy(sta[i].gender,sta[j].gender);strcpy(sta[i].bumen,sta[j].bumen);sta[i].jbgz=sta[j].jbgz;sta[i].jxgz=sta[j].jxgz;sta[i].bonus=sta[j].bonus;}printf("删除成功!!\n"); }else break;}}
}
void countgender()
{int i,count=0,fecount=0;char gen[10]="男";for(i=1;i<=10;i++){if(strcmp(gen,sta[i].gender)==0) count++;}fecount=10-count;printf("该公司有%d名男职工,有%d名女职工\n",count,fecount);
}

C语言大作业--小型工资管理系统相关推荐

  1. 学委作业管理系统c语言,c语言大作业-学生信息管理系统.doc

    c语言大作业-学生信息管理系统.doc 课程设计报告书 题目:学生信息管理系统设计 学 院 电子与信息学院 专 业 电子信息类 学生姓名 学生学号 指导教师 课程编号 135160 课程学分 1学分 ...

  2. 哈工大C语言大作业-学生成绩管理系统

    哈工大C语言大作业-学生成绩管理系统 完整项目地址:https://github.com/944613709/Student-Performance-Management-System-ByC 说明 ...

  3. 【C】C语言大作业——学生学籍管理系统

    文章目录 学生管理系统 界面 主界面 登陆界面 注册界面 管理界面 学生界面 退出界面 链接 注意 学生管理系统 学C语言时写的一个大作业,弄了一个带图形界面的,使用的是VS配合EasyX图形库进行实 ...

  4. c语言大作业教室预约管理系统,C语言程序设计——教室管理系统(源代码))

    C语言程序设计--教室管理系统(源代码) 非常有用的. #include #include #include #define szSTR 64 #define fileDB "c:\\con ...

  5. c语言大作业书店图书管理系统,c语言课程设计 书店管理系统.pdf

    c语言课程设计 书店管理系统 计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一 ...

  6. c语言大作业书店图书管理系统,C语言_课程设计—书店图书管理系统.doc

    计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24日 一.选题背景: 设计一个图书管理系统,管理员通过登陆账 ...

  7. c语言大作业书店图书管理系统,C语言课程设计书店管理系统.pdf

    计算机程序设计(C语言) 课程设计报告 题目:图书管理系统 学院: 专业: 班级: 学号: 姓名: 指导教师: 设计日期:2013年06月24 日 一.选题背景: 设计一个图书管理系统,管理员通过登陆 ...

  8. 学生证选课系统c语言大作业,学生选课管理系统c语言程序

    #include #include #include int N1,N2; struct couse * head1; struct student * head2; struct couse //课 ...

  9. 程序设计大作业:教务管理系统(C语言)

    写在前头: 这个大作业是大一写的,所以比较低能,全篇只涉及C语言相关知识,且有些内容我自己看了都嫌弃.嘿嘿. 我整理了资源,可以免费下载:程序设计大作业:教务管理系统(C语言)-C文档类资源-CSDN ...

  10. C语言大作业:车辆管理系统

    C语言大作业:车辆管理系统 声明 此代码使用VS2019编译器进行编译 使用 vc 和 dev-c 的有可能会出现编译警告,需要自己去网上查找相关的编译环境的问题 其次使用vs编译器也可能会报 C49 ...

最新文章

  1. 简易快速的开发,需要一个快速开发平台来支持
  2. .ini文件的读写操作
  3. 全球及中国七氟二甲基辛二酸铜(II)行业竞争策略与投资前景研究报告2022版
  4. linux 搭建github,github在linux上的环境搭建-Go语言中文社区
  5. 演示方法:有抱负的分析师
  6. Android实现动画Dialog
  7. C语言项目:黑客帝国之数字雨
  8. Java工作笔记-Java函数参传值传引用问题
  9. 怎样在word文档画虚线_班级工作小技巧——怎样在word里画出美观正式的四线三格?...
  10. SQLmap下载和安装教程(详细附图)
  11. php找100到1000之间的素数_php编程输出100以内的素数
  12. ESP32利用百度智能云实现图像识别 文字识别
  13. 处理24人!又一批科研不端案例被通报批评
  14. qq空间的相册名称java_空间相册名称大全
  15. pip3 install -U qcloud-python-sts 安装失败解决方法
  16. 协同感知综述:从异质单体到分层合作
  17. Result Maps collection already contains value for com.anoxia.mapper.XXXMapper.BaseResultMap
  18. guava异步线程使用
  19. Spring boot 配置文件yml的用法
  20. 通过域控组策略自动获取公司内电脑硬件配置详细方案

热门文章

  1. Weblogic 部署两个应用
  2. android课程设计多彩的霓虹,Android-自定义TextView(彩色字体与霓虹灯字体以及TextView的多项字体效果)...
  3. 数据结构1800题-错题集-第七章
  4. Android 垃圾回收机制★★★
  5. 如何在新系统下重玩老游戏
  6. linux中vi后如何退出命令,linux用VI编辑后保存退出命令是什么啊?
  7. 论Web App、Hybrid App、Native App三类主流APP设计差异
  8. 编译 mobileTerminal
  9. 微型计算机技术试题,《微型计算机技术》试题库
  10. 知网caj文件怎么转换成Word文档?