一只眠羊a 2021-12-23 16:02 采纳率: 100%
浏览 28
已结题

C语言就业数据大调查

为什么这个运行起来是无法打开啊!

#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");

               }

         }

}

  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-12-23 16:07
    关注

    无法打开是指窗口不显示么?
    printf("行业就业人数排行如下:\n");这个提示信息也没有?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘