嗨,我正在为我的c ++课程中的最后一个刽子手项目工作.我已经完成了大部分工作,但我想做到这一点,所以玩家可以选择在单人模式下对抗电脑对手.我尝试做类似97 + rand()%123之类的东西,然后将数字转换为字符,但我一直在变得怪异的字符,比如颠倒了我检查一下,看看我是否遗漏了一些东西,但我有正确的指令,我加入了一个srand .我所做的简化版看起来像这样
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
char cch;
char ch;
unsigned seed= time(0)
srand(seed)
cch=97rand()%123;
ch=cch;
cout<<"computer chose "<< ch<<endl;
}
Run Code Online (Sandbox Code Playgroud)
请注意,我没有包括我的项目的所有内容
在我的项目中,我使用带有对象双端队列的 stl 库。程序应该删除某些满足条件的对象变量,但是每次元素满足要删除的要求时,程序都必须中止。这是我程序的简化版本
int main(){
deque<Cars> card;
deque<Cars> iterator::iter
int count=0;
Cars car(14,15);
card.push_front(car);
Cars car(12,45);
card.push_front(car);
Cars car(15,60);
card.push_front(car);
Cars car(20,45)
card.push_front(car);
for(iter=card.begin();iter!=card.end();iter++){
if(iter->getnum2()==60){
card.erase(card.begin()+count);
}
count=count+1;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
请注意, 我必须在这个例子中使用一个双端队列,在这个例子中,我让 iter get 的 getnum2 适用于我制作的每个汽车对象的第二个数字。