c语言人事工资管理系统源程序
员工工资管理系统c语言编程
#definenull0 typedefstructInfo1
{
charnum[10];
charname[10];
chardepar[10];
charyfsalary[10];
charaband[10];
chartax[10];
charsfsalary[10];
structInfo1*next; }Info2;
typedefstructInfo1*Info;
Infohead;
voiddisplay();
voidfind();
voidmodify();
voidadd();
voiddel();
voidlist();
voidlistOne(Infos);
InfoisExists(char*num);
voidinit();
voidinit()
{
head=(Info)malloc(sizeof(Info2));
head->next=null;
}
voidmain()
{
init();
while(1)
{
charc;
display();
scanf("%c",&c);
switch(c)
{
case'1':find();break;
case'2':add();break;
case'3':modify();break;
case'4':del();break;
case'5':list();break;
case'6':printf("\t\t...退出系统!\n");return;
default:printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar();
}
}
}
voiddisplay()
c语言课程设计职工工资管理系统源代码
绝对可以完美运行,下面有运行图片
#include<stdio.h> //调用库函数
#include<string.h> //字符串处理
#include<conio.h> //控制台输入输出
#include<stdlib.h> //定义杂项函数及内存分配函数
#define N 2 //宏定义以3代替N
/******************************************************************************
函数声明
*******************************************************************************/ void enter();
int menu();
void input();
void output();
void search();
void search_employeeid();
void search_name();
void edit();
void array();
void array_basesalary();
void array_postwage();
void array_totalwage();
void statistics();
void save();
void load();
/******************************************************************************
员工工资管理系统源代码
#include
#include
typedef struct
{
int basic;//基本工资
int position;//岗位工资
int subsidy;//津贴
int wages;//奖金
int sum;//总工资
}money;
typedef struct
{
char num[20];//职工号
char name[20];//姓名
int age;//年龄
char sex[20];//性别
money salary;//工资
}employee;
int Print_jinru();//账号密码输入
void Fscan_information();//“职工信息.txt”文件写入void Print_staff();//全体员工
void Print_empl1(char x[51]);//按职工号查询
void Print_empl2(char s[51]);//按姓名查询
void Print_MainInterface();//主界面
void Print_Interface_1();//职工信息录入界面
void Print_Interface_2();//职工信息查询界面
void Print_Interface_3();//职工工资排序界面
void Print_Interface_4();//职工总工资
void Print_Interface_5();//文件读出
void qsort(int l,int r);//快速排序
void Print_delete(int t);//删除职工信息
c语言课程实践《职工工资管理系统》源代码
#include "stdio.h"#include "string.h"#include "stdlib.h"#include "ctype.h"#include #define OUTPUT temp->num,temp->name,temp->gender,temp->age,temp->department,temp->telephone,temp->wage//宏定义,以便后面链表使用#define FORMAT "%-10lu%-13s%-9c%-6u%-18s%-13lu%lu\n"//宏定义数据输出的格式#define INFO "number\t name\t gender\tage department\ttelephone wage\n"//后面因为要多次使用,所以先前宏定义char ch;unsigned int mn,fn,find;//声明外部变量,男职工的个数,女职工的个数,控制标记unsigned long msum,fsum;//声明外部变量struct workers//定义一个结构体{char name[15],department[18],gender; // 姓名,部门,性别unsigned int age; // 年龄unsigned long telephone,wage,num; // 电话,工资,编号struct workers *next; // 指向下一条记录的指针(链表使用)};struct workers *head,*bottom,*temp,*p;//定义指向结构体的指针变量void add();int insert();int main();void showreport();int create()//录入职工信息的函数{int i;head=NULL;mn=fn=msum=fsum=0;for (i=0;;i++){printf("\n Information of worker NO.%d(Press '*' when input worker's name if finish)",i+1);//当想终止信息的录入的时候,在职工姓名一栏中输入*insert();//调用创建链表,录入信息的函数}getchar();//输入任意字符return main();//返回主调函数}void analysis()//对录入的职工信息进行数据分析{system("cls");//清屏printf("\n**********************************Wage report*********************************\n");printf(INFO);//打印出宏定义的内容temp=head;while(temp!=NULL){printf(FORMAT,OUTPUT);temp=temp->next;}if(head==NULL)//如果头指针是空,说明没有任何信息被录入,因此跳出提示:没有任何信息,请先录入信息printf("\n\t\t\t\No worker in list,please entry first!");showreport();//如果头指针不是空,则调用“shoureport函数”,从而从屏幕上输出分析报告getchar();}void showreport()//输出分析报告的函数{FILE *report;//定义文件指针report=fopen("report.dat","w");//打开一个可以写入的文件“report.dat”,并将report指向该文件fprintf(report,"\n\n\tGender\t\t\tFemale\t\tMale\t\tTotal");//在文件上打印出被统计的项目fprintf(report,"\n\tNumber\t\t\t%d\t\t%d\t\t%d",fn,mn,fn+mn);//在文件上打印出被统计的项目fprintf(report,"\n\tTotal wage\t\t%lu\t\t%lu\t\t%lu",fsum,msum,fsum+msum);//在文件上打印出被统计的项目if(mn==0&&fn==0)fprintf(report,"\n\tAverage wage\t\t0.00\t\t0.00\t\t0.00");//如果男和女的人数都是0,则输出平均工资都是0else if(fn==0)fprintf(report,"\n\tAverage wage\t\t0.00\t\t%.2f\t\t%.2f",(float)(msum/mn),(float)(msum/mn));//如果女性人数是0,则只输出男性的平均工资else if(mn==0)fprintf(report
员工工资管理系统c语言编程
#definenull0 typedefstructInfo1
{
charnum[10];
charname[10];
chardepar[10];
charyfsalary[10];
charaband[10];
chartax[10];
charsfsalary[10];
structInfo1*next; }Info2;
typedefstructInfo1*Info;
Infohead;
voiddisplay();
voidfind();
voidmodify();
voidadd();
voiddel();
voidlist();
voidlistOne(Infos);
InfoisExists(char*num);
voidinit();
voidinit()
{
head=(Info)malloc(sizeof(Info2));
head->next=null;
}
voidmain()
{
init();
while(1)
{
charc;
display();
scanf("%c",&c);
switch(c)
{
case'1':find();break;
case'2':add();break;
case'3':modify();break;
case'4':del();break;
case'5':list();break;
case'6':printf("\t\t...退出系统!\n");return;
default:printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar();
}
}
}
voiddisplay()
c语言职工工资管理系统代码
C语言职工工资管理系统代码
简介
职工工资管理是一项重要的任务,它涉及到工资计算、薪资发放、绩效评估等方面。为了提高管理的有效性和准确性,许多公司和组织都开发了各种各样的工资管理系统。本文将介绍一种基于C语言开发的职工工资管理系统代码。
代码功能及特点
1. 基本功能
•添加新员工信息
•更新员工信息
•计算员工工资
•发放工资
•查询员工信息
•统计工资情况
2. 特点
•简单易懂:代码使用C语言编写,阅读和理解都相对简单。
•高效可靠:代码采用模块化设计,结构清晰,运行效率高,容错性强。
•跨平台支持:C语言是一种具有广泛应用的语言,可以在多个操作系统上运行。
代码实现
1. 员工信息结构体定义
struct Employee {
int id; // 员工编号
char name[20]; // 员工姓名
float basicSalary; // 员工基本工资
float performanceBonus; // 绩效奖金
float salary; // 员工工资
};
2. 添加新员工信息函数
void addEmployee(struct Employee *employee, int num) {
printf("请输入员工编号:");
scanf("%d", &(employee[num].id));
// 输入其他员工信息...
}
3. 更新员工信息函数
void updateEmployee(struct Employee *employee, int id) {
int i;
for (i = 0; i < num; i++) {
c语言课程设计职工工资管理系统
一、概述
随着社会的发展和进步,工资管理系统在企业管理中扮演着重要的角色。为了提高工资管理的效率和准确性,许多企业都倾向于引入计算机系统来进行工资管理。C语言是一种广泛应用于系统程序设计和应用程序开发的高级语言,具有跨评台性和高效性的特点。设计一个基于C语言的职工工资管理系统将会成为一个有价值的课程设计。
二、系统功能需求
1. 职工信息管理:系统需要能够记录、查看和修改职工的基本信息,包括尊称、工号、部门、入职日期等。
2. 薪资核算:系统应能根据职工的实际出勤、加班情况、请假情况等自动生成薪资,并能够灵活处理各类津贴和抠款。
3. 考勤管理:系统需要提供考勤记录的输入和查询功能,以便及时了解职工的工作情况。
4. 报表输出:系统需要能够生成各类工资报表,方便管理人员进行核对和统计。
5. 数据备份和恢复:系统应具备数据备份和恢复功能,以保证数据的
安全性和完整性。
三、系统设计与技术选择
在设计该系统时,应采用模块化、分层的设计思路,以便系统具有良好的可维护性和扩展性。
1. 界面设计:可以采用文本界面或图形界面进行设计,具体选择取决于系统的实际应用环境和用户需求。
2. 数据存储:可以选择采用文件系统或数据库来存储系统数据,常见的选择包括文本文件、CSV文件、SQLite数据库等。
3. 算法选择:需要根据系统的具体需求选择合适的算法来实现薪资核算和报表生成等功能。
4. 开发工具:可以选择C语言的集成开发环境(IDE)来进行开发,例如Visual Studio、Dev-C++等。
四、系统实现
在进行系统开发时,需要按照设计要求逐步实现各个功能模块,同时进行严格的测试和调试工作,以确保系统的稳定性和准确性。
C员工工资管理方案计划系统源代码
#include <iomanip>
#include <iostream>
#include <fstream>
#include <malloc.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
#define NULL 0
#define LEN sizeof(struct student)
int const N=20;
void Menu();
void Pass();
int n=0; //定义一个全局变量统计职工人数
//——--------->定义一个职工信息的结构体
struct student
{
char name[N]; //用来存放姓名
char sex[N]; //用来存放性别
long id; //用来存放编号
float paid[3]; //用来存放工资
int total; //用来存放总工资
struct student *next;
};
//-------------->职工类
class Information
{
public:
Information() ; //构造函数.
~Information() ; //析构函数.
student *creat(); //建立链表
void output(student *head); //显示职工信息
int count(student *head); //定义函数count()统计职工总数
student *insert(student*head); //指针函数*insert()用来添加职工信息.
工资管理系统源程序
#include "stdio.h" /*I/O函数*/
# include "bios.h" /*ROM基本输入输出函数*/ #include "dos.h" /*dos接口函数*/
#include "conio.h" /*屏幕操作函数*/
#include "stdlib.h" /*其它说明*/
#include "string.h" /*字符串函数*/
#include "mem.h" /*内存操作函数*/
#include "ctype.h" /*字符操作函数*/
#include "alloc.h" /*动态地址分配函数*/
/****变量定义*******/
typedef struct infor /*定义数据结构*/
{
char code[11]; /*编号*/
char name[15]; /*姓名*/
float basic; /*基本工资*/
float koukuan; /*扣款*/
float spay; /*应发工资*/
float tax; /*税金*/
float totalpay; /*实发工资*/
struct infor *prior; /*前驱指针*/
struct infor *next; /*后继指针*/
}infor; /*结构体类型名*/
struct infor *First; /*双链表头指针*/ struct infor *Last; /*双链表尾指针*/
/*函数声明*/
void create(); /*创建链表*/
void calc(); /*计算应发工资*/
void delete(); /*删除*/
工资管理系统源代码
#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);
员工工资管理系统(c语言编程)
#i n c l u d e<s t d i o.h>
#include<string.h>
#include<ctype.h>
#include<malloc.h>
#define null 0
typedef struct Info1
{
char num[10];
char name[10];
char depar[10];
char yfsalary[10];
}Info2;
{
}
{
while(1)
{
char c;
display();
scanf("%c",&c);
switch(c)
{
case '1':find();break;
case '2':add();break;
case '3':modify();break;
case '4':del();break;
case '5':list();break;
case '6':printf("\t\t...退出系统!\n");return;
default: printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar();
}
}
}
void display()
{
printf("\n\t** 欢迎使用员工信息管理系统**\n\n");
printf("\t请选(1-7):\n");
printf("\t============================================\n");
}
{
","税金","实付工资
}
{
while(q!=null)
{
if(strcmp(q->num,num)==0)
员工工资管理系统(c语言编程)
#include
#include
#include
#include
#define null 0
typedef struct Info1
{
char num[10];
char name[10];
char depar[10];
char yfsalary[10];
char aband[10];
char tax[10];
char sfsalary[10];
struct Info1 *next;
}Info2;
typedef struct Info1 *Info;
Info head;
void display();
void find();
void modify();
void add();
void del();
void list();
void listOne(Info s);
Info isExists(char *num);
void init();
void init()
{
head=(Info)malloc(sizeof(Info2));
head->next=null;
}
void main()
{
init();
while(1)
{
char c;
display();
scanf("%c",&c);
switch(c)
{
case '1':find();break;
case '2':add();break;
case '3':modify();break;
case '4':del();break;
case '5':list();break;
case '6':printf("\t\t...退出系统!\n");return;
人事管理系统源代码
人事管理系统源代码
第一篇:人事管理系统源代码
#include #include #include #define N 100 struct member_info {
char xm[7];char xb[3];char sr[15];char whcd[13];char zc[17];char sfzh[19];char lxdh[12];int gl;int nl;};struct member_info member[N+1];int CurrentCount=0;void input(){ char sfjx=1;
while(sfjx!=0)
{
if(CurrentCount==N)
{
printf(“n人数已达上限,不能添加!!n”);
sfjx=0;
}
else
{
CurrentCount++;
printf(“n请输入员工信息(姓名性别生日年龄文化程度联系电话身份证号码工龄职称):n”);
scanf(“%s%s%s%d%s%s%s%d%s”,member[CurrentCount] .xm,member[CurrentCount].xb,member[CurrentCount].sr,&mem ber[CurrentCount].nl,member[CurrentCount].whcd,member[Curr entCount].lxdh,member[CurrentCount].sfzh,&member[CurrentC ount].gl,member[CurrentCount].zc);
c语言职工工资管理系统代码
c语言职工工资管理系统代码
随着社会的发展和经济的进步,职工工资管理成为了企业管理中的
重要一环。为了提高工资管理的效率和准确性,许多企业开始采用计
算机软件来进行工资管理。本文将介绍一个基于C语言的职工工资管
理系统代码。
首先,我们需要定义一些基本的数据结构和变量。在这个系统中,
我们需要记录每个职工的姓名、工号、基本工资、津贴、扣款等信息。我们可以使用结构体来定义这些信息,例如:
```c
struct Employee {
char name[20];
int id;
float basicSalary;
float allowance;
float deduction;
};
```
接下来,我们可以定义一些函数来实现不同的功能。例如,我们可
以编写一个函数来添加新的职工信息:
```c
void addEmployee(struct Employee *employees, int *count) { printf("请输入职工姓名:");
scanf("%s", employees[*count].name);
printf("请输入职工工号:");
scanf("%d", &employees[*count].id);
printf("请输入职工基本工资:");
scanf("%f", &employees[*count].basicSalary);
printf("请输入职工津贴:");
scanf("%f", &employees[*count].allowance);
printf("请输入职工扣款:");
scanf("%f", &employees[*count].deduction);
c语言课程设计之人事管理系统
C语言课程设计之人事管理系统
简介
人事管理系统是一种用于管理组织内人员信息和管理人力资源的系统。在本文档中,我们将介绍一个使用C语言编写的简单人事管理系统。该系统可以实现员工信息的添加、删除、修改和查询,以及一些基本的人事管理功能。
功能模块
1. 员工信息管理模块
•添加员工信息:包括姓名、工号、职位、部门等基本信息。
•删除员工信息:根据工号删除指定员工的信息。
•修改员工信息:根据工号修改指定员工的信息。
•查询员工信息:可以根据姓名、工号等条件查询员工的信息。
2. 薪资管理模块
•发放工资:根据员工的工作时长、加班情况等计算工资并发放。
•调整薪资:可以根据员工表现调整薪资水平。
3. 考勤管理模块
•打卡记录:记录员工的上下班打卡情况。
•考勤统计:统计员工的出勤情况,包括迟到、早退、旷工等信息。
系统设计
1. 数据结构
•员工信息结构体:包括姓名、工号、职位、部门等信息。
•薪资结构体:包括基本工资、加班工资等信息。
•考勤记录结构体:包括打卡时间、出勤情况等信息。
2. 功能实现
•员工信息管理:使用链表或数组存储员工信息,实现增删改查操作。
•薪资管理:根据员工的工作情况计算薪资并更新薪资信息。
•考勤管理:记录员工的打卡信息并统计考勤情况。
系统实现
1. 界面设计
•采用控制台界面,通过菜单选择实现各项功能。
•显示员工信息列表、薪资管理界面和考勤记录界面。
2. 代码实现
•使用C语言实现各个功能模块,包括管理员工信息、计算薪资、记录考勤等。
•采用函数封装、模块化设计,提高代码的可读性和可维护性。
测试与验证
1. 单元测试
C工资管理系统源代码精编
C工资管理系统源代码
精编
Document number:WTT-LKK-GBB-08921-EIGG-22986
#include <>
#include <>
#include <>
#include <>
#include <>
#define TITLE "\n 月份工号姓名
应发工资各种折扣实发工资\n"
#define DATA " %2d %4ld %-
10s % % %\n",p1->month,p1->num,p1->name,p1->should_pay,p1->rebate,p1->actual_pay
typedef struct pay
{
long num;
short month;
char name[20];
float gw,jn,zw,zl,jt,yj;
float should_pay;
float fz,gj,sd,others;
float rebate;
float actual_pay;
struct pay *next;
}PAY;
FILE *fp;
PAY *p1=NULL,*p2=NULL,*head=NULL;
void menu();
PAY *input();
void output();
void save(PAY *head);
PAY *open();
PAY *insert();
void search();
PAY *del();
PAY *revise();
/*主程序模块*/
void main(void)
{
short sel;
do
{
menu();
scanf("%d",&sel);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fscanf(fp,"%d",&CurrentCount);
for(int i=1;i<=CurrentCount;i++) {
fscanf(fp,"%s%s%s%s%d%d%f%f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,&wor[i].nl,&wor[i].
}
}
void list()
{
int i,j;
for(i=1;i<CurrentCount;i++)
for(j=CurrentCount;j>1;j--)
if(strcmp(wor[j].gh,wor[j-1].gh)<0)
{
wor[0]=wor[j];
wor[j]=wor[j-1];
wor[j-1]=wor[0];
gl,&wor[i].tc,&wor[i].gz);
printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d
提成: %6.4f
工资:%8.2f",
wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz=gzjs(i)); printf("\n");
}
printf("\n........员工基本信息表\n");
printf("
工号
工资 \n");
for(i=1;i<=CurrentCount;i++)
{
姓名 性别 职位 年龄 工龄 提成
printf("%9s%8s%4s%21s%6d%6d%6.2f %9.2f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wo r[i].nl,wor[i].gl,wor[i].tc,wor[i].gz);
printf("\n 请输入一个人员的相关信息(工号,姓名,性别,职位(jingli, zhuguan,yuangong),年龄,工龄,提成)\n");
scanf("%s%s%s%s%d%d%f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,&wor[i].nl,&wor[i].gl, &wor[i].tc);
char dcgh[8]; int sfjx=1,i; while(sfjx!=0) {
printf("\n 请输入一个待修改员工的工号:"); scanf("%s",dcgh);
strcpy(wor[0].gh,dcgh);
i=CurrentCount; while(strcmp(wor[i].gh,dcgh)!=0)
wor[j-1]=wor[j]; CurrentCount--; printf("\n 已成功删除........\n"); system("pause"); } printf("\n 是否继续(0-结束,其他-继续):"); scanf("%d",&sfjx); } sfbc(); }
void modify() {
wor[CurrentCount].gz=gzjs(CurrentCount); printf("\n 是否继续(0-结束,其他-继续):"); scanf("%d",&sfjx); } } }
void save() {
FILE *fp; fp=fopen("xjjbxx.txt","w"); if(fp==NULL)
wor[i].gz=gzjs(i); printf("\n 已成功修改.............\n"); } printf("\n 是否继续(0-结束,其他-继续):"); scanf("%d",&sfjx); } sfbc(); }
void search() {
char dcgh[8]; int sfjx=1,i; while(sfjx!=0) {
void del() {
char dcgh[8]; int sfjx=1,i,j; while(sfjx!=0) {
printf("\n 请输入一个待删员工的工号:"); scanf("%s",dcgh); strcpy(wor[0].gh,dcgh); i=CurrentCount; while(strcmp(wor[i].gh,dcgh)!=0)
\n");
scanf("%d",&dl);
if(dl==2)
ygdl(); else
if(dl==1) {
if(check()!=0) {
printf("\n 您无权实用本系统..........\n\n"); system("pause"); } else { while(xz!=0) {
printf("\n 请输入相应的功能:\n"); printf(" 1-录入\n 2-排列\n 3-保存\n 4-读取\n 5-查询\n 6-修改\n 7-删除 \n 0-结束\n 请选择:"); scanf("%d",&xz); switch(xz) {
case 1: input();break;
case 2: list();break;
case 3: save();break;
case 4: read();break;
case 5: search();break;
case 6: modify();break;
case 7: del();break;
printf("\n 请输入一个员工的工号:"); scanf("%s",dcgh);
strcpy(wor[0].gh,dcgh); i=CurrentCount; while(strcmp(wor[i].gh,dcgh)!=0)
i--; if(i==0)
printf("查无此人!!\n"); else {
struct wor_info wor[N+1]; int CurrentCount=0;
void main()
பைடு நூலகம்
{
int dl,xz=1;
printf("\n
欢迎实用员工基本信息管理系统\n\n\n");
printf("\n 请输入您的登陆类型(1--管理登陆,2--员工登陆查看(信息录入后方可查看))
i--; if(i==0)
printf("查无此人!!\n"); else {
printf("\n 此人的详细信息如下:\n"); printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d 提成: %f 工资:%f\n", wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz); printf("\n 请输入新内容.........\n");
} fclose(fp); printf("信息已成功读取!!!\n"); } } void ready() { FILE *fp; fp=fopen("xjjbxx.txt","r"); if(fp==NULL) printf("\n 文件打开不成功,信息无法读取!!!\n"); else { fscanf(fp,"%d",&CurrentCount);
printf("\n"); } } void sfbc() { int sfbc=0; printf("\n 信息以改变,是否保存(1-保存,其他-不保存)\n"); scanf("%d",&sfbc); if(sfbc==1) { list(); save(); printf("\n 信息已成功保存!\n"); } else printf("\n 信息未保存\n"); }
printf("\n"); }
fclose(fp);
%6.2f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].
printf("\n 信息已成功保存!!!\n"); } }
void read() {
FILE *fp; fp=fopen("xjjbxx.txt","r"); if(fp==NULL)
struct wor_info {
char gh[8]; //工号 char xm[7]; //姓名 char xb[3]; //性别 char zw[21]; //职位(jingli,zhuguan,yuangong) int nl; //年龄 int gl; //工龄 float tc; //提成 double gz; //工资 };
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 300
void input(); //输入模块 void save(); //保存模块 void read(); //读盘模块 void ready(); void list(); // 列表模块 void sfbc(); //是否保存 void del(); // 删除模块 void modify(); // 修改模块 void search(); // 查询模块 double gzjs(int a); //工资计算模块 int check(); // void ygdl(); //员工登陆
printf("\n 文件打开不成功,信息无法保存!!!\n"); else {
fprintf(fp,"%d",CurrentCount); for(int i=1;i<=CurrentCount;i++) {
fprintf(fp,"\n%9s%8s%4s%21s%6d%6d%8.2f zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz);
i--; if(i==0)
printf("查无此人!!\n"); else {
printf("\n 此人的详细信息如下:\n"); printf("工号:%s 姓名:%s 性别:%s 职位:%s 年龄:%d 工龄:%d 提成: %f 工资:%f\n", wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz); printf("\n 按任意键开始删除...........\n"); system("pause"); for(j=i+1;j<=CurrentCount;j++)
case 0: printf("\n\n 谢谢使用本系统!\n\n");system("pause");
default: printf("\n 无此功能,请重新选择.......\n"); system("pause");
} } } } }
void input() {
char sfjx=1; while(sfjx!=0) { if(CurrentCount==N) { printf("\n 人数已达上限,不能添加!!!\n"); sfjx=0; } else { CurrentCount++; printf("\n 请输入一个人员的相关信息(工号,姓名,性别,职位(jingli,zhuguan,
for(int i=1;i<=CurrentCount;i++) {
fscanf(fp,"%s%s%s%s%d%d%f%f",wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,&wor[i].nl,&wor[i]. gl,&wor[i].tc,&wor[i].gz);
} fclose(fp);
yuangong),年龄,工龄,提成(小数))\n");
scanf("%s%s%s%s%d%d%f",wor[CurrentCount].gh,wor[CurrentCount].xm,wor[CurrentCount].x b,wor[CurrentCount].zw,&wor[CurrentCount].nl,&wor[CurrentCount].gl,&wor[CurrentCount].tc) ;
printf("\n 此人的详细信息如下:\n"); printf("工号:%s 姓名:%s 性别:%s
职位:%s
年龄:%d
工龄:%d
提成: %f 工资:%f\n", wor[i].gh,wor[i].xm,wor[i].xb,wor[i].zw,wor[i].nl,wor[i].gl,wor[i].tc,wor[i].gz);