C语言程序设计课设——小型工资管理系统

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<string.h>
#define maxsize 20
typedef struct
{
	int number;//工号 
	char name[10];
	char sex[10];
	char section[10];
	int  wage[10];//从这里面我们分成基本工资,绩效,奖金
	int  total;//这是总工资 
}list;
typedef struct
{
	list stu[maxsize];
	int len;
}linklist;
 yanshi(char *p)
{
	while (1)
	{
	if (*p!=0)
	printf("%c",*p++);
	else
	break;
	Sleep(10);               //延时控制间断语句
	}
}
void insert(linklist &q,int &n)
{
	int i=0;
	for(i=0;i<n;i++)
	{
		printf("输入第%d职工的数据  工号 姓名 性别  部门 基本工资 绩效工资  奖金: \n",i+1);
		scanf("%d",&q.stu[i].number);//这是工号
		scanf("%s",&q.stu[i].name);
		scanf("%s",&q.stu[i].sex);
		scanf("%s",&q.stu[i].section);
		for(int j=0;j<3;j++)
		{
			scanf("%d",&q.stu[i].wage[j]);
			q.stu[i].total=q.stu[i].wage[j]+q.stu[i].total;
		 }
	}
}
void xiugai(linklist &q)
{
	printf("输入要修改的职工工号:\n");
	int i,j;
	scanf("%d",&i);
	for( j=0;j<q.len;j++)
	{
	   if(i==q.stu[j].number)
		{
		   break;	   
		}
	}
	    printf("输入要修改的数据 1.工号 2.姓名 3.性别 4.部门 5.基本工资 6.绩效工资 7.奖金: \n");
			int x;
			scanf("%d",&x);
			switch(x)
			{
				case 1: printf("输入修改后的工号: \n");
				        scanf("%d",&q.stu[j].number);
				        break;
				case 2: printf("输入修改后的姓名: \n");
				        scanf("%s",&q.stu[j].name);
				        break;
				case 3: printf("输入修改后的性别: \n");
				        scanf("%s",&q.stu[j].sex);
				        break;
			    case 4: printf("输入修改后的部门: \n");
			            scanf("%s",&q.stu[j].section);
			            break;
			    case 5: printf("输入修改后的基本工资: \n");
			            scanf("%d",&q.stu[j].wage[0]);
			            break;
			    case 6: printf("输入修改后的绩效工资: \n");
			            scanf("%d",&q.stu[j].wage[1]);
	
			            break;
			    case 7: printf("输入修改后的奖金: \n");
			           scanf("%d",&q.stu[j].wage[2]);
			           break;
			}
	 q.stu[j].total=0;
	for(int s=0;s<3;s++)
	{
		   
	     	q.stu[j].total=q.stu[j].wage[s]+q.stu[j].total;
	 }
	printf("1.工号 2.姓名 3.性别 4.部门 5.基本工资 6.绩效工资 7.奖金  8.应发工资\n");
	for(int j=0;j<q.len;j++)
	{
		printf("%d  ",q.stu[j].number);
		printf("%s  ",q.stu[j].name);
		printf("%s  ",q.stu[j].sex);
		printf("%s  ",q.stu[j].section);
		for(int x=0;x<3;x++)
		{
			printf("%d  ",q.stu[j].wage[x]);
		}
		printf("%d  \n",q.stu[j].total);
	}
	
}
void sort(linklist q)
{
    list p;
	int i,j;
	for(i=0;i<q.len;i++)
	{
		if(q.stu[i].number>q.stu[i+1].number)
		{
			p=q.stu[i];
			q.stu[i]=q.stu[i+1];
			q.stu[i+1]=p;
		}
	}
	printf("这是按照升序进行排序的: \n");
	printf("1.工号 2.姓名 3.性别 4.部门 5.基本工资 6.绩效工资 7.奖金  8.应发工资\n");
	for( j=0;j<q.len;j++)
	{
		printf("%d  ",q.stu[j].number);
		printf("%s  ",q.stu[j].name);
		printf("%s  ",q.stu[j].sex);
		printf("%s  ",q.stu[j].section);
		for(int x=0;x<3;x++)
		{
			printf("%d  ",q.stu[j].wage[x]);
		}
		printf("%d  \n",q.stu[j].total);
	}
}
void chaxun(linklist q)
{
	printf("输入要查询的工号: \n");
	int i,j;
	scanf("%d",&i);
	for( j=0;j<q.len;j++)
	{
	   if(i==q.stu[j].number)
		{
		   break;	   
		}
	}
		printf("1.工号 2.姓名 3.性别 4.部门 5.基本工资 6.绩效工资 7.奖金  8.应发工资\n");
		printf("%d  ",q.stu[j].number);
		printf("%s  ",q.stu[j].name);
		printf("%s  ",q.stu[j].sex);
		printf("%s  ",q.stu[j].section);
		for(int x=0;x<3;x++)
		{
			printf("%d  ",q.stu[j].wage[x]);
		}
		printf("%d  \n",q.stu[j].total);
}
void output(linklist q)
{
		printf("1.工号 2.姓名 3.性别 4.部门 5.基本工资 6.绩效工资 7.奖金  8.应发工资\n");
	for(int j=0;j<q.len;j++)
	{
		printf("%d  ",q.stu[j].number);
		printf("%s  ",q.stu[j].name);
		printf("%s  ",q.stu[j].sex);
		printf("%s  ",q.stu[j].section);
		for(int x=0;x<3;x++)
		{
			printf("%d  ",q.stu[j].wage[x]);
		}
		printf("%d  \n",q.stu[j].total);
	}
}
int main()
{
	system("color  b");
	yanshi("                 --------------小型工资管理系统------------\n"); 
	printf("                                1.数据输入\n");
	printf("                                2.数据修改\n");
	printf("                                3.数据处理(查询,排序)\n");
	printf("                                4.数据输出\n");
	printf("                                5.退出\n");
	int x;
    linklist q;
	printf("输入要进行的操作: \n");
	scanf("%d",&x);
	while(x!=-1)
	{
		switch(x)
		{
			case 1:printf("输入要要输入的职工数据人数: \n");
			       scanf("%d",&q.len);
			       insert(q,q.len);
			       break;
		    case 2:xiugai(q);
		           break;
		    case 3: printf("输入要处理的是 1.排序 2.查询: \n");
		            int num;
		            scanf("%d",&num);
		            switch(num)
		            {
		            	case 1: sort(q);
		            	        break;
		            	case 2: chaxun(q);
		            	        break;
					}
					break;
		   case 4: output(q);
		           break;
		   case 5: printf("欢迎下次再次使用系统哦!\n");
		           break;
		}
		printf("选择下一步要进行的操作: \n");
		scanf("%d",&x);
	}
	return 0;
}
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值