#define SIZE 50

/* 定义结构体 */

struct date

{int month;

int day;

int year;

};

typedef struct employee

{char name[50] ,num[10],sex,edu[10],duty[15];

int age,income;

struct employee *next;

}empl[SIZE];

/* 逐项输出链表中的内容 */

void view (struct employee* head)

{

struct employee * p;

p = head;

while (p != NULL)

{

printf("%-10s%-15s%3c%-10s%-8s%6d%9d\n", p->name, p->num,p->sex, p->edu,p->duty, p->age,p->income);

p = p->next;

}

}

/* 定义保存函数 */

void save ()

{FILE *fp;

int i;

if ((fp=fopen("emp_list","wb"))==NULL)

{printf("cannot open file\n");

return;

}

for (i=0;iname, name))

p = p->next;

return p;

}

/* 通过工号查找职工 */

struct employee * Search2 (struct employee* head, char * num)

{

struct employee * p = head;

while (p && strcmp(p->num, num))

p = p->next;

return p;

}

/* 删除职工信息 */

void Delete (struct employee* head, char * i)

{

struct employee * p = head, *m, *q;

while (p && strcmp(p->num, i) != 0)

{

q = p;

p = p->next;

}

if ((q != NULL) && (q->next != NULL) && head != NULL)

{

m = q->next;

q->next = m->next;

free(m);

printf("删除成功\n");

} else printf("职工不存在!\n");

}

/* 添加一个职工的信息 */

void AddHead (struct employee* head, char name [50], char num [10], char sex,char edu[10],char duty[15], int age, int income) /*增加职工信息*/

{

struct employee * p, *q = head;

while (q->next != NULL)

q = q->next;

p = (struct employee* )malloc(sizeof(employee));

strcpy(p->name, name);

strcpy(p->num, num);

p->sex = sex;

strcpy(p->edu, edu);

strcpy(p->duty, duty);

p->age = age;

p->income = income;

p->next = NULL;

q->next = p;

}

void main (void)

{

int i, f, g;

struct employee * head, *s;

char a [50], b [50], t, e [15], h [15],x[8],d[20], k [15];

system("cls");

/* 为首地址分配空间 */

head=(struct employee* )malloc(sizeof(struct employee));

head->next=NULL;

/* 添加预置信息 */

AddHead(head, "张天", "0610312100", 'M', "高中", "保安" ,20,2600);

AddHead(head, "李行", "0610312101", 'M', "本科", "经理" ,36,5000);

AddHead(head, "周若", "0610312102", 'W', "本科", "会计" ,20,1600);

AddHead(head, "王昭", "0610312103", 'W', "硕士","工程师",27,6000);

AddHead(head, "刘系", "0610312104", 'M', "硕士","工程师",27,6000);

save();

for ( ; ; )

{

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

printf("姓名 工号 性别 学历 职务 年龄 工资\n");

view(head->next);

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

printf("1.添加职工信息\n");

printf("2.删除职工信息\n");

printf("3.根据姓名查找职工\n");

printf("4.根据工号查找职工\n\n");

printf("请作出你的选择:");

scanf("%d", &i);

switch (i)

{

case 1:

printf("请输入职工的信息:");

printf("\n姓名:");

scanf("%s", a);

printf("工号:");

scanf("%s", e);

printf("性别:");

getchar();

scanf("%c", &t);

printf("\n学历:");

scanf("%s", x);

printf("职务:");

scanf("%s", d);

printf("年龄:");

scanf("%d", &f);

printf("工资:");

scanf("%d", &g);

AddHead(head, a, e, t, x,d,f, g);

system("cls");

break;

case 2:

printf("\n工号:");

scanf("%s", h);

Delete(head, h);

system("cls");

break;

case 3:

printf("请输入职工的姓名:");

scanf("%s", b);

s = Search1(head, b);

system("cls");

printf("%-15s%-10s%3c%6d%-10s%-15s%9d\n", s->name, s->num,s->sex, s->edu,s->duty,s->age, s->income);

break;

case 4:

printf("请输入职工的工号:");

scanf("%s", k);

s = Search2(head, k);

system("cls");

printf("%-15s%-10s%3c%6d%-10s%-15s%9d\n", s->name, s->num,s->sex, s->edu,s->duty,s->age, s->income);

break;

}

}

}

要求:

职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:

职工信息录入(创建)功能(职工信息用文件保存)

职工信息浏览功能

查询或排序功能:(至少一种查询方式)

按工资查询

按学历查询等

职工信息添加、删除、修改功能

c语言小数加分,求救:c语言课程设计 员工工资管理程序 有加分的。谢谢相关推荐

  1. java 员工类算工资_JAVA课程设计——员工工资管理(类的继承)

    JAVA课程设计--员工工资管理 import java.util.Scanner; class Employee{ private String name; privateint birthmont ...

  2. c语言课设学生管理程序,c语言程序课程设计学生成绩管理程序.doc

    c语言程序课程设计学生成绩管理程序 武汉科技大学 二〇一〇~二〇一一学年第一学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班 级: 自动化2009级2班 学 号: 姓 名: 指 ...

  3. 代写python期末作业价格_代写program留学生作业、代做Python程序语言作业、代写Python课程设计作业...

    代写program留学生作业.代做Python程序语言作业.代写Python课程设计作业 日期:2019-11-29 12:55 Completing the Final Project - Pyth ...

  4. java 数据库工资管理系统设计_数据库课程设计—企业工资管理系统(java版完整代码)...

    数据库课程设计-企业工资管理系统(java版完整代码) 数 据 库 课 程 设 计 报 告2016年 5月 20日 目 录企业工资管理系统姓 名 王 素 文班 级 软 133学 号 139074224 ...

  5. 数据库课程设计-员工信息管理系统(基于python和MySQL实现)

    一.项目地址 具体项目相关信息可移步至我的Github查看,那里有整套项目文件以及课程设计报告等,仅供交流学习和参考,如有错误之处请多多指正哦. 二.系统定义 随着计算机技术的不断发展,计算机作为知识 ...

  6. c语言课程设计 职工工资处理系统,院职工工资管理系统_C语言课程设计-2017年10月.doc...

    信息科学与技术学院 课程设计报告 2012-2013学年第一学期 课程名称:C语言课程设计上机 设计题目:院职工工资管理系统 学 号:__________________ 姓 名:__________ ...

  7. C语言数码管节日灯,硬件课程设计报告可编程节日彩灯(C语言).pdf

    中国矿业大学计算机学院 2015级本科生课程报告 课程名称 硬件课程设计 C 设计题目 节日彩灯 (语言) 报告时间 2018-1-13 学生姓名 学 号 专 业 任课教师 目录 1 绪论 1 1.1 ...

  8. c语言关键字中英翻译机课程设计,课程设计--C语言关键字中英翻译机.doc

    课程设计--C语言关键字中英翻译机 课 程 设 计 报 告 学院.系:吉林大学珠海学院计算机科学与技术系专业名称:计算机科学与技术课程设计科目C语言程序课程设计所在班级:4班学生学号:学生姓名:曾伟雄 ...

  9. 闹钟定时设计c语言编程,单片机定时闹钟(课程设计).docx

    单片机定时闹钟(课程设计) PAGE \* MERGEFORMAT10 绪 论 摘要: 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM.只读 ...

最新文章

  1. 皮一皮:所以说,快乐水才会让人变胖...
  2. Linux修改UTF8字符编码
  3. Orchard:使用VS2010来生成一个地图Content Part
  4. Recommended Journals for MPhil degree at Business Model Innovation Group
  5. 让理科生沉默,让文科生落泪的文史综合题
  6. javascript权威指南读书笔记之二——词法结构
  7. docker 封装sql_docker封装mysql镜像
  8. mysql哪些字段适合索引_(转)Mysql哪些字段适合建立索引
  9. Express-hello
  10. /etc/profile与/etc/bashrc、交互式与非交互式、login与non-login shell的差别
  11. Parallels Desktop 安装Win 10提示“安全启动功能防止操作系统启动”该如何操作?
  12. HDU.2111 Saving HDU(贪心)
  13. 阿里云云计算工程师认证(ACP)分享
  14. Hdu--5064(DP)
  15. 如何用matlab产生两列不同频率的正弦波叠加起来?
  16. 数字孪生在制造业的7种应用
  17. c语言link.exe错误,C语言,执行 link.exe 时出错
  18. 使用metasploit破解ssh密码
  19. IPV6 IPV4 java 转换为数字
  20. U-BOOT分析(二)之顶层Makefile文件(1)

热门文章

  1. sessionStorage 、localStorage 和 cookie 之间的区别(转)
  2. 中国互联网大佬江湖拼什么?拼财力拼出身拼前景拼造势
  3. UIView编程体验(一)
  4. JavaScript设计模式(二)之单例模式
  5. linux --- 进阶指令
  6. [BZOJ3992]序列统计
  7. GSM BTS Hacking: 利用BladeRF和开源BTS 5搭建基站
  8. 【转】C++标准转换运算符static_cast
  9. 改变Fragment的默认动画
  10. 【MongoDB学习笔记21】MongoDB的复合索引