主题:C语言职工工资管理系统设计编程题 跪求高手
我自己编了个 但是发现很多错误 求高手帮忙修改下 多谢多谢
题目:
职工工资管理系统设计
职工工资表包括:工号、姓名、基本工资、职务工资、岗位津贴、特殊津贴等。
主要功能:
1、能够完成对职工工资的录入和修改
2、对职工工资进行排序
3、对职工工资进行查询
4、可以对职工号实施删除和添加
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
struct worker_list{
int gh;
char name[10];
int jbgz;
int zwgz;
int gwjt;
int tsjt;
}s[100];
int count=0;
void new_worker(struct worker_list worker[]);
void alter_worker(struct worker_list worker[]);
void sort_worker(struct worker_list worker[]);
void query_worker(struct worker_list worker[]);
void delete_worker(struct worker_list worker[]);
void append_worker(struct worker_list worker[]);
int main(void)
{
int choice;
char name[10];
struct worker_list worker[100];
do{
printf("职工工资管理系统功能选项:1:录入 2:修改 3:排序 4:查询 5:删除 6:修改 0:推出\n");
printf("请选择功能");
scanf("%d",&choice);
switch(choice){
case 1:
new_worker(worker);
break;
case 2:
alter_worker(worker);
break;
case 3:
sort_worker(worker);
break;
case 4:
query_worker(worker);
break;
case 5:
delete_worker(worker);
break;
case 6:
append_worker(worker);
break;
case 0: break;
}
}while(choice!=0);
printf("谢谢使用职工工资管理系统\n");
return 0;
}
void new_worker(struct worker_list worker[])
{
struct worker_list f;
if(count==100)
{
printf("职工已满!\n");
return;
}
printf("请输入新的工号:");
scanf("%d",&f.gh);
printf("请输入新职工姓名:");
scanf("%s",f.name);
printf("请基本工资:");
scanf("%d",&f.jbgz);
printf("请输入职务工资:");
scanf("%d",&f.zwgz);
printf("请输入岗位津贴:");
scanf("%d",&f.gwjt);
printf("请输入特殊津贴:");
scanf("%d",&f.tsjt);
worker[count]=f;
count++;
}
void alter_worker(struct worker_list worker[])
{
int i,j=-1,d,t;
char m[20];
printf("What's you want to Modify:");
printf("1.工号 2.姓名");
printf("Input your selection: ");
scanf("%d",&i);
if(i==1)
{
printf("Please input the name:");
scanf("%s",&m);
for(i=0;i<count;i++)
if(strcmp(m,s.name)==0)
j=i;
}
else if(i==2)
{printf("Please input the gh:");
scanf("%d",&d);
for(i=0;i<count;i++)
if(d==s.gh)
j=i;
}
if(j==-1)
printf("Not find!\n");
else { printf("what's your want to modiy?");
printf("1.工号 2.姓名");
printf("3.基本工资 4.职务工资");
printf("5.岗位津贴 6.特殊津贴");
printf("Input your selection: ");
scanf("%d",&t);
switch(t)
{
case 1:printf("change to:");scanf("%d",&s[j].gh);break;
case 2:printf("change to:");scanf("%s",s[j].name);break;
case 3:printf("change to:");scanf("%d",&s[j].jbgz);break;
case 4:printf("change to:");scanf("%d",&s[j].zwgz);break;
case 5:printf("change to:");scanf("%d",&s[j].gwjt);break;
case 6:printf("change to:");scanf("%d",&s[j].tsjt);break;
}
}
}
void sort_worker(struct worker_list worker[]);
{
int i,j,h;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(s.jbgz<s[j].jbgz)
{
h=s;
s=s[j];
s[j]=h;
}
}
void query_worker(struct worker_list worker[]);
{
int i,j[20]={-1},d,k,t=0;char m[20];
printf("What's you want to Query:");
printf("1.工号 2.姓名");
printf("Input your selection: ");
scanf("%d",&k);
if(k==1)
{
printf("Please input the name:");
scanf("%s",&m);
for(i=0;i<N;i++)
if(strcmp(m,s.name)==0)
{
j[t]=i;
t=t+1;
}
}
else if(k==2)
{
printf("Please input the gh:");
scanf("%d",&d);
for(i=0;i<N;i++)
if(d==s.gh)
{
j[t]=i;
t++;
}
}
if(j[0]==-1&&t==0)
printf("Not find!\n");
if(j[0]!=-1&&t!=0)
printf("工号 姓名 基本工资 职务工资 岗位津贴 特殊津贴\n");
printf("%-9d %-10s%-10d%-10d%-10d%-10d%-10d",s[j].gh,s[j].name,s[j].jbgz,s[j].zwgz,s[j].gwjt,s[j].yfgz,s[j].tsgz);
}
}
void delete_worker(struct worker_list worker[]);
{
int i,j=-1,d;char m[20];
printf("What's you want to Delete:");
printf("1.工号 2.姓名");
printf("Input your selection: ");
scanf("%d",&i);
if(i==1)
{
printf("Please input the name:");
scanf("%s",&m);
for(i=0;i<N;i++)
if(strcmp(m,s.name)==0)
j=i;
}
else if(i==2)
{
printf("Please input the gh:");
scanf("%d",&d);
for(i=0;i<N;i++)
if(d==s.gh)
j=i;
}
if(j!=-1)
{
N=N-1;
for(i=j;i<=N&&j!=-1;i++)
s=s[i+1];
}
else if(j==-1)
printf("Not find!\n");
}
void append_worker(struct worker_list worker[]);
{
int n,i;
printf("How many people you want to add:");
scanf("%d",&n);N=n+N;
printf("Now,please add them:\n");
for(i=1;i<=n;i++)
{
printf("工号:");
scanf("%d",&s[N-n-1+i].gh);
printf("姓名:");
scanf("%s",s[N-n-1+i].name);
printf("基本工资:");
scanf("%d",&s[N-n-1+i].jbgz);
printf("职务工资:");
scanf("%d",&s[N-n-1+i].zwgz);
printf("岗位津贴:");
scanf("%d",&s[N-n-1+i].gwjt);
printf("特殊津贴:");
scanf("%d",&s[N-n-1+i].tsjt);
}
}
题目:
职工工资管理系统设计
职工工资表包括:工号、姓名、基本工资、职务工资、岗位津贴、特殊津贴等。
主要功能:
1、能够完成对职工工资的录入和修改
2、对职工工资进行排序
3、对职工工资进行查询
4、可以对职工号实施删除和添加
#include<stdio.h>
#include <stdlib.h>
#include<string.h>
struct worker_list{
int gh;
char name[10];
int jbgz;
int zwgz;
int gwjt;
int tsjt;
}s[100];
int count=0;
void new_worker(struct worker_list worker[]);
void alter_worker(struct worker_list worker[]);
void sort_worker(struct worker_list worker[]);
void query_worker(struct worker_list worker[]);
void delete_worker(struct worker_list worker[]);
void append_worker(struct worker_list worker[]);
int main(void)
{
int choice;
char name[10];
struct worker_list worker[100];
do{
printf("职工工资管理系统功能选项:1:录入 2:修改 3:排序 4:查询 5:删除 6:修改 0:推出\n");
printf("请选择功能");
scanf("%d",&choice);
switch(choice){
case 1:
new_worker(worker);
break;
case 2:
alter_worker(worker);
break;
case 3:
sort_worker(worker);
break;
case 4:
query_worker(worker);
break;
case 5:
delete_worker(worker);
break;
case 6:
append_worker(worker);
break;
case 0: break;
}
}while(choice!=0);
printf("谢谢使用职工工资管理系统\n");
return 0;
}
void new_worker(struct worker_list worker[])
{
struct worker_list f;
if(count==100)
{
printf("职工已满!\n");
return;
}
printf("请输入新的工号:");
scanf("%d",&f.gh);
printf("请输入新职工姓名:");
scanf("%s",f.name);
printf("请基本工资:");
scanf("%d",&f.jbgz);
printf("请输入职务工资:");
scanf("%d",&f.zwgz);
printf("请输入岗位津贴:");
scanf("%d",&f.gwjt);
printf("请输入特殊津贴:");
scanf("%d",&f.tsjt);
worker[count]=f;
count++;
}
void alter_worker(struct worker_list worker[])
{
int i,j=-1,d,t;
char m[20];
printf("What's you want to Modify:");
printf("1.工号 2.姓名");
printf("Input your selection: ");
scanf("%d",&i);
if(i==1)
{
printf("Please input the name:");
scanf("%s",&m);
for(i=0;i<count;i++)
if(strcmp(m,s.name)==0)
j=i;
}
else if(i==2)
{printf("Please input the gh:");
scanf("%d",&d);
for(i=0;i<count;i++)
if(d==s.gh)
j=i;
}
if(j==-1)
printf("Not find!\n");
else { printf("what's your want to modiy?");
printf("1.工号 2.姓名");
printf("3.基本工资 4.职务工资");
printf("5.岗位津贴 6.特殊津贴");
printf("Input your selection: ");
scanf("%d",&t);
switch(t)
{
case 1:printf("change to:");scanf("%d",&s[j].gh);break;
case 2:printf("change to:");scanf("%s",s[j].name);break;
case 3:printf("change to:");scanf("%d",&s[j].jbgz);break;
case 4:printf("change to:");scanf("%d",&s[j].zwgz);break;
case 5:printf("change to:");scanf("%d",&s[j].gwjt);break;
case 6:printf("change to:");scanf("%d",&s[j].tsjt);break;
}
}
}
void sort_worker(struct worker_list worker[]);
{
int i,j,h;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(s.jbgz<s[j].jbgz)
{
h=s;
s=s[j];
s[j]=h;
}
}
void query_worker(struct worker_list worker[]);
{
int i,j[20]={-1},d,k,t=0;char m[20];
printf("What's you want to Query:");
printf("1.工号 2.姓名");
printf("Input your selection: ");
scanf("%d",&k);
if(k==1)
{
printf("Please input the name:");
scanf("%s",&m);
for(i=0;i<N;i++)
if(strcmp(m,s.name)==0)
{
j[t]=i;
t=t+1;
}
}
else if(k==2)
{
printf("Please input the gh:");
scanf("%d",&d);
for(i=0;i<N;i++)
if(d==s.gh)
{
j[t]=i;
t++;
}
}
if(j[0]==-1&&t==0)
printf("Not find!\n");
if(j[0]!=-1&&t!=0)
printf("工号 姓名 基本工资 职务工资 岗位津贴 特殊津贴\n");
printf("%-9d %-10s%-10d%-10d%-10d%-10d%-10d",s[j].gh,s[j].name,s[j].jbgz,s[j].zwgz,s[j].gwjt,s[j].yfgz,s[j].tsgz);
}
}
void delete_worker(struct worker_list worker[]);
{
int i,j=-1,d;char m[20];
printf("What's you want to Delete:");
printf("1.工号 2.姓名");
printf("Input your selection: ");
scanf("%d",&i);
if(i==1)
{
printf("Please input the name:");
scanf("%s",&m);
for(i=0;i<N;i++)
if(strcmp(m,s.name)==0)
j=i;
}
else if(i==2)
{
printf("Please input the gh:");
scanf("%d",&d);
for(i=0;i<N;i++)
if(d==s.gh)
j=i;
}
if(j!=-1)
{
N=N-1;
for(i=j;i<=N&&j!=-1;i++)
s=s[i+1];
}
else if(j==-1)
printf("Not find!\n");
}
void append_worker(struct worker_list worker[]);
{
int n,i;
printf("How many people you want to add:");
scanf("%d",&n);N=n+N;
printf("Now,please add them:\n");
for(i=1;i<=n;i++)
{
printf("工号:");
scanf("%d",&s[N-n-1+i].gh);
printf("姓名:");
scanf("%s",s[N-n-1+i].name);
printf("基本工资:");
scanf("%d",&s[N-n-1+i].jbgz);
printf("职务工资:");
scanf("%d",&s[N-n-1+i].zwgz);
printf("岗位津贴:");
scanf("%d",&s[N-n-1+i].gwjt);
printf("特殊津贴:");
scanf("%d",&s[N-n-1+i].tsjt);
}
}