我正在尝试使用 C++ 构建一个骰子程序,它没有显示我的 return
I'm trying to build a dice program using C++ it isn't displaying my return
代码正在打印问候语和除号码以外的所有消息。我需要查看我的随机数生成器正在生成什么。
#include <iostream>
#include <cstdlib>
#include <ctime>
void greeting(int pnum){
if(pnum == 1) {
std::cout << "Please press \"ENTER\" to roll the die";
}
else {
std::cout << "Please press \"ENTER\" to roll the die AGAIN";
}
std::cin.ignore();
}
int dieroll(void){
int ran;
srand(time(NULL));
ran = rand()%6+1;
std::cout << "You have rolled :" << std::endl;
return ran;
}
int main(void){
int counter, firstdie, ran;
char firststart;
do {
greeting(1);
firstdie = dieroll();
}
while (ran > 0);
{
return ran;
}
std::cin.ignore();
return 0;
}
我是初学者,所以我不确定从哪里开始解决问题。我正在研究制作局部变量。
主要是你这样做
while (ran > 0);
{
return ran;
}
首先你永远不会给 'ran' 一个值,所以它要么 > 0,在这种情况下你会以随机完成代码退出。或者 'ran' 是 <= 0,在这种情况下,您以值 0 退出。
不清楚你想在这里做什么,但无论哪种方式你的程序都会立即终止
明确一点,main 中的 return
会导致您的程序立即停止
那么这里
int dieroll(void){
int ran;
srand(time(NULL));
ran = rand()%6+1;
std::cout << "You have rolled :" << std::endl;
return ran;
}
你打算打印'ran'但实际上没有,你需要
std::cout << "You have rolled :" << ran << std::endl;
不知大家是否认为这里的'ran'和main中的'ran'是一样的,其实不然,它们之间没有关系
代码正在打印问候语和除号码以外的所有消息。我需要查看我的随机数生成器正在生成什么。
#include <iostream>
#include <cstdlib>
#include <ctime>
void greeting(int pnum){
if(pnum == 1) {
std::cout << "Please press \"ENTER\" to roll the die";
}
else {
std::cout << "Please press \"ENTER\" to roll the die AGAIN";
}
std::cin.ignore();
}
int dieroll(void){
int ran;
srand(time(NULL));
ran = rand()%6+1;
std::cout << "You have rolled :" << std::endl;
return ran;
}
int main(void){
int counter, firstdie, ran;
char firststart;
do {
greeting(1);
firstdie = dieroll();
}
while (ran > 0);
{
return ran;
}
std::cin.ignore();
return 0;
}
我是初学者,所以我不确定从哪里开始解决问题。我正在研究制作局部变量。
主要是你这样做
while (ran > 0);
{
return ran;
}
首先你永远不会给 'ran' 一个值,所以它要么 > 0,在这种情况下你会以随机完成代码退出。或者 'ran' 是 <= 0,在这种情况下,您以值 0 退出。
不清楚你想在这里做什么,但无论哪种方式你的程序都会立即终止
明确一点,main 中的 return
会导致您的程序立即停止
那么这里
int dieroll(void){
int ran;
srand(time(NULL));
ran = rand()%6+1;
std::cout << "You have rolled :" << std::endl;
return ran;
}
你打算打印'ran'但实际上没有,你需要
std::cout << "You have rolled :" << ran << std::endl;
不知大家是否认为这里的'ran'和main中的'ran'是一样的,其实不然,它们之间没有关系