所以我正在做一些初学者挑战,想要修改我的代码,这就是我先做的。
#include <iostream>
#include <stdlib.h>
#include <time.h>
int random;
int guess;
int num_guess = 1;
int main(){
srand(time(NULL));
random = rand() % 100 + 1;
std::cout << "Try to guess my number between 1 and 100." << std::endl;
std::cin >> guess;
while(guess > random){
std::cout << "Sorry too high but i'll give you another try." << std::endl;
std::cin >> guess;
num_guess += 1;
}
while(guess < random){
std::cout << "Sorry too low but i'll give you another try." << std::endl;
std::cin >> guess;
num_guess += 1;
}
if(guess = random){
std::cout << "WOW! Congratulations you actually got it, you did use " << num_guess << " tries tho." << std::endl;
}
return(0);
}
应该生成1到100之间的随机数,然后猜猜它是什么数字。但后来我将这个代码复制到同一个项目下的另一个文件中,因为我在学校这样做,所以我想要我的代码的所有不同版本用于纪录。但是当我开始编写新代码时,程序应该猜测一个数字,你给它1到100之间。
#include <iostream>
#include <stdlib.h>
#include <time.h>
int number;
int guess = 100;
int num_guess = 1;
int main(){
std::cout << "Please enter any number between 1 and 100" << std::endl;
std::cin >> number;
if(number > 100 && number < 1){
std::cout << "Enter a valid number" << std::endl;
std::cin >> number;
}
srand(time(NULL));
guess = rand() % guess + 1;
return(0);
}
我删除了main.cpp中的旧代码并写了这个代码,但是当我尝试运行它时,我收到了以下错误消息:
答案 0 :(得分:0)
猜猜你没有从项目中排除旧文件。在这种情况下,链接器会遇到两个main
函数,并且不知道要使用什么。可能的解决方法:
使用条件编译:
#ifdef OLD_VER
// main1
...
#else
// main2
...
#endif
不建议长期使用前3种方法。最后一个是一个好点(我认为最好的一点),但它可能需要基本的VCS学习。