双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

编译出错,速度求解!!!

blackzvik blackzvik 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <iostream>
#include <conio.h>
#include <stdlib.h>


using namespace std;
#define OK 1
#define OVERFLOW2 -1
#define ERROR 0
typedef int Status;
typedef int QElemType;
int boynum = 0,girlnum = 0,song_num=0;
class queue
{
public:
int InitQueue(struct SqQueue &,int);// 构造一个空循环队列Q
int EnQueue(struct SqQueue &,int,int);// 入队列,插入元素e为Q的新的队尾元素
int DeQueue(struct SqQueue &,int &,int);// 若队列不空,则删除Q的对头元素,用e返回其值,并返回1/,否则返回0
int bianhao(struct SqQueue &,struct SqQueue &);// 队列初始化及对男女生进行编号
int input(struct SqQueue &,struct SqQueue &);// 输入男女生人数及曲目数
int output(struct SqQueue &,struct SqQueue &);
int All_peidui(struct SqQueue &,struct SqQueue &);// 输出每曲配对情况
int K_peidui(struct SqQueue &,struct SqQueue &);// 对第K曲进行配对,并输出配对情况

};

struct SqQueue
{
QElemType *data;
int front;
int rear;
};
/*typedef struct /* 定义结点元素结构 */

int queue::InitQueue(SqQueue &Q,int num)
{
Q.data = (QElemType *)malloc((num+1)*sizeof(QElemType));
if(!Q.data)exit(OVERFLOW);
Q.front = Q.rear = 0;
return OK;
}

int queue::EnQueue (SqQueue &Q,QElemType e,int num)
// 入队列,插入元素e为Q的新的队尾元素
{
if((Q.rear+1)%(num+1) == Q.front)
return ERROR; //队列满
Q.data[Q.rear] = e;
Q.rear = (Q.rear+1)%(num+1);
return OK;
}

int queue::DeQueue(SqQueue &Q,QElemType &e,int num)
// 若队列不空,则删除Q的对头元素,用e返回其值,并返回OK/,否则返回ERROR
{

if(Q.front==Q.rear)
return ERROR;
e=Q.data[Q.front];
Q.front=(Q.front+1)%(num+1);
return OK;
}

int queue::bianhao(SqQueue &boys,SqQueue &girls)
// 队列初始化及对男女生进行编号
{
int i;
InitQueue(boys,boynum);
for(i=1; i<=boynum; i++)
EnQueue(boys,i,boynum);
InitQueue(girls,girlnum);
for(i=1; i<=girlnum; i++)
EnQueue(girls,i,girlnum);
return OK;
}

int queue::input(SqQueue &boys,SqQueue &girls) // 输入男女生人数及曲目数
{
cout<<"请输入男生人数"<<endl;
cin>>boynum;
cout<<"请输入女生人数"<<endl;
cin>>girlnum;
cout<<"请输入曲目数"<<endl;
cin>>song_num;
return OK;
}

int queue::All_peidui(SqQueue &boys,SqQueue &girls) // 输出每曲配对情况
{
int min,k,j;
bianhao(boys,girls);
min = boynum>girlnum ? girlnum:boynum;
for (int i=1;i <= song_num; ++i)
{
cout<<"第"<<i<<"支舞曲配对情况为"<<endl;
if (min<5) k = min;
else k = 5;
for (j=0;j<k;j++)
cout<<" 男<->女 "<<endl;
for(j=1;j <= min;j++)
{
output(boys,girls);
if (j%5==0) printf("\n");
}
}
return OK;
}

int queue::K_peidui(SqQueue &boys,SqQueue &girls)
// 对第K曲进行配对,并输出配对情况
{
int min,max,t,i,p1,p2,k,a;
bianhao(boys,girls);
do
{
cout<<"\t请输入您想知道的配对情况的曲目编号:"<<endl;
cin>>k;
if(k>song_num)
cout<<"\t所选曲目超出曲目总数!\n"<<endl;
} while (k>song_num);
min = boynum>girlnum ? girlnum:boynum;
max = boynum>girlnum ? boynum:girlnum;
cout<<"第"<<k<<"曲配对情况如下\n"<<endl;
t=min*(k-1)%max;
if(boynum>girlnum)
for (i=1;i<=t;i++)
{
DeQueue(boys,p1,boynum);
EnQueue(boys,p1,boynum);
}
else
for (i=1;i<=t;i++)
{
DeQueue(girls,p2,girlnum);
EnQueue(girls,p2,girlnum);
}
if (min<5) a = min;
else a = 5;
for (i=0;i<a;i++)
cout<<" 男<->女 "<<endl;
for(i=1;i<=min;i++)
{
output(boys,girls);
if (i%5==0) printf("\n");
}// for
return OK;
}

int main()
{
int i;
system("title 学生搭配问题"); //标题
SqQueue boys,girls;
while(1){
cout<<"\n";
cout<<"\t ╔═════════════════════════╗\n"<<endl;
cout<<"\t ║ 学生搭配问题 ║\n"<<endl;
cout<<"\t ║ ║\n"<<endl;
cout<<"\t ║ 1.输入数据 ║\n"<<endl;
cout<<"\t ║ 2.输出每曲配对情况 ║\n"<<endl;
cout<<"\t ║ 3.求出第k曲的情况 ║\n"<<endl;
cout<<"\t ║ 4.退出 ║\n"<<endl;
cout<<"\t ╚═════════════════════════╝\n"<<endl;
cout<<"\t\t 男:%d人 女:%d人 曲目数:%d曲\n"<<boynum<<girlnum<<song_num;
queue a;
cin>>i;
if(i==1)
{
a.input(boys,girls);
system("cls");
//coutinue;
}
else if(i==2)
a.All_peidui(boys,girls);
else if(i==3)
a.K_peidui(boys,girls);
else
exit(0);
system("pause"); //任意键继续
system("cls"); //清屏
}// while
return 1;
}


1>a.obj : error LNK2019: 无法解析的外部符号 "public: int __thiscall queue::output(struct SqQueue &,struct SqQueue &)" (?output@queue@@QAEHAAUSqQueue@@0@Z),该符号在函数 "public: int __thiscall queue::All_peidui(struct SqQueue &,struct SqQueue &)" (?All_peidui@queue@@QAEHAAUSqQueue@@0@Z) 中被引用
1>d:\我的资料库\documents\visual studio 2010\Projects\aa\Debug\aa.exe : fatal error LNK1120: 1 个无法解析的外部命令
就这一个错误,什么意思??
...全文

相关推荐

为什么debug编译不出错,而release编译会出错

在 Debug 模式下,编译器会插入调试信息,以便于开发者调试程序;而在 Release 模式下,编译器会优化代码,删除调试信息,以提高程序的运行速度。

itremotedream

OpenFOAM二次开发教程(03):第一个求解器——从 icoFoam 骨架到能编译的 myFirstFoam

createFields.H —— myFirstFoam 的场定义放在求解器源码目录(与 myFirstFoam.C 同级),由后者 #include。IOobject"p", // 场名:对应算例 0/p 与 constant/ 下的边界类型定义runTime.timeName(), // 当前时间名(起始一般为 "0")mesh, // 依附的网格对象IOobject::MUST_READ, // 必须从磁盘读;缺文件直接报错,避免“静默用默认值”

kkchenjj

XCode编译速度慢的处理方法

在iOS开发过程中,开发者经常会遇到XCode编译速度慢的问题,这无疑会降低开发效率。本文将详细探讨三种有效的方法来提升XCode的编译速度。

weixin_38741891

Linux程序编译速度提高方法

由于内存访问速度远快于硬盘读写速度,因此将编译过程中的临时文件放在`tmpfs`中可以显著提高编译速度。**如何使用`tmpfs`?

fourwood_0328

关于提升android编译速度到半小时编译完成

本文主要探讨如何提升Android编译速度,针对Android大型代码库中存在的编译耗时问题提出两个有效的优化策略。首先,介绍移除`modules_to_check`的步骤,Android默认会编译所

小菜琳
评论 3
收藏 已收藏
分享
返回顶部
blackzvik
C++ 语言 65,214 成员 250,514 内容