qq_58230261 2021-06-28 21:33 采纳率: 100%
浏览 43
已采纳

刚学习,帮看一下哪里有错误改正

'syspes.h': No such file or directory哪里错误 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <syspes.h>
#include <sysat.h>
#define M 50
struct ll //定义结构体
{char xh[20];//工号
char name[20];//员工名字
int jbgz;//基本工资
int zwgz;//职务工资
int jt;//津贴
int ylbx;//医疗保险
int gjj;//公积金 
int sdf;//水电费
}SI[M];
int k;//表示已保存的数据条数
char title[100];

void menu()//菜单
{ printf("|1.查询员工信息|\n");
  printf("|2.计算员工工资|\n");
  printf("|3.修改员工信息|\n");
  printf("|4.添加员工信息|\n");
  printf("|5.删除员工信息|\n");
  printf("|6.    排序    |\n");
  printf("|7.    统计    |\n");
  printf("|8.  读取数据  |\n");
  printf("|9.显示所有信息|\n");
  printf("|10. 保存文件  |\n");
}

void find()//查找函数
{

int i,f=0,b=0,d=0;
printf("1.按姓名查询	2.按工号查询\n");
scanf("%d",&b);
if(b==1)
{   char c[20];
	printf("请输入姓名查询\n");
scanf("%s",c);
for(i=0;i<k;i++)
{
if (strcmp(SI[i].name,c)==0)//利用strcmp函数对比找出符合条件的数据
{
	printf("职工号	姓名	基本工资	职务工资	津贴	医疗保险	公积金	水电费\n");
printf("%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);
f++;
}
}if(f==0)
{printf("查无此人\n");
}

}
if(b==2)
{	char d[20];
	printf("请输入工号查询\n");
	scanf("%s",d);
	for(i=0;i<20;i++)
	{
		if (strcmp(SI[i].xh,d)==0)
		{
			printf("职工号	姓名	基本工资	职务工资	津贴	医疗保险	公积金	水电费\n");
	          printf("%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);
         f++;
	}
	}
		if(f==0)
{
			printf("查无此人\n");
}
	}
	printf("1.继续查询 2.返回主菜单\n");
	scanf("%d",&b);
	if(b==1)
	{find();

	}

}

void jsyggz()//计算函数,计算员工应付工资以及实付工资 并输出至工作台
{int i;
int yfgz;
int sfgz;
printf("职工号	姓名	基本工资	职务工资	津贴	医疗保险	公积金	水电费 应付工资 实付工资\n");
for(i=0;i<=k;i++)
{yfgz=SI[i].jbgz+SI[i].zwgz+SI[i].jt;
sfgz=yfgz-SI[i].gjj-SI[i].sdf-SI[i].ylbx;

printf("%s	%s	%d	%d	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf,yfgz,sfgz);
}

}



void preserve()//保存文件函数 更新数据 保存控制台现存的数据
{	int i;
	FILE *pre;
pre=fopen("JK0119.txt","w");
if(pre==NULL)
{
	printf("文件打开失败");
								}	
fprintf(pre,"职工号	姓名	基本工资	职务工资	津贴	医疗保险	公积金	水电费\n");
	for(i=0;i<k;i++)
			{

				fprintf(pre,"%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);

							}
				fclose(pre);
}
void change()//修改函数 修改员工信息
{
char xh[20];
char name[20];
int jbgz;
int zwgz;
int jt;
int ylbx;
int gjj;
int sdf;
int b,c,i,n,t;
printf("请输入要修改的员工工号\n");
scanf("%s",xh);
for(i=0;i<k;i++)
{
	if(strcmp(SI[i].xh,xh)==0)
	{
		printf("此人原始信息为:\n");
		printf("工号 姓名 基本工资 职务工资 津贴 医疗保险 公积金 水电费\n");
		printf("%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);
		printf("需要修改的选项1.工号 2.姓名 3.基本工资 4.职务工资 5.津贴 6.医疗保险 7.公积金 8.水电费 9.返回\n");
		printf("请选择:\n");
		scanf("%d",&c);
		switch(c)//利用Switch函数选择所修改的选项

			{
				case 1:printf("职工号修改为: ");

						scanf("%s",xh);

						strcpy(SI[i].xh,xh);

						break;

				case 2:printf("姓名修改为: ");

						scanf("%s",name);

						strcpy(SI[i].name,name);

						break;

				case 3:printf("基本工资修改为: ");

						scanf("%d",&jbgz);

						SI[i].jbgz=jbgz;

						break;

				case 4:printf("职务工资修改为: ");

						scanf("%d",&zwgz);

						SI[i].zwgz=zwgz;

						break;

				case 5:printf("津贴修改为: ");

						scanf("%d",&jt);

						SI[i].jt=jt;

						break;

				case 6:printf("医疗保险修改为: ");

						scanf("%d",&ylbx);
						SI[i].ylbx=ylbx;

						break;

				case 7:printf("公积金修改为: ");

						scanf("%d",&gjj);

						SI[i].gjj=gjj;

						break;

				case 8:printf("水电费修改为: ");

						scanf("%d",&sdf);

						SI[i].sdf=sdf;

						break;

}
	}
}
}
void add()//添加函数 添加员工数据至控制台
{
char str[20];
int i;
int y=0;
int a = 0;
int b = 0, c = 0, d = 0,e=0,g=0;
	FILE *fp;
fp=fopen("JK0119.txt","a+");
if(fp==NULL)
{
	printf("文件打开失败");
}	

	printf("请您输入您要建立的信息");
	printf("\n工号:");
	scanf("%s", str);
	for(i=0;i<k;i++)
	{
		if(strcmp(SI[i].xh,str)==0)
		{
		y=1;}
	}
		if(y==1)
		{printf("此人已存在\n");
		}
		if(y!=1)
		{
	strcpy(SI[i].xh,str);
	printf("\n姓名 :");
	scanf("%s", &str);
	strcpy(SI[i].name,str);
	printf("\n基本工资:");
	scanf("%d", &a);
	printf("\n职务工资:");
	scanf("%d", &b);
	printf("\n津贴:");
	scanf("%d", &c);
	printf("\n医疗保险:");
	scanf("%d", &d);
	printf("\n公积金:");
	scanf("%d", &e);
	printf("\n水电费:");
	scanf("%d", &g);
	SI[i].jbgz=a;
	SI[i].zwgz=b;
	SI[i].jt=c;
	SI[i].ylbx=d;
	SI[i].gjj=e;
	SI[i].sdf=g;
	fprintf(fp,"%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);
		fclose(fp);
	printf("添加成功\n");
	k++;
	printf("职工号	姓名	基本工资	职务工资	津贴	医疗保险	公积金	水电费\n");
for(i=0;i<k;i++)
{
	printf("%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);
}
		}
}
void del()//删除函数 以工号删除员工数据
{
int i=0,j,n,t,button;
char xh[20];
char name[20];
printf("按工号删除\n");
scanf("%s",xh);
for(button=1;button&&i<k;i++)
{
	if(strcmp(SI[i].xh,xh)==0)
{			printf("\n此人原始记录为:\n");
			printf("职工号	姓名	基本工资	职务工资	津贴	医疗保险	公积金	水电费\n");
			printf("%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);
					for(j=i;j<k-1;j++)
						{
							strcpy(SI[j].name,SI[j+1].name);
							strcpy(SI[j].xh,SI[j+1].xh);
							SI[j].jbgz=SI[j+1].jbgz;
							SI[j].zwgz=SI[j+1].zwgz;
							SI[j].jt=SI[j+1].jt;
							SI[j].ylbx=SI[j+1].ylbx;
							SI[j].gjj=SI[j+1].gjj;
							SI[j].sdf=SI[j+1].sdf;

											}
													}
															}
--k;
printf("删除成功\n");
																		}	


void show()//显示函数 在控制台显示已读取的数据
{
	int i;
printf("职工号	姓名	基本工资	职务工资	津贴	医疗保险	公积金	水电费\n");
for(i=0;i<k;i++)
{
	printf("%s	%s	%d	%d	%d	%d	%d	%d\n",SI[i].xh,SI[i].name,SI[i].jbgz,SI[i].zwgz,SI[i].jt,SI[i].ylbx,SI[i].gjj,SI[i].sdf);
}
}



void px()//排序函数 以基本工资降序排列
{int b = 0, i, j;
	struct ll x;
		printf("按基本工资降序\n");
		for (i = 0; i < k; i++)
		{
			for (j = i + 1; j < k; j++) 
			{
				if (SI[i].jbgz < SI[j].jbgz)
				{
					x = SI[j];
					SI[j] = SI[i];
					SI[i] = x;
			}
		}
		
}	printf("排序成功\n");
			printf("返回主菜单使用显示函数以查看\n");

}



void tj()//统计函数 统计基本工资以及职务工资平均值并输出至新建的文件JK0119A
{	int i;
	int sum=0;
	int suma=0;
	FILE *tj;
tj=fopen("JK0119A.txt","w");
if(tj==NULL)
{
	printf("文件打开失败");
								}	
fprintf(tj,"基本工资平均值  	职务工资平均值	\n");
for(i=0;i<k;i++)
	{
		sum+=SI[i].jbgz;
		suma+=SI[i].zwgz;

}		fprintf(tj,"%d	%d\n",sum/k,suma/k);

printf("基本工资平均值  	职务工资平均值	\n");
printf("%d	%d\n",       sum/k,    suma/k);
fclose(tj);
}
void Read()//读取函数 读取文件中的员工数据
{	int y=0;
	FILE *read;
read=fopen("JK0119.txt","r");
if(read==NULL)
{
	printf("文件打开失败");
}	
fgets(title,100,read);
while(!feof(read))
{
fscanf(read,"%s	%s	%d	%d	%d	%d	%d	%d\n",SI[y].xh,SI[y].name,&SI[y].jbgz,&SI[y].zwgz,&SI[y].jt,&SI[y].ylbx,&SI[y].gjj,&SI[y].sdf);
y++;
}
k=y;
printf("工资表提取成功\n");
fclose(read);
}



void main()//主函数
{

int i;
loop:menu();
printf("请输入所要执行的操作\n");
scanf("%d",&i);
switch(i)
{case 1:find();
goto loop;
case 2:jsyggz();
	goto loop;
case 3:change();
	goto loop;
case 4:add();
	goto loop;
case 5:del();
	goto loop;
case 6:px();
	goto loop;
case 7:tj();
	goto loop;
case 8:Read();
	goto loop;
case 9:show();
	goto loop;
case 10:preserve();
	goto loop;

}


}
  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-06-28 21:34
    关注

    搜索一下你电脑里有没有这个文件#include <syspes.h>

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀