Visual c++ 如何编译这个VC++;节目?

Visual c++ 如何编译这个VC++;节目?,visual-c++,josephus,Visual C++,Josephus,我对VC++很陌生。昨天,我的VC++讲师给了我们这个代码,并要求我们将其作为exe。我不知道从哪里开始和结束。如何将此单个文件转换为exe。在VisualStudio中粘贴此工作代码的方式和位置。如果我的问题听起来太愚蠢,对不起。但我是。请帮助我从这个文件中生成exe。顺便说一下,这是约瑟夫圆算法 Code : //////////////////Header file #include<iostream.h> template <class T> class ex

我对VC++很陌生。昨天,我的VC++讲师给了我们这个代码,并要求我们将其作为exe。我不知道从哪里开始和结束。如何将此单个文件转换为exe。在VisualStudio中粘贴此工作代码的方式和位置。如果我的问题听起来太愚蠢,对不起。但我是。请帮助我从这个文件中生成exe。顺便说一下,这是约瑟夫圆算法

Code :
//////////////////Header file

#include<iostream.h>
template <class T>
class ex
{
    private:
        struct node
        {
            T data;
            struct node *next;
        };
        struct node *head,*front,*rear;
    public:
        ex()
        {
            head=new node;
            head->next=NULL;
            front=rear=head;
        }
        void enqueue(T x);
        T dequeue();
        void print();
        void move_next();
};



//////////////////Implementation file
#include "ex.h"
template <class T>
void ex<T>::enqueue(T x)
{
    node *p;
    p=new node;
    p->data=x;
    if(head->next==NULL)
    {
        front=rear=p;
        head->next=p;
        p->next=p;
    }
    else
    {
        rear->next=p;
        p->next=front;
        rear=rear->next;
    }
}

template<class T>
T ex<T>::dequeue()
{
    node *t;
    T x;
    t=front;
    x=t->data;
    front=front->next;
    rear->next=front;
    delete(t);
    return x;
}

template<class T>
void ex<T>::print()
{
    node *p=front;
    do
    {
        cout<<p->data<<endl;
        p=p->next;
    }while(p!=rear->next);
}

template<class T>
void ex<T>::move_next()
{
    front=front->next;
    rear=rear->next;
}



/////////////////Application file
#include "ex.cpp"
void main()
{
    ex<int> e;
    int m,n,i,d;
    cout<<"Enter the number of people";
    cin>>n;
    cout<<"Enter the number of passes";
    cin>>m;
    for(i=1;i<=n;i++)
        e.enqueue(i);
    cout<<"The players are
";
    e.print();
    cout<<"Eliminated in order
";
    while(n>1)
    {
        for(i=1;i<=m;i++)
            e.move_next();
        d=e.dequeue();
        cout<<d<<endl;
        n--;
    }
    d=e.dequeue();
    cout<<"Winning player:  "<<d<<endl;
}
代码:
//////////////////头文件
#包括
模板
前级
{
私人:
结构节点
{
T数据;
结构节点*下一步;
};
结构节点*头部、*前部、*后部;
公众:
ex()
{
头=新节点;
head->next=NULL;
前=后=头部;
}
无效排队(tx);
T退出队列();
作废打印();
void move_next();
};
//////////////////实现文件
#包括“ex.h”
模板
void ex::排队(T x)
{
节点*p;
p=新节点;
p->data=x;
if(head->next==NULL)
{
前=后=p;
head->next=p;
p->next=p;
}
其他的
{
后->下一步=p;
p->next=前面;
后=后->下一步;
}
}
模板
T ex::dequeue()
{
节点*t;
tx;
t=前部;
x=t->数据;
前=前->下一步;
后->下一步=前;
删除(t);
返回x;
}
模板
void ex::print()
{
节点*p=前端;
做
{
coutnext;
后=后->下一步;
}
/////////////////应用程序文件
#包括“ex.cpp”
void main()
{
ex e;
int m,n,i,d;
coutn;
coutm;

对于(i=1;i要添加到Alex F.answer,您还需要创建一个ex.h文件和一个ex.cpp文件,并将它们各自的代码粘贴到其中

要添加到Alex F.answer,您还需要创建一个ex.h文件和一个ex.cpp文件,并将它们各自的代码粘贴到其中

制作第一个名为ex.h的文件

#include<iostream.h>
template <class T>
class ex
{
    private:
        struct node
        {
            T data;
            struct node *next;
        };
        struct node *head,*front,*rear;
    public:
        ex()
        {
            head=new node;
            head->next=NULL;
            front=rear=head;
        }
        void enqueue(T x);
        T dequeue();
        void print();
        void move_next();
};
#包括
模板
前级
{
私人:
结构节点
{
T数据;
结构节点*下一步;
};
结构节点*头部、*前部、*后部;
公众:
ex()
{
头=新节点;
head->next=NULL;
前=后=头部;
}
无效排队(tx);
T退出队列();
作废打印();
void move_next();
};
将第二个文件导入ex.cpp

#include "ex.h"
template <class T>
void ex<T>::enqueue(T x)
{
    node *p;
    p=new node;
    p->data=x;
    if(head->next==NULL)
    {
        front=rear=p;
        head->next=p;
        p->next=p;
    }
    else
    {
        rear->next=p;
        p->next=front;
        rear=rear->next;
    }
}

template<class T>
T ex<T>::dequeue()
{
    node *t;
    T x;
    t=front;
    x=t->data;
    front=front->next;
    rear->next=front;
    delete(t);
    return x;
}

template<class T>
void ex<T>::print()
{
    node *p=front;
    do
    {
        cout<<p->data<<endl;
        p=p->next;
    }while(p!=rear->next);
}

template<class T>
void ex<T>::move_next()
{
    front=front->next;
    rear=rear->next;
}
#包括“ex.h”
模板
void ex::排队(T x)
{
节点*p;
p=新节点;
p->data=x;
if(head->next==NULL)
{
前=后=p;
head->next=p;
p->next=p;
}
其他的
{
后->下一步=p;
p->next=前面;
后=后->下一步;
}
}
模板
T ex::dequeue()
{
节点*t;
tx;
t=前部;
x=t->数据;
前=前->下一步;
后->下一步=前;
删除(t);
返回x;
}
模板
void ex::print()
{
节点*p=前端;
做
{
coutnext;
后=后->下一步;
}
然后将第三个文件放入Main.cpp或其他文件中

#include "ex.cpp"
void main()
{
    ex<int> e;
    int m,n,i,d;
    cout<<"Enter the number of people";
    cin>>n;
    cout<<"Enter the number of passes";
    cin>>m;
    for(i=1;i<=n;i++)
        e.enqueue(i);
    cout<<"The players are
";
    e.print();
    cout<<"Eliminated in order
";
    while(n>1)
    {
        for(i=1;i<=m;i++)
            e.move_next();
        d=e.dequeue();
        cout<<d<<endl;
        n--;
    }
    d=e.dequeue();
    cout<<"Winning player:  "<<d<<endl;
}
#包括“ex.cpp”
void main()
{
ex e;
int m,n,i,d;
coutn;
coutm;

对于(i=1;i使第一个文件名为ex.h

#include<iostream.h>
template <class T>
class ex
{
    private:
        struct node
        {
            T data;
            struct node *next;
        };
        struct node *head,*front,*rear;
    public:
        ex()
        {
            head=new node;
            head->next=NULL;
            front=rear=head;
        }
        void enqueue(T x);
        T dequeue();
        void print();
        void move_next();
};
#包括
模板
前级
{
私人:
结构节点
{
T数据;
结构节点*下一步;
};
结构节点*头部、*前部、*后部;
公众:
ex()
{
头=新节点;
head->next=NULL;
前=后=头部;
}
无效排队(tx);
T退出队列();
作废打印();
void move_next();
};
将第二个文件导入ex.cpp

#include "ex.h"
template <class T>
void ex<T>::enqueue(T x)
{
    node *p;
    p=new node;
    p->data=x;
    if(head->next==NULL)
    {
        front=rear=p;
        head->next=p;
        p->next=p;
    }
    else
    {
        rear->next=p;
        p->next=front;
        rear=rear->next;
    }
}

template<class T>
T ex<T>::dequeue()
{
    node *t;
    T x;
    t=front;
    x=t->data;
    front=front->next;
    rear->next=front;
    delete(t);
    return x;
}

template<class T>
void ex<T>::print()
{
    node *p=front;
    do
    {
        cout<<p->data<<endl;
        p=p->next;
    }while(p!=rear->next);
}

template<class T>
void ex<T>::move_next()
{
    front=front->next;
    rear=rear->next;
}
#包括“ex.h”
模板
void ex::排队(T x)
{
节点*p;
p=新节点;
p->data=x;
if(head->next==NULL)
{
前=后=p;
head->next=p;
p->next=p;
}
其他的
{
后->下一步=p;
p->next=前面;
后=后->下一步;
}
}
模板
T ex::dequeue()
{
节点*t;
tx;
t=前部;
x=t->数据;
前=前->下一步;
后->下一步=前;
删除(t);
返回x;
}
模板
void ex::print()
{
节点*p=前端;
做
{
coutnext;
后=后->下一步;
}
然后将第三个文件放入Main.cpp或其他文件中

#include "ex.cpp"
void main()
{
    ex<int> e;
    int m,n,i,d;
    cout<<"Enter the number of people";
    cin>>n;
    cout<<"Enter the number of passes";
    cin>>m;
    for(i=1;i<=n;i++)
        e.enqueue(i);
    cout<<"The players are
";
    e.print();
    cout<<"Eliminated in order
";
    while(n>1)
    {
        for(i=1;i<=m;i++)
            e.move_next();
        d=e.dequeue();
        cout<<d<<endl;
        n--;
    }
    d=e.dequeue();
    cout<<"Winning player:  "<<d<<endl;
}
#包括“ex.cpp”
void main()
{
ex e;
int m,n,i,d;
coutn;
coutm;
对于(i=1;i