工资管理系统源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

#include

#include

#include

#include

#define MONTH_NUM 5 /* 最多的月份*/

struct worker

{

int number; /* 每个工人的工号*/

char name[15]; /* 每个工人的姓名*/

int salary[MONTH_NUM]; /* 每个工人M月的工资*/ int sum; /* 每个工人的总工资*/ float average; /* 每个工人的平均工资*/ struct worker *next; //下一个节点的地址

};

typedef struct worker STU;

char Menu(void);

int Ascending(int a, int b);

int Descending(int a, int b);

void IntSwap(int *pt1, int *pt2);

void CharSwap(char *pt1, char *pt2);

void FloatSwap(float *pt1, float *pt2);

STU *AppendNode(STU *head, const int m);

STU *DeleteNode(STU *head, int nodeNum);

STU *ModifyNode(STU *head, int nodeNum, const int m); STU *SearchNode(STU *head, int nodeNum);

STU *Appendsalary(STU *head, const int m);

void Totalsalary(STU *head, const int m);

void Printsalary(STU *head, const int m);

STU *Deletesalary(STU *head, const int m);

void Modifysalary(STU *head, const int m);

void Sortsalary(STU *head, const int m, int (*compare)(int a, int b));

void Searchsalary(STU *head, const int m);

void DeleteMemory(STU *head);

void numberSwap(STU *head);

main()

{

char ch,b;

int m,a;

STU *head = NULL;

printf("\n\n\n\n\n\n\n\n\n");

printf("``╭╮╭╮╭╮\n");

printf("``│││││└╮\n");

printf("╭┴┴———————┴┴╮~└—╯\n");

printf("││╭—————╮\n");

printf("│││哈│\n");

printf("│●●│╭╮│喽! │\n");

printf("│○╰┬┬┬╯○│o╰╯╰—————╯\n");

printf("│╰—╯│\n");

printf("╰——┬o———o┬——╯\n");

printf(" ╭╮╭╮\n");

printf(" ╰┴————┴╯\n");

Sleep(3000);

system("cls");

printf("\n\n\n\n\n\n\n\n\n\n\n ≈~☆输入要记录的月份个数(m<10)☆~~`≈: "); scanf("%d", &m);

system("cls");

while (1)

{

ch = Menu();

switch (ch)

{

case'1':head = Appendsalary(head, m);

Totalsalary(head, m);

break;

case'2':Modifysalary(head, m);

Totalsalary(head, m);

printf("\nAfter modified\n");

Printsalary(head, m);

Sleep(1000);

break;

case'3':head = Deletesalary(head, m);

printf("\nAfter deleted\n");

Printsalary(head, m);

break;

case'4':do{

Searchsalary(head, m);

printf("\(≧▽≦)/ 是否要继续查询?Y or N:");

scanf(" %c",&b);

}while(b=='y'||b=='Y');

break;

case'5':Printsalary(head, m);

printf("\(≧▽≦)/ 是否要选择排列方式?Y or N:");

scanf(" %c",&b);

while(b=='y'||b=='Y')

{

相关文档
最新文档