当前位置:文档之家› 完整c语言工资管理系统

完整c语言工资管理系统

完整c语言工资管理系统
完整c语言工资管理系统

#include

#include

#include

#include

#include

#define LEN sizeof(wor)

struct worker

{

long kahao;/*员工工资卡号*/

char name[10];/*员工姓名*/

int month;//月份

float yfgz;/*应发工资*/

float sf;/*水费*/

float df;/*电费*/

float sj;/*税金*/

float sfgz;/*实发工资*/

struct worker *next;

};

typedef struct worker wor;

int num;

void userId();//用户登录函数

char menu(void);//主菜单

wor *read(wor *head);//加载函数

int save(wor *head);//保存函数

void inputMenu(wor *head);//输入菜单

void input(wor **head);//输入员工信息

void searchMenu(wor *head);//查询菜单

int numSearch(wor *pNew);//卡号查询方式函数

int nameSearch(wor *pNew);//姓名查询方式函数

void search(wor *head);//查询功能

void deleteSal(wor *head);//删除员工信息

wor *deleteNode(wor *head, long nodeNum);//找到删除节点

void printSal(wor *head);//打印员工信息

void totalSalMenu(wor *head);//统计工资菜单

void totalSal(wor *head);/*统计员工某时间段的实发工资总和*/

void DeleteMemory(wor *head);//删除内存

void order(wor *head);//排序浏览函数

char menu1(void);//排序浏览菜单

void modify(wor *head);//修改函数,修改完后保存信息

void modifyNode(wor *head);//查找节点并修改信息

/*==================================================================== ==========================*/

int main()/*主函数main,功能:通过调用各函数,实现员工工资信息管理系统的功能*/ {

char ch;

wor *head=NULL;

system("color f2");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("#〓§〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓〓§〓#\n");

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

printf("☆★☆☆★☆☆★☆☆★☆☆★☆☆★☆\n");

printf("☆欢☆☆迎☆☆进☆☆入☆☆系☆☆统☆\n");

printf("☆★☆☆★☆☆★☆☆★☆☆★☆☆★☆\n");

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

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

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

getchar();

userId();

system("cls");

while(1)

{

ch=menu();

switch(ch)/*用switch语句实现功能选择*/

{

case '1':

head=read(head);

inputMenu(head);

break;/*调用创建链表函数,添加员工工资信息,并保存到文件夹中*/ case '2':

head=read(head);

searchMenu(head);

break;/*调用信息查询函数,查询员工工资信息*/

case '3':

head=read(head);

deleteSal(head);

break;/*调用删除信息函数,删除员工工资信息*/

case '4':

head=read(head);

printSal(head);

break;/*调用显示信息资料函数*/

case '5':

head=read(head);

totalSalMenu(head);

break;/*统计某时间段员工工资信息*/

case '6':

head=read(head);

order(head);

break;/*按照卡号对员工进行排序浏览*/

case '7':

head=read(head);

modify(head);

break;//修改员工工资信息

case '0':

system("cls");

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

printf("\t\t#〓§〓〓〓〓〓§〓〓〓〓〓〓§〓〓〓〓〓〓§〓#\n");

printf("\t\t↓↓↓↓\n");

printf("\t\t☆★☆☆★☆☆★☆☆★☆\n");

printf("\t\t☆感☆☆谢☆☆使☆☆用☆\n");

printf("\t\t☆★☆☆★☆☆★☆☆★☆\n");

printf("\t\t↓↓↓↓\n");

printf("\t\t※※※※\n");

printf("\t\t※※※※\n");

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

printf("\t\t\t\t\t\t\t\t12 软件1班\n");

printf("\t\t\t\t\t\t\t\t 蔡文豪\n");

printf("\t\t\t\t\t\t\t\t201241404120\n\n\n");

getchar();

exit(0);/*退出系统,返回主界面*/

DeleteMemory(head); /*释放所有已分配的内存*/

printf("End of program!");

break;

default:

printf("输入错误,请重试!\n");

}

save(head);

}

}

/*==================================================================== ==========================*/

char menu(void)/*函数menu,功能:主菜单选择界面*/

{

char ch;

printf(" ★☆★工资信息管理系统☆★☆\n");

printf("\n");

printf("★----------------1 * 输入员工工资信息*-----------------------★\n\n");

printf("\t☆----------------2 * 查询员工工资信息*-----------------------☆\n\n");

printf("★----------------3 * 删除员工工资信息*-----------------------★\n\n");

printf("\t☆----------------4 * 浏览员工工资信息*-----------------------☆\n\n");

printf("★----------------5 * 统计实发工资总额*-----------------------★\n\n ");

printf("\t☆----------------6 * 工资信息排序处理*-----------------------☆\n");

printf("★----------------7 * 修改员工工资信息*-----------------------★\n\n ");

printf("\t☆----------------0 * 退出工资管理系统*-----------------------☆\n");

/*菜单选择界面*/

printf("\n");

printf("请输入您的选择:");

scanf(" %c",&ch);/*选择操作*/

return ch;

}

/*==================================================================== ==========================*/

void userId()

{

int count=0;

char q[5]="1234";

char b[5];

char c;

int i=0;

part1:

printf("请输入您的密码:");

while((c=getch())!=13)

{

putchar('*');

b[i]=c;

i++;

}

b[i]='\0';

if(strcmp(q,b)!=0)

{

printf("密码错误,请重新输入!!!!!\n");

getchar();

count++;

if(count>=3)

{

printf("您已经三次输入用户名或密码错误,系统自动退出!\n");

exit(0); /*退出系统*/

}

goto part1;

}

printf("\n");

}

/*==================================================================== ==========================*/

wor *read(wor *head)

{

FILE *fp;

wor *s;

wor *p;

int n;

fp=fopen("D:\\1.txt","rb");//以制度方式打开一个二进制文件

if(NULL==fp)//如果打开失败就返回-1;

{

printf("打开文件失败!\n");

head=NULL;

return NULL;

}

head=(wor *)malloc(sizeof(wor));

p=head;

while(!feof(fp))

{//为下个节点分配内存空间

s=(wor *)malloc(sizeof(wor));

n=fread(s,sizeof(wor),1,fp);//从文件读取数据到节点

if(n<1)

{

free(s);

p->next=NULL;//最后一个节点为NULL

break;

}

num++;

p->next=s;//保存下个节点

p=p->next;//切换至下个节点

p->next=NULL;//最后一个节点为NULL

}

fclose(fp);

return head;

}

/*==================================================================== ==========================*/

int save(wor *head)

{

FILE *fp;

wor *p;

fp=fopen("D:\\1.txt","wb");

if(NULL==fp)

{

printf("打开文件失败!\n");

return -1;

}

p=head->next;

do{

fwrite(p,LEN,1,fp);//把数据保存到fp指向的文件中

p=p->next;

}while(p!=NULL);

fflush(fp);

fclose(fp);

return 0;

}

/*==================================================================== ==========================*/

void inputMenu(wor *head)

{

char ch;

int i=0;

do

{

input(&head);

printf("是否继续添加(Y/N)?\n");

printf("请输入您的选择:");

scanf(" %c",&ch);

i++;

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

printf("您添加了%d个员工信息!\n",i);

}

/*==================================================================== ==========================*/

void input(wor **head)

{

wor *s;

wor *p;

if(*head==NULL)//如果表头为空,先为它分配内存

{

*head=(wor *)malloc(LEN);

p=*head;

}

else//否则说明有内容,直接切换到尾节点

{

p=*head;

while(p->next)

p=p->next;

}

s=(wor *)malloc(LEN);//为这个节点分配内存

printf("请输入员工工资卡号(6位):\n");

scanf("%ld",&s->kahao);

while(s->kahao<100000||s->kahao>=1000000)

{

printf("输入错误,请重新输入6位员工编号:");

scanf("%d",&s->kahao);

}

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

scanf("%s",s->name);

printf("请输入您要建立的月份:");

scanf("%d",&s->month);

printf("请输入此人该月应发工资:");

scanf("%f",&s->yfgz);

printf("请输入此人该月水费:");

scanf("%f",&s->sf);

printf("请输入电费:");

scanf("%f",&s->df);

if(s->yfgz<=800)

s->sj=0;

else if(s->yfgz>800&&s->yfgz<1400)

s->sj=(s->yfgz-800)*0.05;

else

s->sj=(s->yfgz-1400)*0.10;

s->sfgz=s->yfgz-s->sf-s->df-s->sj;

p->next=s;//保存这个节点

p=p->next;//切换至下一个节点

p->next=NULL;

printf("已成功添加信息!\n");

}

/*==================================================================== ==========================*/

void searchMenu(wor *head)

{

char ch;

do

{

search(head);

printf("是否继续查询(Y/N)?\n");

printf("请输入您的选择:");

scanf(" %c",&ch);

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

}

/*==================================================================== ==========================*/

void search(wor *head)

{

int a;

wor *p=head;

printf("\t\t\t*********查询菜单**************\n");

printf("\t\t\t* 1 按职工的编号查询*\n");

printf("\t\t\t* 2 按职工的姓名查询*\n");

printf("\t\t\t* 0 退出*\n");

printf("\t\t\t*******************************\n");

printf("请按数字键选择:");

while(1)

{

scanf("%d",&a);

if(a>=0&&a<3);

break;

printf("输入错误,请重新输入:");

}

switch(a)

{

case 1:

numSearch(p);

break;

case 2:

nameSearch(p);

break;

case 0:

return ;

break;

}

}

/*==================================================================== ==========================*/

int numSearch(wor *pNew)

{

long n;

wor *t;

int found=0;

printf("请输入您要查询的员工卡号:");

scanf("%ld",&n);

if(pNew==NULL)

{

printf("没有记录员工工资信息!\n");

return -1;

}

printf("查询结果:\n");

while(pNew)

{

t=pNew;

if(pNew->kahao==n)//查找与n相同学号的学生信息并打印到屏幕

{

found=1;

printf("卡号姓名月份应发工资水费电费税金实发工资\n");

printf("%-ld %-s %-d %-.2f\t%-.2f %-.2f %-.2f %-.2f\n",

pNew->kahao,pNew->name,pNew->month,pNew->yfgz,pNew->sf,pNew->df,pNew->sj,pNe w->sfgz);

}

pNew=pNew->next;

}

if(found!=1)

{

printf("没有找到符合要求的员工信息!\n");

return -1;

}

getch();

system("cls");

return 0;

}

/*====================================================================

==========================*/

int nameSearch(wor *pNew)

{

char name[10];

int found;

wor *t;

printf("请输入您要查询的员工姓名:");

scanf("%s",name);

if(pNew==NULL)

{

printf("没有记录员工工资信息!\n");

return -1;

}

printf("查询结果:\n");

while(pNew)

{

t=pNew;

if(strcmp(pNew->name,name)==0)//查找与n相同学号的学生信息并打印到屏幕

{

found=1;

printf("卡号姓名月份应发工资水费电费税金实发工资\n");

printf("%-ld %-s %-d %-.2f\t%-.2f %-.2f %-.2f %-.2f\n",

pNew->kahao,pNew->name,pNew->month,pNew->yfgz,pNew->sf,pNew->df,pNew->sj,pNe w->sfgz);

}

pNew=pNew->next;

}

if(found!=1)

{

printf("没有找到符合要求的员工信息!\n");

return -1;

}

getch();

system("cls");

return 0;

}

/*==================================================================== ==========================*/

void deleteSal(wor *head)/*删除员工信息*/

{

int i = 0;

long nodeNum;

char c;

do{

printf("请输入您要删除的员工卡号:");

scanf(" %ld", &nodeNum);

head=deleteNode(head, nodeNum); /*删除卡号为nodeNum的员工信息*/

printSal(head); /*显示当前链表中的各节点信息*/

printf("是否继续删除员工信息(Y/N)?");

scanf(" %c",&c); /*%c前面有一个空格*/

i++;

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

printf("%ld new nodes have been deleted!\n", i);

save(head);

printf("\n");

}

/*==================================================================== ==========================*/

wor *deleteNode(wor *head, long nodeNum)

{

wor *p = head;

wor *pr = head;

if (head == NULL) /*链表为空,没有节点,无法删除节点*/

{

printf("No Linked Table!\n");

return(head);

}

/*若没找到节点nodeNum且未到表尾,则继续找*/

while (nodeNum != p->kahao && p != NULL)

{

pr = p;

p = p->next;

}

if (nodeNum == p->kahao) /*若找到节点nodeNum,则删除该节点*/

{

if (p == head) /*若待删除节点为首节点,则让head指向第2个节点*/

{

head = p->next;

}

else /*若待删除节点不是首节点,则将前一节点的指针指向当前节点的下一节点*/

{

pr->next = p->next;

}

free(p); /*释放为已删除节点分配的内存*/

}

else /*没有找到待删除节点*/

{

printf("This Node has not been found!\n");

}

return head; /*返回删除节点后的链表的头节点指针*/

}

/*==================================================================== ==========================*/

void printSal(wor *head)

{

wor *p1;

int j=0;

if(head==NULL)

{

printf("没有记录!\n");

return ;

}

p1=head->next;

printf("卡号姓名月份应发工资水费电费税金实发工资\n");

do{

printf("%-ld %s %d %.2f\t%.2f %.2f %.2f %.2f\n",

p1->kahao,p1->name,p1->month,p1->yfgz,p1->sf,p1->df,p1->sj,p1->sfgz);

j++;

if(j%10==0)

printf("\n\n");

p1=p1->next;

}while(p1!=NULL);

getch();

system("cls");

return ;

}

/*==================================================================== ==========================*/

void totalSalMenu(wor *head)

{

char ch;

int i=0;

do

{

totalSal(head);

printf("是否继续统计(Y/N)?\n");

printf("请输入您的选择:");

scanf(" %c",&ch);

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

}

/*==================================================================== ==========================*/

void totalSal(wor *head)/*统计员工某时间段的实发工资总和*/

{

wor *p=head;

int start;

int end;

float sum=0;

long number;

printf("请输入您要统计工资的员工卡号:");

scanf("%ld",&number);

if(head==NULL)

printf("您输入的卡号不存在!");

printf("请输入您要统计工资的月份(0=

scanf("%d %d",&start,&end);

while(p!=NULL)

{

if(p->kahao==number)

{

if(p->month>=start&&p->month<=end)

sum+=p->sfgz;

}

p=p->next;

}

printf("您要统计的月份总实发工资为%.1f\n\n",sum);

getch();

system("cls");

}

/*==================================================================== ==========================*/

void order(wor *head)

{

char ch;

long c;

char t[10];

float b ;

float g;

float d ;

float e;

float f;

int i;

int j;

wor *p1;

wor *p2;

loop:

ch=menu1();

switch(ch)

{

case '1': /*按商品编号顺序浏览*/

{

system("cls");/*清屏*/

printf("总有%d个员工的信息:\n",num);

printf("卡号姓名月份应发工资水费电费税金实发工资\n");

p2=p1=head->next;

for(i=1;i

{

for(j=i+1;j<=num;j++)

{

p2=p1;

p1=p1->next;

if(p2->kahao>p1->kahao)//若后面的卡号小于前面的,则交换信息

{

c=p2->kahao;

p2->kahao=p1->kahao;

p1->kahao=c;

strcpy(t,p2->name);/*交换前后结点中的卡号值*/

strcpy(p2->name,p1->name);

strcpy(p1->name,t); /*交换前后结点中的员工姓名,使之与卡号相匹配*/

i=p2->month;

p2->month=p1->month;

p1->month=i;/*交换前后结点中的月份,使之与卡号相匹配*/

b=p2->yfgz;

p2->yfgz=p1->yfgz;

p1->yfgz=b; /*交换前后结点中的应发工资,使之与卡号相匹配*/

g=p2->sf;

p2->sf=p1->sf;

p1->sf=g; /*交换前后结点中的水费,使之与卡号相匹配*/

d=p2->df;

p2->df=p1->df;

p1->df=d; /*交换前后结点中的电费,使之与卡号相匹配*/

e=p2->sj;

p2->sj=p1->sj;

p1->sj=e; /*交换前后结点中的税金,使之与卡号相匹配*/

f=p2->sfgz;

p2->sfgz=p1->sfgz;

p1->sfgz=f; /*交换前后结点中的实发工资,使之与卡号相匹配*/

}

}

p2=head->next;

p1=head->next;/*重新使p2,p1指向链表头*/

}

p1=head->next;

do

{

printf("%-ld %s %d %.2f\t%.2f %.2f %.2f %.2f\n",

p1->kahao,p1->name,p1->month,p1->yfgz,p1->sf,p1->df,p1->sj,p1->sfgz);

p1=p1->next;

}

while(p1!=NULL);

}

getch();

system("cls");

break;

case '2':

{

system("cls");/*清屏*/

printf("总有%d个员工的信息:\n",num);

printf("卡号姓名月份应发工资水费电费税金实发工资\n");

p2=p1=head->next;

for(i=1;i

{

for(j=i+1;j<=num;j++)

{

p2=p1;

p1=p1->next;

if(p2->sfgzsfgz)//若前面的实发工资小于后面的,则交换信息

{

c=p2->kahao;

p2->kahao=p1->kahao;

p1->kahao=c;/*交换前后结点中的卡号值*/

strcpy(t,p2->name);

strcpy(p2->name,p1->name);

strcpy(p1->name,t); /*交换前后结点中的员工姓名,使之与卡号相匹配*/

i=p2->month;

p2->month=p1->month;

p1->month=i;/*交换前后结点中的月份,使之与卡号相匹配*/

b=p2->yfgz;

p2->yfgz=p1->yfgz;

p1->yfgz=b; /*交换前后结点中的应发工资,使之与卡号相匹配*/

g=p2->sf;

p2->sf=p1->sf;

p1->sf=g; /*交换前后结点中的水费,使之与卡号相匹配*/

d=p2->df;

p2->df=p1->df;

p1->df=d; /*交换前后结点中的电费,使之与卡号相匹配*/

e=p2->sj;

p2->sj=p1->sj;

p1->sj=e; /*交换前后结点中的税金,使之与卡号相匹配*/

f=p2->sfgz;

p2->sfgz=p1->sfgz;

p1->sfgz=f; /*交换前后结点中的实发工资,使之与卡号相匹配*/

}

}

p2=head->next;

p1=head->next;/*重新使p2,p1指向链表头*/

}

p1=head->next;

do

{

printf("%-ld %s %d %.2f\t%.2f %.2f %.2f %.2f\n",

p1->kahao,p1->name,p1->month,p1->yfgz,p1->sf,p1->df,p1->sj,p1->sfgz);

p1=p1->next;

}

while(p1!=NULL);

}

getch();

system("cls");

break;

case '0':

{

system("cls");

return;

}

default :

printf("输入错误!\n");

}

goto loop;

}

/*==================================================================== ==========================*/

char menu1(void)/*子菜单*/

{

char ch;

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

printf("\t $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");

printf("\t $$\n");

printf("\t $$ 1 * 按卡号升序浏览\n");

printf("\t $$\n");

printf(" \t $$\t 2 * 按实发工资降序浏览\n");

printf("\t $$\t\t\t\t\t\t $$\n");

printf(" \t $$\t\t 0 * 退出\t $$\n");

printf("\t \t\t\t\t\t\t $$\n");

printf("\t\t\t\t\t \t $$\n");

printf("\t\t\t\t\t\t\t $$");

printf("\n\t\t\t $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");

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

printf("请输入您的选择:");

scanf(" %c",&ch);

return ch;

}

/*==================================================================== ==========================*/

void modify(wor *head)

{

char c;

int i=0;

do{

modifyNode(head);

printf("继续修改请按Y/y!?");

printf("其他键视为不修改!\n");

printf("你想继续修改记录吗(Y/N)?");

scanf(" %c",&c);

i++;

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

printf("%d nodes have been modifyied!\n",i);

}

/*==================================================================== ==========================*/

void modifyNode(wor *head)

{

wor *q=head;

long d;

if(q==NULL)

{

printf("工资表为空请重新输入!!\n");

return ;

}

printf("请输入你想修改的职工的编号:");

scanf("%ld",&d);

while(q&&q->kahao!=d) //做比较判断//

q=q->next; //没找到,指针后移继续查找//

if(q==NULL) //指针为空,说明没有找到//

{

printf("Not found!\n");

return ;

}

else

{

printf("请输入修改后的职工卡号:");

scanf("%ld",&q->kahao);

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

scanf("%s",q->name);

printf("请输入修改后的月份:");

scanf("%d",&q->month);

printf("请输入修改后的应发工资:");

scanf("%f",&q->yfgz);

printf("请输入修改后的水费:");

scanf("%f",&q->sf);

printf("请输入修改后的电费:");

scanf("%f",&q->df);

if(q->yfgz<=800)

q->sj=0;

else if(q->yfgz>800&&q->yfgz<=1400)

q->sj=(q->yfgz-800)*0.05;

else

q->sj=(q->yfgz-1400)*0.10;

q->sfgz=q->yfgz-q->sf-q->df-q->sj;

}

save(head);// 调用保存函数保存修改记录

printf("修改成功!\n");

getch();

system("cls");

}

/*==================================================================== ==========================*/

void DeleteMemory(wor *head)/*删除*/

{

wor *p = head, *pr = NULL;

while (p != NULL) /*若不是表尾,则释放节点占用的内存*/

{

pr = p; /*在pr中保存当前节点的指针*/

p = p->next; /*让p指向下一个节点*/

free(pr); /*释放pr指向的当前节点占用的内存*/ }

}

酒店管理系统代码C语言版

#i n c l u d e<> #include <> #include <> oomNumber = 301+i; memset(roomArray[i].nameOne,0,20); memset(roomArray[i].nameTwo,0,20); roomArray[i].sexOne = 0; roomArray[i].sexTwo = 0; roomArray[i].Count = 0; } } void fun1() ount == 2) { continue; } else if(roomArray[i].Count == 1) { if(roomArray[i].sexOne != sex) { continue; } strcpy(roomArray[i].nameTwo,name);

roomArray[i].sexTwo = sex; roomArray[i].Count++; system("cls"); printf("客人已经成功入住,在房间%d",roomArray[i].roomNumber); return;; } else { strcpy(roomArray[i].nameOne,name); roomArray[i].sexOne = sex; roomArray[i].Count++; system("cls"); printf("客人已经成功入住,在房间%d",roomArray[i].roomNumber); return;; } } printf("无法入住,房间已经住满或者是没有适合的房间"); } void fun2() ameOne,name) == 0) {

c语言工资管理系统

沈阳航空工业学院 课程设计任务书 一、课程设计题目:工资管理系统 二、课程设计工作自 三、课程设计内容 用C语言编写软件完成以下任务: 1输入工资数(职工数据要有职工号.姓名.所属部门.工龄和工资)保存在paid.dat文件中. 2对现有的职工数据根据所属部门排序,并显示出企业的平均工资. 3 职工涨工资(根据工龄按比例进行工资调整). 4 查询职工的相关数据. 四、课程设计要求: 程序质量: 1贯彻结构化程序设计思想. 2用户界面友好,功能明确,操作方便.可以加以其他功能和修饰. 3用户界面的菜单中包含"职工信息录入","排序及显示"."

工资调整","信息查询"."退出"5项.所有职工数据的改变都 应该在paid.dat文件中体现出来. 4代码应适当缩进,并给出必要的注释,以增强程序的可读 行. 课程设计说明书: 课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下: 1封面 2课程设计任务书 3目录 4需求分析(分析题目的要求) 5程序流程图(总体流程图和主要功能模块流程图)6核心技术的实现说明及相应程序段 7个人总结 8参考资料 9源程序及适当的注释 指导教师:_____ 学生签名:_____

目录 一、需求分析 (1) 二、程序流程图 (2) 三、核心技术的实现说明及相应程序段 (5) 四、个人总结 (16) 五、参考文献 (17) 六、源程序 (18)

一、需求分析 经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,他们的功能分别是:输入职工数据函数(shuru),职工排序函数(sort_part),增加职工工资函数(add_paid),职工信息的查询函数(search_worker),以及主函数main(). 1、输入职工数据函数实现的功能是按照工号对职工的数据输入并保存在paid.dat; 2、职工排序函数按照题目的具体要求实现的是按职工部门排序并算出平均工资。 3、增加职工工资函数允许职工按照根据工龄按比例进行工资调整。 4、职工信息的查询函数输出paid.dat文件中的职工的相关数据。 除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。 每一个职工记录都包含职工号.姓名.所属部门.工龄

酒店管理系统代码(C语言版)

#include #include #include //房间信息结构体 struct Node { int Count; //指示该房间有多少个房客 char nameOne[20]; //房客1的名字 char nameTwo[20]; //房客2的名字 int sexOne; //房客1的性别-1代表女,0代表没有,1代表男int sexTwo; //房客2的性别 int roomNumber; //房间号 }roomArray[5]; //初始化房间数组 void InitArray() { int i; for(i=0;i<5;i++) { roomArray[i].roomNumber = 301+i; memset(roomArray[i].nameOne,0,20); memset(roomArray[i].nameTwo,0,20); roomArray[i].sexOne = 0; roomArray[i].sexTwo = 0; roomArray[i].Count = 0; } } void fun1() //旅客入住的操作 { char name[20]; int sex; int i; printf("\n输入入住旅客姓名和性别(空格隔开,1为男,-1为女):"); scanf("%s %d",name,&sex); for(i=0;i<5;i++) {

{ continue; } else if(roomArray[i].Count == 1) { if(roomArray[i].sexOne != sex) { continue; } strcpy(roomArray[i].nameTwo,name); roomArray[i].sexTwo = sex; roomArray[i].Count++; system("cls"); printf("客人已经成功入住,在房间%d",roomArray[i].roomNumber); return;; } else { strcpy(roomArray[i].nameOne,name); roomArray[i].sexOne = sex; roomArray[i].Count++; system("cls"); printf("客人已经成功入住,在房间%d",roomArray[i].roomNumber); return;; } } printf("无法入住,房间已经住满或者是没有适合的房间"); } void fun2() //退房操作 { int i; char name[20]; printf("请输入要退房旅客的姓名:"); scanf("%s",name); for(i=0;i<5;i++) { if(strcmp(roomArray[i].nameOne,name) == 0) { memset(roomArray[i].nameOne,0,20);

酒店管理系统代码c语言版)

#i n c l u d e #include #include //房间信息结构体 struct Node { int Count; //指示该房间有多少个房客 char nameOne[20]; //房客1的名字 char nameTwo[20]; //房客2的名字 int sexOne; //房客1的性别 -1代表女,0代表没有,1代表男 int sexTwo; //房客2的性别 int roomNumber; //房间号 }roomArray[5]; //初始化房间数组 void InitArray() { int i; for(i=0;i<5;i++) { roomArray[i].roomNumber = 301+i; memset(roomArray[i].nameOne,0,20);

memset(roomArray[i].nameTwo,0,20); roomArray[i].sexOne = 0; roomArray[i].sexTwo = 0; roomArray[i].Count = 0; } } void fun1() //旅客入住的操作 { char name[20]; int sex; int i; printf("\n输入入住旅客姓名和性别(空格隔开,1为男,-1为女):"); scanf("%s %d",name,&sex); for(i=0;i<5;i++) { if(roomArray[i].Count == 2) { continue; } else if(roomArray[i].Count == 1) { if(roomArray[i].sexOne != sex)

员工工资管理系统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; default: printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar(); } } } void display() { printf("\n\t** 欢迎使用员工信息管理系统 **\n\n"); printf("\t请选(1-7):\n"); printf("\t============================================\n"); printf("\t\t1.查询员工信息\n"); printf("\t\t2.录入员工信息\n"); printf("\t\t3.修改员工信息\n"); printf("\t\t4.删除员工信息\n"); printf("\t\t6.显示所有员工信息\n"); printf("\t\t7.退出系统\n"); printf("\t============================================\n"); printf("\t您的选择是: "); } void listOne(Info p) { printf("\n该员工信息记录如下: "); printf("\n==========================================================\n\n"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员工编号","姓名","部门","应付工资","保险","税金","实付工资"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->yf salary,p->aband,p->tax,p->sfsalary); } Info isExists(char *num)

基于C语言的酒店管理系统论文

2012届C语言课程设计题目:酒店管理系统 院(系)别 专业 班级 学号 姓名 指导教师 二○一三年六月 - 1 -

原创声明 本人***郑重声明:所呈交的论文“酒店管理系统”,是本人在导师**的指导下开展研究工作所取得的成果。除文中特别加以标注和致谢的地方外,论文中不包含任何其他个人或集体已经发表或撰写过的研究成果,对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明,本人完全意识到本声明的法律后果,尊重知识产权,并愿为此承担一切法律责任。 论文作者(签字): 日期:年月日 - 2 -

摘要 近年来,随着旅游业的发展,对酒店的需求也日益增大,这就要求酒店必须提高服务质量和服务水平。所以酒店就必须有一个完整安全的管理系统,从而更好的管理酒店,提高工作效率,减轻工作人员负担。本系统是基于C语言的基础而设计开发的,能帮助酒店更好的实现对客房的管理。 论文先研究了酒店管理系统要实现的全部功能,整体确定了各个功能的部分代码,然后重点进行的是对系统登陆界面和系统入口的设计。整体引用了大量的结构体指针和结构体数组,对系统入口则采用switch语句实现多分支选择结构。 通过使用该管理系统,能够快速而准确的实现对酒店客房的管理,从而使酒店的服务质量提高,为酒店树立良好的形象树立基础。 关键词:酒店管理系统,C语言,系统登陆,系统入口 - 3 -

目录 前言 (1) 1 系统设计 (2) 1.1系统设计目的和意义 (2) 1.1.1 目的 (2) 1.1.2 意义 (2) 1.2系统实现的功能 (2) 1.2.1 系统登录界面 (2) 1.2.2 系统入口 (2) 1.3 系统设计 (2) 1.3.1 设计原则 (2) 1.3.2 设计原理 (3) 1.3.3 设计步骤 (3) 2 系统分析 (5) 2.1 系统的可行性分析 (5) 2.1.1 技术可行性 (5) 2.1.2 经济可行性 (5) 2.1.3 社会因素可行性 (5) 2.2 系统的功能分析 (5) 2.2.1 系统初始设置 (5) 2.2.2 系统登录界面 (5) 2.2.3 系统入口 (6) 结论 (8) 致谢 (9) 参考文献 (10) 附录 (11) - 4 - - 4 -

C语言实验报告-酒店管理系统

武汉科技大学 C语言程序设计 课程设计 题目酒店管理系统 班级信息与计算科学2班姓名陈诚 学号201407119043 成绩 2015年6 月23 日

一、总体设计 1、程序的总体设计 (1)程序总体设计思路: 酒店房间登记管理系统,实现的是房间登记与管理(包括登记入住、查询)为了体现模块化设计,把所有要实现的功能做成函数,采用分步实施的方法逐步细化。具体分布实施有以下5步。 1,编写模块 2,定义实现个功能模块所要函数 3,编写各个函数 4,理清思路,逐步修改 5,调试整个程序。 核心部分是各个函数: 1、欢迎界面函数:通过switch进入不同界面。 2、登记入住函数:使用户在入住前登记个人信息,选择房间信息 3、查询入住情况函数:顾客可通过两种方式查找到自己的个人信息。 4、查询当前费用函数:顾客可随时查询所用费用 5、结账退房函数:所有信息清零。 2、数据结构 此系统,选择用结构体存放不同类型的数据,房间信息。在这过程中由于对指针的运用与操作还不熟练,不方便修改,所以没用指针。 (1)创建房间信息结构体 /*结构体hotel 房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/ struct hotel { int num; /*房间号*/ int kind; /*房间种类1(表示单人间)2(表示双人间)*/ char name[20]; /*姓名*/ char ID[19]; /*身份证号*/ int flag; /*flag 0(表示有人入住)0(表示无人入住)*/ int dingjia; /*房间定价*/ int shiji; /*实际缴纳费用*/ }room[M]; 3、函数原型声明 void welcome(); //主界面 int dengji(); //登记入住函数 int now_room(); //查询当前房间入住情况 int now_feiyong(); //查询当前费用 int tuifang(); //结账退房 int find(); //查询当前入住人数 int kfxinxi(); //客户信息

c语言的酒店管理系统.docx

. 基于 C语言的酒店管理系 统课程设计 学院:通信与电子工程学院 班级:电子 102 班 学号:2010131085 2010131012 姓名:邹远文王帅 指导老师:题原 日期:2013年11月27日

摘要 随着个人计算机的的普及,越来越多的重复性工作被交由计算机来完成。在这种大趋势下,传统的纸质档案管理方式已不适应现代服务业的发展。数字化的管理成为酒店等行业的必要条件。酒店客房管理的电脑化对于优化员工工作效 率、降低成本及改善服务质量等方面都有十分积极的作用。 本程序是用于酒店管理的软件。它可以实现定退房业务处理,用户信息的记录、查询及房间状态管理等功能。虽然比较简陋但已具备应用程序的雏形。 经济上主要考虑本系统带来的效益是否大于开发本系统的成本,由于本系统的开发以课程设计为依托 , 参与人员的目的以学习为主 , 投入成本比较小。另外,系统管理员和业务员都拥有计算机的专业知识 , 酒店前台工作人员和管理人员不需要经 过培训或只需要经过少量培训即可操作本软件。这样可以为开发本系统节升资金。 同时无纸化办公可以节省资源,减少后期资源浪费。因此,开发本系统在经济是可 行的。 本程序运用 Microsoft Visual C++ 编译器编写,涉及 C 语言的文件读写,结构 数组运用及字符串函数相关知识。 关键词:数字化管理酒店管理 C 语言

目录 摘 要..............................................................I 第 1 章绪论 ...................................................IV 1.1概述 ........................................................IV 1.1.1酒店管理系统的需求 ....................................IV 1.2酒店管理系统的当前需求 .....................................IV 1.3酒店管理系统的可行性 .........................................V 第 2 章酒店管理系统的功能实现 ......................................V 2.1设计模块 ....................................................VI 2.1.1添加录入信息模块 ......................................VI 2.1.3 删除客房信息模块 ..........................................VI 2.1.4查询剩余客房函数 ......................................VI 2.1.5排序剩余客房模块 ......................................VI 2.1.6输出剩余客房函数 ......................................VI 2.1.7点餐系统 ..............................................VI 2.2管理员登陆流程 .............................................VII 2.2主要功能模块数据流程图 ....................................VIII 2.3管理员预处理流程 ............................................IX 2.4登记入住系统 ................................................IX 2.5客房状态查询 ................................................IX 2.6住户信息查询 .................................................X 2.7结账退房系统 .................................................X 2.8系统管理 .....................................................X 2.9系统详细设计任务 .............................................X 第 3 章系统物理配置方案设计 .......................................XI 3.1设计指标 ....................................................XI 3.1.1 系统的可靠性 ...........................................XI 3.1.2 系统吞吐量 ................................................XI

C语言课设职工工资管理系统

C语言课设职工工资管 理系统 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

一引言 C语言是CombinedLanguage(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;在次我们必须捋清思路,逐一的解决问题的各个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数、结构体和文件等,然后确定处理过程。 本课题中主要应用了C语言中的数组、结构体、文件等关键技术。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型;结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构,在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型,结构体只能描述一个对象的状态,不能描述一个对象的行为。文件是一种组织外部存储介质上的数据的数据类型。它具有两个特征:一是对一个数据集合可以用一个名字命名;二是保存在外部存储介质上,可以长期保存。 通过此次课设可以锻炼学生理论联系实际能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解,并达到如下目的:1.熟悉C语言程序的编辑、编译链接和运行的过程。2.熟练运用if语句和switch语句以及嵌套应用。3.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。4.掌握文件的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。5.掌握结构体类型变量、数组的定义和使用。6.掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。

C语言实验分析报告-酒店管理系统

C语言实验报告-酒店管理系统

————————————————————————————————作者:————————————————————————————————日期:

武汉科技大学 C语言程序设计 课程设计 题目酒店管理系统 班级信息与计算科学2班姓名陈诚 学号201407119043 成绩 2015年6 月23 日

一、总体设计 1、程序的总体设计 (1)程序总体设计思路: 酒店房间登记管理系统,实现的是房间登记与管理(包括登记入住、查询)为了体现模块化设计,把所有要实现的功能做成函数,采用分步实施的方法逐步细化。具体分布实施有以下5步。 1,编写模块 2,定义实现个功能模块所要函数 3,编写各个函数 4,理清思路,逐步修改 5,调试整个程序。 核心部分是各个函数: 1、欢迎界面函数:通过switch进入不同界面。 2、登记入住函数:使用户在入住前登记个人信息,选择房间信息 3、查询入住情况函数:顾客可通过两种方式查找到自己的个人信息。 4、查询当前费用函数:顾客可随时查询所用费用 5、结账退房函数:所有信息清零。 2、数据结构 此系统,选择用结构体存放不同类型的数据,房间信息。在这过程中由于对指针的运用与操作还不熟练,不方便修改,所以没用指针。 (1)创建房间信息结构体 /*结构体hotel 房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/ struct hotel { int num; /*房间号*/ int kind; /*房间种类1(表示单人间)2(表示双人间)*/ char name[20]; /*姓名*/ char ID[19]; /*身份证号*/ int flag; /*flag 0(表示有人入住)0(表示无人入住)*/ int dingjia; /*房间定价*/ int shiji; /*实际缴纳费用*/ }room[M]; 3、函数原型声明 void welcome(); //主界面 int dengji(); //登记入住函数 int now_room(); //查询当前房间入住情况 int now_feiyong(); //查询当前费用 int tuifang(); //结账退房 int find(); //查询当前入住人数 int kfxinxi(); //客户信息

员工工资管理系统c语言编程

员工工资管理系统c语言 编程 The latest revision on November 22, 2020

#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; default: printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar(); } } } void display() { printf("\n\t** 欢迎使用员工信息管理系统 **\n\n"); printf("\t请选(1-7):\n"); printf("\t============================================\n"); printf("\t\t1.查询员工信息\n"); printf("\t\t2.录入员工信息\n"); printf("\t\t3.修改员工信息\n"); printf("\t\t4.删除员工信息\n"); printf("\t\t6.显示所有员工信息\n"); printf("\t\t7.退出系统\n"); printf("\t============================================\n"); printf("\t您的选择是: "); } void listOne(Info p) { printf("\n该员工信息记录如下: "); printf("\n===================================================== =====\n\n"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员工编号","姓名","部门","应付工资","保险","税金","实付工资"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->yfsalary,p->aband,p->tax,p->sfsalary); } Info isExists(char *num)

教师工资管理系统C实现

教师工资管理系统 一.选题背景 二.需求分析 一、设计选题与目标 1.选题要求: 教师工资管理系统 每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资-合计扣款。 A、教师信息处理 (1)输入教师信息 (2) 插入(修改)教师信息: (3) 删除教师信息: (4) 浏览教师信息: 提示:具体功能及操作参考题1。 B、教师数据处理: (1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。 (2) 教师实发工资、应发工资、合计扣款计算。 提示:计算规则如题目。 (3) 教师数据管理 提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信

息写入文件 (4) 教师数据查询: 提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出 提示:输出教师信息到屏幕。 2.目标 教师数据处理: (1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。 (2) 教师实发工资、应发工资、合计扣款计算。 计算规则如题目。 (3) 教师数据管理 输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件 (4) 教师数据查询: 输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出 输出教师信息到屏幕 三.总体设计 利用六个模块分别实现教师信息的输入,修改,删除,查询,保存以及信息文件的读入功能。并使用不同的函数实现不同的功能。使用链表存储及处理数据。 程序流程图如下:

C语言课程设计教师工资管理系统职工工资管理系统

C语言课程设计教师工资管理系统职工工资管 理系统 集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

课程设计教师工资管理系统 运行平台:(其他平台未经测试,不一定保证有效) 制作者:弓箭中南大学信息科学与工程学院 源代码如下: #include <> #include <> #include <> #include <> #define LEN sizeof(struct teacher) struct teacher { int num; char name[20]; char sex[20]; char workplace[50]; char address[50]; long phone; double de_salary; double de_jintie; double de_shenghuobutie; double yingfa_salary; double cost_phone; double cost_water_elec; double cost_rent; double cost_tax; double cost_weisheng; double cost_gongjijin; double cost_all; double shifa_salary; struct teacher *next; }; /***********************************读取函数************************************/ struct teacher *load() { struct teacher *p1,*p2,*head; FILE *fp;

c语言工资管理系统课程设计

程序设计课程设计报告 工资管理系统 院系:地质工程系 班级:地质工程班 组员:陈欣永 胡世俊 李积荣赵海俊 马小成

目录 一、设计目的 (1) 二、设计内容与要求 (2) 1.设计内容 (3) 2.设计要求 (4) 三、总流程图设计 (5) 四、程序详细功能设计 (6) 五、程序调试 (7) 六、设计小结 (8) 七、参考文献 (9) 附录 (10) 1

一、设计目的 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。 进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用流程图表示算法。 《工资管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的职工工资管理系统。工资管理系统是一个企业不可缺少的一部分,它利用计算机对职工工资进行统一管理,实现工资管理工作的系统化、规范化和自动化,为企业提高工作效率。 二、设计内容与要求

1.设计内容 主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:对职工信息的录入、修改或删除,通过职工姓名或工号进行查找,并逐项列出相信的职工工资信息,另外也可以查看所有职工目前的工资状况。有一个文本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。 2.设计要求 在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。 三、总体流程图设计 3

四、程序详细功能设计 1、设计一个能够记录公司职工工资的数据结构,每条记录包括:职工号,姓名,基本工资,职务工资,津贴。 2、应用文件保存工资管理数据。 3、新增:能将所有输入的职工工资数据保存到文件中,并可选择继续输入或退出。

c语言课程设计报告职工工资管理系统

c 语言课程设计报告职工工资管理系统 1 课程设计报告 课程设计报告 题目:职工工资管理系统 设计者: 专业班级: 学号: 指导教师: 所属院系: 2011 年 6 月29 日 一.设计需求说明 一、职工工资管理系统功能设计要求 1.输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位 津贴、医疗保险、公积金的数据作为一个记录。?该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。 2.显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的 各项工资和平均工资。

3.修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记 录内容进行显示。 4.查找记录: 可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。 5. 删除记录:可删除数据文件中的任一记录。 6.恢复记录:能恢复被删除的任一记录。 7.统计:(A)计算各项工资平均工资及总工资,(B)?统计符合指定条件(如职 工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元)以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(?包括各项总的平均工资)。 8.保存数据文件功能。 9.打开数据文件功能。 经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以 逐 个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。程序运行结果如下表所示(记录个数至少8 个)。 二.模块设计分析系统功能模块图: 工作程序分析 ①输入:输入职工工资资料

通过结构体的数组来进行操作,先头定义数组em[] ,先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入结构体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。同时将数据储存在 ckerk_list 文件中并自动保存至磁盘。 注:如首次使用,尚未输入数据,请先输入数据。输入的数据将自动保 存。 再次选择输入功能时原数据将被覆盖。 ②保存:将输入的资料存入磁盘 读取文件clerk_list ,若文件不存在,打印“打开失败并退出。若存在,则通过循环语句将输入到结构体数组的数据逐个输入磁盘。 ③读取:读取磁盘中的资料 打开文件clerk_list ,若文件不存在,打印“打开失败”并退出。若存在,读取文件中的数据,并返回职工人数。 ④显示:显示职工工资资料 先通过读取函数的返回值确定职工人数m,再通过循环将员工工资资料逐个打印,当循环次数达到m 时退出循环。其中总工资由程序计算,总工资=基本工资+职务工资+津贴-医疗保险-公积金 ⑤删除:删除某员工的资料 打印员工资料并提示输入要删除职工的姓名,输入后若该职工不存在则打印“查无此人”;若存在,则显示该职工资料并询问是否确定删除。若确定,则删除。删除时,通过对比输入的姓名与资料中的姓名做对比从而确定要删除

酒店管理系统c语言

酒店管理系统c语言 Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】

附录 1.源程序代码 #include void search(); int main() { int s; printf(" ------------------------------\n"); printf(" && 长江大酒店欢迎您的光临 &&\n"); printf(" ------------------------------\n"); printf(" 1.进入 2退出\n"); printf("请您输入您的选择:"); scanf("%d",&s);//输入选项前的数字

if(s==1)//判断s是否为1 search(); else printf("抱歉,您的输入有误!\n"); return 0; } void search() { int p[18],q[3],a,b,c,x,y,z; printf("请选择您需要的服务号码:\n1.预订房间 2.退订房间\n"); scanf("%d",&a);//输入服务号码 if(a>2||a<1)//判断a是否为1或2 { printf("抱歉,您的输入有误,请重新输入!\n"); } else switch(a)

{ case 1://执行预订房间的操作 { printf("请您输入您的身份证号码:\n"); scanf("%d",&p[18]);//输入身份证18位数字 printf("您已成功登入预订系统!!\n"); printf("请您选择预订房间标准的号码:\n"); printf("1.单人标准间/夜 150元 2.双人标准间/夜 200元\n3.豪华套房/夜 300元 4.总统套房/夜 500元\n"); scanf("%d",&b);//输入预订房间的种类 switch(b) { case 1://执行预订单人标准间的操作 printf("请输入预订天数:\n"); scanf("%d",&x);//输入预订天数

小型公司工资管理系统(C)源代码

#include #include #include #include class Employ// 基类- 雇员类{ protected: int num; char name[10]; char sex; int age; int wage; public: virtual void set()=0; virtual void print()=0; virtual void reserved()=0; }; class Manager:public Employ// 经理类 { public: void set(); void print(); void reserved(); }; class Salesman:public Employ// 销售员类{ protected: int salesvolume; int snum; public: void set(); void print(); void reserved(); void printinfor(); int getsales() {return salesvolume;} int getsnum() {return snum;} };

class MarketMan:public Manager// 销售经理类{ protected: int salesvolume; public: void set(); void print(); void reserved(); int resetwage(); int getnum() {return num;} char*getname() {return name;} int getamount(Salesman s[],int n) { salesvolume=0; for(int i=0;i>num; cout<<" 其姓名:"; cin>>name; cout<<" 性别(m/w):"; cin>>sex; cout<<" 年龄:";

相关主题
文本预览
相关文档 最新文档