2301_77502602 2024-03-05 20:21 采纳率: 71.4%
浏览 12
已结题

无法打开源文件 "xy_setting.h"怎么办


#include<cstdio>
#include<iostream>
#include<stdlib.h>
#include<cstring>
#include"xy_setting.h"

using namespace std;

int number=0,n=0,flag=0;
void msgbox()
{
    printf("===============================\n");
    printf("= 参赛人数:%d                 =\n",number);
    printf("= 有效投票数:%d               =\n",n);
    printf("= 基本操作:                  =\n");
    if(flag==0)
        printf("= 开始投票:----S             =\n");
    else
        printf("= 已投票,是否补投----Y       =\n");
    printf("= 投票情况(编号排序)----A    =\n");
    printf("= Ranking ----R               =\n");
    printf("= 退出系统 ----E              =\n");
    printf("===============================\n");
}
class player
{
public:
    int num;
    char name[30];
    int score;
    int ranking;
};

class ope
{
public:
    void init(player *a,int number);
    void output_info(player *a,int number);
    void outcome(player *a,int number);
    void voting(player *a,int number);
    void shell_insert(player *a,int n,int dk);
    void shell_sort(player *a,int n,int t);
    void sort_outcome(player *a,int number);
};

void ope::shell_insert(player *a,int n,int dk)
{
    for(int i=dk+1;i<=n;i++)
    {
        int j;
        if(a[i].score>a[i-dk].score)
        {
            strcpy(a[0].name,a[i].name);
            a[0].score=a[i].score;
            a[0].num=a[i].num;
            for(j=i-dk;j&&a[j].score<a[0].score;j-=dk)
            {
                strcpy(a[j+dk].name,a[j].name);
                a[j+dk].score=a[j].score;
                a[j+dk].num=a[j].num;
            }
            strcpy(a[j+dk].name,a[0].name);
            a[j+dk].score=a[0].score;
            a[j+dk].num=a[0].num;
        }
    }
}
void ope::shell_sort(player *a,int n,int t)
{
    int i;
    for(;t>=1;t/=2)
    {
        ope::shell_insert(a,n,t);
        for(i=1;i<=n;i++)
            a[i].ranking=i;
        for(i=1;i<n;i++)
            if(a[i+1].score==a[i].score)
                a[i+1].ranking=a[i].ranking;
    }
}
void ope::output_info(player *a,int number)
{
    cout<<"\n输出选手信息:\n编号  姓名\n";
    for(int i=1;i<=number;i++)
    {
        printf(" %d    %s\n",a[i].num,a[i].name);
    }
}
void ope::init(player *a,int number)
{
    int i=1;
    cur_sys();
    cout<<endl<<"输入选手姓名:"<<endl;
    while(i<=number)
    {
        cin>>a[i].name;
        a[i].num=i;
        a[i].score=a[i].ranking=0;
        i++;
    }
    ope::output_info(a,number);
    cout<<endl<<"初始化成功!!!"<<endl;
}

void ope::outcome(player *a,int number)
{
    cout<<"输出选手得票情况(未排序):\n";
    for(int i=1;i<=number;i++)
    {
        printf("选手00%d得票数为%d;\n",a[i].num,a[i].score);
    }
}

void ope::sort_outcome(player *a,int number)
{
    cout<<"\n排名:已排序"<<endl;
    ope::shell_sort(a,number,number);
    for(int i=1;i<=number;i++)
    {
        {
        printf("第%d名为00%d号选手%s,得票数为%d;\n",
               a[i].ranking,a[i].num,a[i].name,a[i].score);
        }
    }
}
void ope::voting(player *a,int number)
{
    if(flag==0)
        cout<<"\n输入选手编号进行投票,按0结束。\n";
    else
        cout<<"\n补投开始:输入选手编号,按0结束。\n";
    flag=1;
    int vote;
    while(scanf("%d",&vote)&&vote)
    {
        if(vote>0&&vote<=number)
        {
            a[vote].score++;
            n++;
            cur_sys();
            cout<<"请继续,按0结束"<<endl;
        }
        else if(vote==0)break;
        else
        {
            cur_sys();
            cout<<"请继续,按0结束"<<endl;
            continue;
        }
    }
    cout<<"投票成功!"<<endl;
}

int main()
{
    char a;
    player *p=NULL;
    ope dol;
    msgbox();
    cout<<"未初始化无法操作\n请输入总人数:";
    while(cin>>number)
    {
        if(number>0)
            break;
        else cout<<"输入错误,重新输入"<<endl;
    }
    p=(player *)malloc(sizeof(player)*number);
    dol.init(p,number);
    system("pause");
    cur_sys();
    cout<<"输入操作\n-";
    while(cin>>a)
    {
        switch(a)
        {
            case 'A':dol.outcome(p,number);cur_sys2();cout<<"输入操作\n-";break;
            case 'S':dol.voting(p,number);cur_sys2();cout<<"输入操作\n-";break;
            case 'Y':dol.voting(p,number);cur_sys2();cout<<"输入操作\n-";break;
            case 'R':dol.sort_outcome(p,number);cur_sys2();cout<<"输入操作\n:";break;
            case 'E':exit(0);break;
            default: continue;
        }
    }
    cout<<"谢谢使用!!!";
}

无法打开源文件 "xy_setting.h"怎么办

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-03-05 20:21
    关注

    2301_77502602 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    问题:无法打开源文件 "xy_setting.h"怎么办?

    解决方案:

    1. 检查文件路径是否正确:首先,确保文件 "xy_setting.h" 的路径是正确的,并且与当前程序文件在同一目录下。如果文件不在当前目录下,请将其复制到正确的位置。

    2. 检查文件名的大小写:在不同操作系统中,文件名的大小写是不同的。请确保文件名的大小写与源代码中的引入语句的大小写完全匹配。

    3. 检查文件是否存在:在文件路径中手动检查该文件是否存在。也可以使用文件资源管理器或终端命令来确认文件是否存在。

    4. 检查文件扩展名:确保文件扩展名为 ".h",并且没有其他额外的字符。

    5. 重新编译项目:如果以上步骤都没有解决问题,那么尝试重新编译整个项目,以确保所有文件都正确地链接在一起。

    6. 检查编译器设置:有时,编译器的设置可能会导致它无法找到所需的文件。请确保你正确设置了编译器的包含路径,以便它可以找到所需的文件。

    修改后的代码:

    #include<cstdio>
    #include<iostream>
    #include<stdlib.h>
    #include<cstring>
    
    using namespace std;
    
    int number=0,n=0,flag=0;
    void msgbox() {
        // 省略部分代码
    }
    
    // 以下省略部分代码
    

    请注意,上述修改的代码中已经删除了 #include "xy_setting.h",因为无法打开该文件。如果你需要使用该文件中的内容,请根据你的需求重新编写或找到正确的文件。

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

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 创建了问题 3月5日