嘿,我正在用C++做一个游戏。这是大学里的工作,简要说明不能使用头文件,游戏必须是基本的。问题是,在游戏结束后,它仍然要求做出选择。我试过破发,退场,但还是没有找到joy。程序将不会退出。有人能帮我吗?
下面是我的代码: Main
int main() // The main function is set to int.
// The return value has to be an integer value.
{
menuText();
while(menu) // Loop to revert back to menu whe
C++中的switch语句必须使用常量来编写,背后的原因是什么?
让我们看一下下面的代码:
switch(variable)
{
case 1:
case 2:
case 3:
case 4:
//Code 1
break;
case 5:
case 6:
case 7:
case 8:
//Code 2
break;
default:
//Code 3
break;
}
在其他语言中,例如PAWN (类似C的脚本语言),我
可能重复:
我将以c++为例,但我提出的问题并不是针对特定的语言。我是说总的来说。哪一种表现更好?这不是一个关于编程风格的问题。
当然,在某些情况下,开关语句可能比if语句更容易使用。但如果你想要最大限度的表现。比如,如果有数千行代码和超过10个可以被if语句替换的switch语句,那么哪个语句会带来更好的性能?
示例:
if(x == 6){
do this
}
if(x == 67){
do this * 2
}
if(x == 9000){
do this * 3
}
对
//Please forgive me if the syntax for the switch st
在C++的switch语句中,我相信您可以在switch中使用int或char。出于我的目的,我想使用char。我想使用的字符是字符串中的字符。下面是我的函数:
#include <string>
using namespace std;
...
int calindex(string* seq)
{
int index = 0;
for(int i=0;i<seq.length();i++)
{
switch(seq[i])
{
...
}
}
return index; // index is
我是一个C++学习者,我正在尝试编写一个基本的C++项目。这是一个基本的自动化系统。它有一个导航菜单。
Choose an option :
1 ) Add a new customer
2 ) List all customers
...
将有一个nav变量,它包含用户的选择。这是我的源代码:
#include <stdio.h>
#include <clocale>
int nav;
void main()
{
setlocale(LC_ALL,"turkish");
navigasyon();
我想从switch语句的中间跳到以下代码中的循环语句:
while (something = get_something())
{
switch (something)
{
case A:
case B:
break;
default:
// get another something and try again
continue;
}
// do something for a handled something
do_something();
}
这是使用continue的有效方
最近(昨天)我开始学习C++。我正试着做一个简单的计算器来练习。我使用了一个开关语句来调用正确的方法(或者它是函数。不知道c++的细微差别.)在班级内;
但是,代码将不会编译,因为我使用一个字符串来定义要使用的大小写,并定义多个类以获得相同的结果。
下面是switch语句(在添加其他bug之前,我只对任何bug进行了添加):
switch(input){
case 'A': case 'a': case 'add': case 'Add':
cout << bo.addNum()
我编写了一个简单的函数,如下所示,但它不像预期的那样工作,在C++中,if语句在开关块中不工作?
void any2ten(string origin, int type)
{
if(! (type == 2 || type == 8 || type == 16))
{
cout << "unsupport this " << endl;
return;
}
int result = 0;
for (int index = 0; index < origin.length()
当我使用while循环和switch语句时,我的main中出现了一些错误。我已经检查了花括号,但我找不到打字错误。有人能看到问题所在吗?
bool menu = true;
while(menu)// Loop to revert back to menu when choice is not compatable with options.
{
int selection;
cout<< "Choice: ";
cin>> selection;
switch(selection)
关于下面C++代码中的switch/case语句:"Case 1“显然是假的,那么它是如何/为什么进入do-while循环的呢?
#include <iostream>
using namespace std;
int main() {
int test = 4;
switch(test) {
case 1: do {
case 2: test++;
case 3: test++;
case 4: cout << "How did I get
对于c和c++相同的程序,当我们使用常量整数变量作为case标签时,它只在c++中有效,而在c中不有效,当我们使用常量整数数组成员作为case标签时,它对c和c++都无效。这种行为的主要原因是什么?
//for c
#include <stdio.h>
int main()
{
const int a=90;
switch(90)
{
case a://error : case label does not reduce to an integer constant
printf("error");
b
我最近参加了一场关于代码语法格式化的辩论,希望得到更广泛的JavaScript社区的意见。对于复杂的条件树,我个人更喜欢这种switch/case结构,但其他开发人员似乎不喜欢它。下面我将发布我首选的switch/case结构和if/else等效项。
而不是争论偏好,为什么这个开关/案例代码是可接受的或不可接受的,以及具体的原因?如果其他选择更好,为什么?
// My preferred switch/case block
switch (true) {
case testA() : return 'A';
case testB() || t
当我试图计算SelectedIndex的CheckBoxList和at bool时。在C#中的开关语句中,我收到了一个关于这个情况的错误。错误是Constant value '0' cannot be converted to a 'bool'。是否有一种方法可以在开关语句中对两者进行评估?我知道我可以使用if语句,但如果可以的话,我宁愿使用switch语句。
这是我的代码:
switch ((CBL_PO.SelectedIndex == 0) && (boolIsNotValid == true))
{
我希望我的程序尽可能的可移植。我在字符串中搜索重音字符,例如è。这会是一个问题吗?是否存在与C++实体等效的HTML语言?
它将在switch语句中使用,例如:
switch(someChar) //someChar is of type char
{
case 'é' :
x = 1;
break;
case 'è' :
...
}
有一个基类Product,它具有产品应该具有的所有泛型属性和方法。
abstract class Product
{
public abstract function process();
}
现在,这些是少数几种产品,可能有,也可能没有类似的逻辑。
class Shirt extends Product
{
public function process()
{
return 0;
}
}
class Trouser extends Product
{
public function process()
{
我正在寻找一种方法来重构和简化一个函数,根据输入类类型进行数据排序,然后被困在switch(input.GetType()):中。
快速搜索帮助我找到了,并链接到
我读过这些文档,但我不明白这种情况令人困惑的理由。
从该条中:
不幸的是,与许多“简单”语言特性一样,类型切换并不像最初出现的那样简单。当你看到一个更重要、同样重要的例子时,麻烦就开始了,比如:
class C {}
interface I {}
class D : C, I {}
switch typeof(e) {
case C: ... break;
case I: ... break;
default: ... brea
实际上,这不是一个问题..
我偶尔会发现,在switch/case块中声明局部变量有一种有趣的方法。您可以这样写,而不是在每个case块中使用大括号:
switch (action) {
int res;
int value;
case ACTION_OPEN:
res = open(...);
...
break;
case ...
}
所以,我想知道除了gcc之外,还有哪些C/C++编译器支持这种构造?这看起来像是常见的失败。欢迎对此结构的任何意见!
我正在编写一个C++程序,它会提示用户输入,然后跟踪输入的次数。我目前使用的是do-while循环和switch语句。我遇到麻烦的部分是switch语句。我不知道如何跟踪输入了多少次。例如:
Enter Value: 4
Enter Value: 4
Enter Value: 4
Enter Value: 3
Enter Value: 3
//然后我希望程序能够知道并最终输出数字“4”和“3”的次数。我认为可能会使用某种增量计数形式,但不是100%确定。谢谢!
在JavaScript中,以下语句是有效的。
switch(true) {
case a > b:
max = a;
break;
case a < b:
max = b;
break;
default:
max = a;
}
但是在C/C++编程语言中,当我编写这个语句时,编译器给出了一个错误,显示case语句必须由常量值组成。有时,在特殊情况下,编写这样的换用例语句将非常有用,但是C/C++将不允许我这样做。
现在,我很想知道不允许在case语句中使用变量值的原因是什么。
请注意,这是一个关于C++语言的问题,而不是关于我给出的示例有多真实或有用的问题。
假设我们在名称空间(或名称空间)中有一个enum:
namespace SomeVeryLargeNamespaceExample {
enum class E {
One,
Two,
};
}
现在,我们希望在switch语句的表达式中使用它。今天,我发现可以在第一个using SomeVeryLargeNamespaceExample::E语句之前在switch语句中添加case,从而减少case中的杂乱代码:
switch (e) {
using S