C语言课程设计(4)

2020-02-21 16:10

if (n->gonghao <= p2->gonghao) { if (head == p2) { printf(\当前工号已存在,请检查后重新输入\\n\head = n;

else if (n->gonghao == p2->gonghao)

goto begin2; } else

p1->next = n; n->next = p2;

} else { p2->next = n; n->next = NULL; }

printf(head); fanhuicaidan();

}

void

del(struct //(3)删除员工信息函数 {

struct yuangong *p1,*p2;

yuangong *del= (yuangong *)malloc(LEN); begin3: p2 = head;

printf(\请输入要删除员工的名字:\ scanf(\ while ((strcmp(del->name,

p2->name)

//找到要删除的名字位于那两个结点之间

{ p1 = p2; p2 = p2->next;

}

if ((strcmp(del->name, p2->name) == 0)) { if (p2

//等于头地址的话说明要删除的结点位于第一个

head = p2->next;

else

yuangong 0)

&&

==

*head)

NULL))

head)

!=

(p2->next

!=

}

}

p1->next = p2->next;

//删除结点p2

else { }

printf(head); fanhuicaidan();

printf(\未找到此员工,请核实后重新输入\\n\goto begin3;

//输出链表

void { } void {

int i;

real(struct yuangong *head, int realmoney[])

//(4)计算实发工资函数

printf(\┌────────────────┐\\n\printf(\│工号 姓名 实发工资 │\\n\printf(\├────────────────┤\\n\for (i = 0; i < 10; i++) { }

printf(\└────────────────┘\\n\fanhuicaidan();

printf(\│%-9d%-12s%-11d│\\n\head = head->next;

all(struct yuangong *head, int realmoney[])

//(5)求所有员工各项总和函数

int x, allgongzi = 0, allbutie = 0, alljiangjin = 0, allshuidian = 0, allfangzu = 0, allshifa for (i = 0; i < 10; i++) {

allgongzi = allgongzi + head->gongzi; allbutie = allbutie + head->butie;

alljiangjin = alljiangjin + head->jiangjin; allshuidian = allshuidian + head->shuidian; allfangzu = allfangzu + head->fangzu;

= 0, i;

}

}

allshifa = allshifa + realmoney[i]; head = head->next;

printf(\┌──────────────────────────────────printf(\│总基本工资 总补贴 总奖金 总水电费 总房租 总实发printf(\├───────────────────────────────────printf(\│%-18d%-12d%-13d%-12d%-12d%-17d│\\n\allgongzi, allbutie, alljiangjin, printf(\└───────────────────────────────────fanhuicaidan();

────────┐\\n\工资 │\\n\───────┤\\n\

allshuidian, allfangzu, allshifa); ───────┘\\n\

void {

rank(struct yuangong *head, int realmoney[])

//(6)排序函数

int num,j=1; char str[256];

struct yuangong *p1, *p2, *real; real = (struct yuangong *)malloc(LEN); int i = 0; p1 = head;

for (real = head; real!= NULL; real = real->next) //将主函数{ }

for (p1; p1->next != NULL; p1 = p1->next) //开始冒泡{

for (p2 = p1->next; p2 != NULL; p2 = p2->next) {

if (p1->realmoney > p2->realmoney) {

num = p1->gonghao; //交换结p1->gonghao = p2->gonghao; p2->gonghao = num;

real->realmoney = realmoney[i]; i = i + 1;

中计算的实发工资赋值到链表中

排序

点元素

}

}

}

strcpy(str, p1->name); strcpy(p1->name, p2->name); strcpy(p2->name, str); num = p1->gongzi; p1->gongzi = p2->gongzi; p2->gongzi = num; num = p1->butie; p1->butie = p2->butie; p2->butie = num; num = p1->jiangjin;

p1->jiangjin = p2->jiangjin; p2->jiangjin = num; num = p1->shuidian;

p1->shuidian = p2->shuidian; p2->shuidian = num; num = p1->fangzu; p1->fangzu = p2->fangzu; p2->fangzu = num; num = p1->realmoney;

p1->realmoney = p2->realmoney; p2->realmoney = num;

printf(\┌──────────────────────────────────printf(\│工号 姓名 基本工资 补贴 奖金 水电 房租 printf(\├───────────────────────────────────while (head!= NULL) {

printf(\│%-8d%-14s%-16d%-10d%-10d%-8d%-14d%-14d%-6d│\\n\head->gonghao,

────────────────┐\\n\实发工资 实发工资排名│\\n\

───────────────┤\\n\

head->name, head->gongzi, head->butie, head->jiangjin, head->shuidian, head->fangzu, head->realmoney,j); }

}

printf(\└───────────────────────────────────fanhuicaidan();

head = head->next; j = j + 1;

───────────────┘\\n\

void main() { 法

{

switch (a) {

case 0:exit(0); break;

case 1:search(lianbiao()); system(\case 2:add(lianbiao(), realmoney); system(\

int a, i, j, s = 0;

int realmoney[10]; //定义一个计算实发工struct yuangong *head; FILE *fp;

system(\更换背景为湖蓝色,fp = fopen(\课程设计员工信息.txt\

printf(\╭═════════■□■□═══╮\\n\菜单界面 printf(\│ 员工信息管理系统 │\\n\printf(\╰═══■□■□══════════╯\\n\printf(\┌─────────────—┐\\n\printf(\│ 1. 查询信息 2. 添加员工 │\\n\printf(\│ │\\n\printf(\│ 3. 删除信息 4. 实发工资 │\\n\printf(\│ │\\n\printf(\│ 5. 费用总和 6. 工资排名 │\\n\printf(\│ │\\n\printf(\│ 0. 退出程序 │\\n\printf(\└─────────────—┘\\n\

if (setjmp(fanhuizhi)) //longjum跳到此处 {

head = lianbiao(); for (j = 0; j < 10; j++) { }

printf(\

realmoney[j] = head->gongzi + head->butie + head->jiangjin - head->shuidian - head = head->next; goto begin;

资的数组

字体为黑色

head->fangzu; //计算实发工资

begin:

(0-6):\

//程序返回开始处

scanf(\序号选择 if (a >= 0 && a <= 6) //判断序号是否合

case 3:del(lianbiao()), system(\

case 4:real(lianbiao(), realmoney); system(\ case 5:all(lianbiao(), realmoney); system(\ case 6:rank(lianbiao(), realmoney); system(\ }

}

else { printf(\请输入正确的功能序号**\\n\

goto begin; //回输出序号处

}

}

system(\

}

序号错误程序跳


C语言课程设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:化学品安全技术说明书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: