为什么这个运行起来是无法打开啊!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define X 500
#define Y 500
#define N 396 //通过用宏定义表示行业个数
struct employ_data //运用结构体方便后面使用数据
{
char name[X];
int people;
}a[Y];
int read()//从文件中读入
{
FILE *fp;
int i;
if((fp=fopen("C:\\Users\\zx\\Documents\\Tencent Files\\2519139815\\FileRe\\cvemploy-data.txt","r"))==NULL)//判断文件能否打开
{
printf("无法打开 \n");
exit(0);
}
for(i=1;i<=N;i++) //用循环进行录入
{
fscanf(fp,"%s %d\n",a[i].name,&a[i].people);
}
fclose(fp);
}
int order() //将其中数据进行降序排序
{
int i,j;
struct employ_data sum;
for(i=1;i<=N;i++) //双重循环将大数放前小数放后
for(j=i+1;j<=N;j++)
{
if(a[i].people<=a[j].people)
{
sum=a[i];
a[i]=a[j];
a[j]=sum;
}
}
printf("排名**** 行业名**********人数\n");
for(i=1;i<=N;i++) //将排序后的数据显示出
{
printf("%d.%s-----%d\n",i,a[i].name,a[i].people);
}
}
int write() //将排序后的数据写入新文件employ-sort
{
FILE *fp;
int i;
if((fp=fopen("C:\\Users\\zx\\Documents\\Tencent Files\\2519139815\\FileRe\\cvemploy-data.txt","wb"))==NULL) //新建文件并将数据写入
{
exit(0);
}
for(i=1;i<=N;i++)
{
fprintf(fp,"%s %d\n",a[i].name,a[i].people);
}
fclose(fp);
}
int find(char s[X]) //查询行业
{
int i,m;
for(i=1;i<=N;i++)
{
if(strcmp(a[i].name,s)==0) //运用strcmp函数将两个字符串比较,相同为0 ,执行下一步
{
m=1;
printf("您查询的人数为:%d\n",a[i].people);
}
}
if(m!=1)
printf("当前查询不成功!\n");
}
void main() //完善主函数
{
int i=1;
char s[X];
printf("行业就业人数排行如下:\n");
read();
order();
write();
printf("请输入您想查询的行业:");
while(i!=0) //while循环反复送入select函数进行选择
{
gets(s);
find(s);
printf("请继续输入,退出请按0:\n");
scanf("%d",&i);
if(i==0)
{
printf("感谢您的使用\n");
}
}
}