该【2025年职工工资管理系统设计--C语言课程设计 】是由【读书百遍】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【2025年职工工资管理系统设计--C语言课程设计 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。《C语言程序设计》课程设计
实习汇报
实 验 题 目 职工工资管理
1.问题描述:
添加模块:添加职工或工资旳信息
删除模块:能通过姓名或者工号删除职工信息
修改模块:修改职工信息
查询模块:能通过姓名或者工号查询职工信息
显示模块:显示所有职工信息
文献管理模块:负责源数据文献旳管理,包括新建、读取和保留源数据
2.概要设计
职工工资管理
添加模块
删除模块
修改模块
查询模块
显示模块
文献管理模块
按姓名
按工号
按姓名
按工号
新建记录数据文献
读取记录数据文献
保留记录数据文献
在各模块处用指针函数来使用背面旳保留记录数据文献进行保留。
3.详细设计
include <>
# include <>
# include <>
/*宏定义*/
# define N 100 /*假设工人个数是100*/
# define HEADER1 "----------------------------------------------------------------------\n"
# define HEADER2 " | Number | Name | Psex | Age | Time | Ywage | Ykou | Pwage |\n"
# define HEADER3 " |--------|--------|--------|-------|------|-------|------|-------|\n"
# define FORMAT " |%-8d|%-8s|%-8s|%-7d|%-6d|%-7d|%-6d|%-7d|\n"
# define DATA p->num ,p->name,p->sex,p->age,p->time,p->ywage,p->ykou,p->pwage
# define END "-----------------------------------------------------------------------\n"
/**/
typedef struct work
{
int num; /**/
char name[10];
char sex[10];
int age; /**/
int time; /**/
int ywage; /**/
int ykou; /**/
int pwage; /**/
}WORK;
/**/
typedef struct pointer_info
{
WORK*pHead; /**/
int count; /**/
char fname[10]; /**/
int saveflag; /**/
}PI;
/**/
void Menu();
void Add(PI*);
void Del(PI*);
void Save(PI*pi);
void Modify(PI*pi);
void Qur(PI*pi);
void Load(PI*pi);
void New(PI*pi);
void Disp(PI*);
void Wrong();
void printheader();
void main()
{
int sel;
WORK *pwork;
PI pi;
pwork = (WORK*)malloc(N * sizeof(WORK));
= pwork;
= 0;
[0] = '\0';
= 0;
/*显示主函数*/
Menu();
printf("Please input your choice [0~5]:");
do
{
scanf("%d",&sel);
if (sel == 0)
{
/*if ( ==1)
{
if (strlen())
{
Save(&pi);
}
else
{
New(&pi);
Save(&pi);
}
}*/
break;
}
switch(sel)
{
case 1:
Add(&pi);
break;
case 2:
Del(&pi);
break;
case 3:
Modify(&pi);
break;
case 4:
Qur(&pi);
break;
case 5:
Disp(&pi);
break;
default:
Wrong();
break;
}
}while(1);
pwork = ;
free(pwork);
}
void printheader()
{
printf(HEADER1);
printf(HEADER2);
printf(HEADER3);
}
void Menu()
{
system("cls");
printf(" The Workers' Grade Wage System \n");
printf("****************Menu*************************************\n");
printf(" * 1 添加 *\n");
printf(" * 2 删除 *\n");
printf(" * 3 修改 *\n");
printf(" * 4 查询 *\n");
printf(" * 5 显示 *\n");
printf(" * 0 退出 *\n");
printf ("*********************************************************\n");
}
void Wrong( )
{
printf("\n******Error :input has wrong ! press any key to continue******\n");
}
void Add(PI* pi )
{
int num;
//char sex[10];
int nSex;
int i,flag=0;
WORK * pwork,*p;
do
{
pwork=pi->pHead+pi->count;
p=pi->pHead;
printf("please input the number:(press '0'return menu)");
scanf("%d",&num);
for(i=1;i< pi->count; i++)
{
if(num==p->num)
{
printf ("the number you input has exist,please input another one!\n");
flag=1;
break;
}
p++;
}
if(flag)
{
flag=0;
continue;
}
if (num != 0)
{
pwork->num = num;
}
else
{
Menu();
printf("please input your choice[0~5]:");
break;
}
printf("please input the name:");
scanf("%s",pwork->name);
printf("please input the sex(0 is woman,1 is man):");
scanf( "%d", &nSex );
if( nSex == 0 )
strcpy( pwork->sex,"woman");
else
strcpy( pwork->sex,"man");
printf("please input the time:");
scanf("%d", &pwork->time);
printf("please input the age:");
scanf("%d", &pwork->age);
printf("please input the Ywage:");
scanf("%d", &pwork->ywage);
printf("please input the Ykou:");
scanf("%d", &pwork->ykou);
pwork->pwage = pwork->ywage-pwork->ykou;
pi->count++;
pi->saveflag=1;
}while(1);
}
void Qur(PI * pi)
{
int a,i,num;
WORK *p;
char name[10];
p=pi->pHead;
Menu();
printf("1------search by number\n");
printf("2------search by name\n");
printf("3------return\n");
printf("please input your choice:[1,2]?");
scanf("%d",&a);
if(a==3)
{
return;
}
if(a==1)
{
printf("please input the number for search:");
scanf("%d",&num);
for(i=1;i<= pi->count; i++)
{
if(num==p->num)
{
break;
}
p++;
}
if(i>pi->count)
{
printf("no record found\n");
return;
}
else
{
printheader();
printf(FORMAT,DATA);
printf(END);
}
}
else if(a==2)
{
printf("please input name to search:");
scanf("%s",name);
for(i=1;i<=pi->count;i++)
{
if(strcmp(name,p->name) !=0)
{
break;
}
p++;
}
if(i>pi->count)
{
printf("no record found\n");
return;
}
else
{
printheader();
printf(FORMAT,DATA);
printf(END);
}
}
printf("Please input your choice[0~5]:");
}
void Modify(PI *pi)
{
int num,i;
WORK *p,*pwork;
p = pi->pHead;
Menu();
Disp(pi);
printf("please input the number of work to modify:");
scanf("%d",&num);
for (i = 1;i < pi->count;i++)
{
if (num == p->num)
{
break;
}
p++;
}
if (i > pi->count)
{
printf("no record found\n");
return;
}
else
{
printf("please input the number:(enter '0'return menu)");
scanf("%d",&num);
if (num!=0)
{
p->num =num;
}
else
{
Menu();
return;
}
printf("please input the name:");
scanf("%s",p->name);
printf("please input the sex:");
scanf("%s",p->sex);
printf("please input the age:");
scanf("%d",&p->age);
2025年职工工资管理系统设计--C语言课程设计 来自淘豆网m.daumloan.com转载请标明出处.