记一道程序实验题-工资纳税管理系统

本文介绍了如何设计一个工资纳税管理系统,该系统能够记录和管理职工的工资、津贴、补贴等信息,并根据个人所得税法规计算税金。系统支持职工信息的录入、编辑、查询和按个人所得税排序等功能。核心功能通过多个独立函数实现并在main函数中调用。
摘要由CSDN通过智能技术生成

题目要求如下:

设计一个工资纳税管理系统,实现对职工工资及纳税信息进行管理和维护。
设计一个工资纳税管理系统,要求录入职工信息(每位职工的信息包括:职工编号、姓名、基本工资、津贴、补贴、应发工资、个人所得税、实发工资)并存入文件中;能计算税金;同时能对职工工资新信息编辑(插入或删除)、按职工编号进行查询、按个人所得税进行排序等管理功能。 个人所得税的计算方法:工资少于5000元税金为0;5000-8000部分为5%;8000-10000为10%;10000-12000为15%;12000以上为20%。 要求编写多个函数分别实现上述功能,而后在main函数中进行调用。

程序源代码:

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

typedef struct _Person {
   
	char id[20];                //职工编号
	char name[10];              //姓名
	double basic_salary;        //基本工资 
	double allowance;           //津贴
	double subsidy;             //补贴
	double theoretical_salary;  //应发工资
	double tax;                 //个人所得税
	double actually_salary;     //实发工资
	struct _Person* next;
}person;

person* head = NULL;
person* last = NULL;
int count = 0;

void add();                         //添加新职工 
void delete_person(char* number);   //删除职工 
void search(char* number);          //查找 
void sort();                        //按个人所得税由高到低排序 
void save();                        //保存到文件 

int main()
{
   
	FILE* fp = fopen("worker.dat", "rb");
	if (fp)
	{
   
		printf("检测到已经有保存的数据,是打开已有数据还是重新建立?\n注意:重新建立会覆盖当前数据!\n");
		printf("1.打开\n2.新建\n");
		int choice;
		scanf("%d", &choice);
		if (choice == 2)
		{
   
			fclose(fp);
			goto write;
		}
		fread((void*)&count, sizeof(int), 1, fp);
		person* back = head;
		for (int i = 0; i < count; i++)
		{
   
			person* p = (person*)malloc(sizeof(person));
			fread((void*)p, sizeof(person)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值