【发布时间】:2014-10-31 00:56:57
【问题描述】:
这个程序的目标是有一个随机数生成器,我可以通过一个函数在主程序中使用它。然后来自随机数生成器的值将触发一个动作。这有 if 语句检查来自生成器的值。我遇到的问题是两个字符串,“数字 1 - 5”和“数字 6 - 10”出现,而不是 if 语句仅触发它们所期望的内容,这只会使其中一个字符串出现。
#include <iostream>
#include <string>
#include <chrono>
void main()
{
void RanNum1to10();
int RanNum;
int x;
std::cin >> x;
if (x == 2)
{
std::cout << "X = 2" << std::endl << std::endl;
RanNum1to10();
if (RanNum = 1||2||3||4||5)
{
std::cout << "Number 1 - 5" << std::endl;
}
if (RanNum = 6||7||8||9||10)
{
std::cout << "Number 6 - 10" << std::endl;
}
}
system("pause");
}
void RanNum1to10()
{
(time(0));
int RanNum;
int x = 1+(rand() % 9 + 1);
switch(x)
{
case 1:
RanNum = 1;
case 2:
RanNum = 2;
case 3:
RanNum = 3;
case 4:
RanNum = 4;
case 5:
RanNum = 5;
case 6:
RanNum = 6;
case 7:
RanNum = 7;
case 8:
RanNum = 8;
case 9:
RanNum = 9;
default:
RanNum = 10;
}
}
谢谢。
【问题讨论】:
-
您真的需要获得good book 并再次学习基础知识。
-
在回答后不要编辑问题以使代码正确。这会让以后的读者感到困惑