C语言中无效间接运算在xiugai函数中 急,求帮忙!

[复制链接]
查看11 | 回复1 | 2010-12-23 09:23:34 | 显示全部楼层 |阅读模式
#define N 3
struct teacher
{char bh[10];/*职工编号*/
char xm[10];/*职工姓名*/
int gl;/*职工工龄*/
char zc[10];/*职工职称*/
char bm[16];/*职工部门*/
int gz;/*职工工资*/
}t[N];
static/*静态变量(全局变量)*/ int n=0;/*人数*/
void menu();/*主菜单*/
void luru();/*录入*/
void xianshi();/*显示*/
void xiugai();/*修改*/
void shanchu();/*删除*/
void chaxun();/*查询*/
void tongji();/*统计*/
void xingming();
void bianhao();
void zhicheng();
void gongling();
void bumen();
main()
{ int a;
do

{clrscr();/*清屏*/

menu();

printf("请选择(1-6,0退出):");

scanf("%d",&a);

switch(a)

{case 1:luru();break;

case 2:xianshi();break;

case 3:xiugai();break;

case 4:shanchu();break;

case 5:chaxun();break;

case 6:tongji();break;

case 0:break;

default:printf("输入错误,清再次选择");getch();

}
}while(a!=0);
getch();
}
void menu()
{printf("\t教师工资管理\n");
printf("\t1-录入\n");
printf("\t2-显示\n");
printf("\t3-修改\n");
printf("\t4-删除\n");
printf("\t5-查询\n");
printf("\t6-统计\n");
printf("\t0-退出\n");
}
void luru()
{int i,n1,number;
printf("请输入新教师的人数:");
scanf("%d",&number);
printf("输入新教师信息:\n");
printf("\n职工编号\t职工姓名\t工龄\t职称\t部门\t工资\n");
n1=n;
for(i=n1;i<number+n1;i++)
{scanf("%s%s%d%s%s%d",t.bh,t.xm,&t.gl,t.zc,t.bm,&t.gz);
n++;
} printf("按任意键继续");
getch();
}
void xianshi()
{int i;
printf("\n现有职工人数=%d\n",n);
printf("\n职工编号\t职工姓名\t工龄\t职称\t部门\t工资\n");
for(i=0;i<n;i++)
printf("%s\t%s\t%d\t%s\t%s\t%d\n",t.bh,t.xm,t.gl,t.zc,t.bm,t.gz);
printf("按任意键继续");
getch();
}
void xiugai()
{int t,i,x;
char st[10];
printf("教师信息查询\n");
printf("输入要修改或删除的教师编号:\n");
scanf("%s",st);
for(i=0;i<n;i++)
if(strcmp(st,t.bh)==0)
{printf("%s\t%s\t%d\t%s\t%s\t%d\n",t.bh,t.xm,t.gl,t.zc,t.bm,t.gz);
printf("\n");
t=i;}
printf("1.修改\n");
printf("2.删除\n");
printf("0.返回\n");
scanf("%d",&x);
if(x==1)
{printf("依次输入修改教师的姓名、职工编号、工龄、职称、所在部门和工资\n");
scanf("%s%s%d%s%s%d",t.bh,t.xm,&t.gl,t.zc,t.bm,&t.gz);
printf("\n按任意键继续");}
if(x==2)
{for(i=t;i<n;i++)
t=t[i+1];
n=n-1;}
if(x==0)
return;
getch();
}
本人在线等!谢谢了!

回复

使用道具 举报

千问 | 2010-12-23 09:23:34 | 显示全部楼层
void xiugai(){int t,i,x; char st[10];这里把你声明的这个 t 是一个整形,你下面用来作为结构名使用,不行了,因为在这个函数内部,与上面你声明的老师结构冲突了.所以你这这个函数声明的t 改成其它的变量名就可以了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行