C语言程序设计啊??帮帮我~~急求~

2024-11-24 23:18:41
推荐回答(6个)
回答1:

vc 6.0运行通过
另:楼上的是这题的答案吗? 结构体定义的数据项明显与题意不符、

#include
#include
#include

struct node
{
int exist;
int id;
char name[30];
int base_pay;
int bonus;
int sum_wage;
}staff[100];

int n=0;

void input()
{
printf("请输入职工信息(编号 0 结束)\n");
while(1)
{
printf("请输入编号\n");
scanf("%d"亩厅带,&staff[n].id);
if(staff[n].id==0) break;
printf("请输入姓名\n");
scanf("%s",staff[n].name);
printf("请输入基本工资\n");
scanf("%d",&staff[n].base_pay);
printf("请输入奖金\n");
scanf("%d",&staff[n].bonus);
staff[n].sum_wage=staff[n].base_pay+staff[n].bonus;
staff[n].exist=1;
n++;
}
printf("职工信息录用完毕\n");
}

void output()
{
int i;
printf("编迅芦号\t姓名\t基本工资\t奖金\t工资总额\n");
for(i=0;i {
if(staff[i].exist==1)
{
printf("%d\t",staff[i].id);
printf("%s\t",staff[i].name);
printf("%d\t\t",staff[i].base_pay);
printf("%d\t",staff[i].bonus);
printf("%d\t",staff[i].sum_wage);
printf("\n");
}
}
}

void search()
{
int i,id,flag=0;
printf("请输入要查询的职工编号:\n");
scanf("%d",&id);
printf("编号\t姓名\t基本工资\t奖金\t工资总额\n");
for(i=0;i {
if(staff[i].exist==1 && staff[i].id==id)
{
printf("%d\t",staff[i].id);
printf("%s\t",staff[i].name);
printf("%d\t\t",staff[i].base_pay);
printf("%d\t",staff[i].bonus);
printf("%d\t",staff[i].sum_wage);
printf("\n");
flag=1;
break;
}
}
if(flag==0) printf("没有该编号的员工.\n");
}

void insert()
{
printf("请输入要增加职工的信息\n");
printf("请输入编号伏配\n");
scanf("%d",&staff[n].id);
printf("请输入姓名\n");
scanf("%s",staff[n].name);
printf("请输入基本工资\n");
scanf("%d",&staff[n].base_pay);
printf("请输入奖金\n");
scanf("%d",&staff[n].bonus);
staff[n].sum_wage=staff[n].base_pay+staff[n].bonus;
staff[n].exist=1;
n++;
printf("该职工成功增加!\n");
}

void delet()
{
int i,id,flag=0;
printf("请输入要删除职工记录的编号:\n");
scanf("%d",&id);
for(i=0;i {
if(staff[i].id==id)
{
staff[i].exist=0;
flag=1;
}
}
if(flag==1)
printf("该职工已成功删除!\n");
else
printf("该职工不存在或已删除!\n");
}

void sort()
{
int i,j;
node temp;
for(i=0;i {
for(j=i+1;j {
if(staff[i].sum_wage < staff[j].sum_wage)
{
temp=staff[i];
staff[i]=staff[j];
staff[j]=temp;
}
}
}
printf("排序完毕!\n");
}

void modify()
{
int i,id,flag=0,mode;
printf("请输入要修改职工记录的编号:\n");
scanf("%d",&id);
for(i=0;i {
if(staff[i].id==id && staff[i].exist==1)
{
flag=1;
printf("请输入要修改的选项:\n");
printf("1.编号\t2.姓名\t3.基本工资\t3.奖金\n");
printf("请选择:\n");
scanf("%d",&mode);
switch(mode)
{
case 1:printf("请输入修改后的编号:\n");
scanf("%d",staff[i].id);
break;
case 2:printf("请输入修改后的姓名:\n");
scanf("%s",staff[i].name);
break;
case 3:printf("请输入修改后的基本工资:\n");
scanf("%d",staff[i].base_pay);
break;
case 4:printf("请输入修改后的奖金:\n");
scanf("%d",staff[i].bonus);
break;
}
}
}
if(flag==1)
printf("该职工已修改成功!\n");
else
printf("该职工不存在!\n");
}

void main()
{
int chos;
while(1)
{
printf("********************************\n");
printf("1.输入职工信息\n");
printf("2.输出职工信息\n");
printf("3.查询\n");
printf("4.修改\n");
printf("5.插入\n");
printf("6.删除\n");
printf("7.排序\n");
printf("0.退出\n");
printf("请选择\n");
printf("********************************\n");
scanf("%d",&chos);
switch(chos)
{
case 1:
input();
break;
case 2:
output();
break;
case 3:
search();
break;
case 4:
modify();
break;
case 5:
insert();
break;
case 6:
delet();
break;
case 7:
sort();
break;
case 0:
exit(0);
}
}
}

回答2:

程序员真的不值钱了,呵呵

回答3:

也不说明白这是做个控制台的呢还是要做视窗的……

回答4:

懒得搞,没意思

回答5:

看来是没有人愿意做 了,本人有心无力
刚学没有多久
看着就把分给我吧
分州蔽拦太少了
分册胡数丢了并毁也就丢了
谢谢

回答6:

delphi做可以吗?