小编h3h*_*alf的帖子

在do ... while循环中使用多个条件

所以我正在制作一个程序,询问用户是否想要做某事.答案就像Y/N一样简单.我希望该程序能够接受大写和小写"Y".问题是,当我输入时while (answer == 'Y', answer == 'y')只接受小写"Y".如果我输入while (answer == 'y', answer == 'Y')

我究竟做错了什么?

(更多信息:"answer"是我的"char"变量的名称,我正在使用"iostream","cstdlib"和"string"库)

c++

4
推荐指数
1
解决办法
1753
查看次数

初始化或预分配的最佳实践 - MATLAB

我的问题并不明确依赖于一段代码,而是更具概念性.

与某些编程语言不同,MATLAB不需要在使用变量之前对其进行明确初始化.例如,在脚本文件的中途定义"myVector"是完全有效的:

myVector = vectorA .* vectorB
Run Code Online (Sandbox Code Playgroud)

我的问题是:将变量(例如上面的'myVector')初始化为零然后为它们赋值,或者在整个程序中保持初始化是否更快?

这是我正在谈论的直接比较:

整个初始化:

varA = 8;
varB = 2;

varC = varA - varB;
varD = varC * varB;
Run Code Online (Sandbox Code Playgroud)

在开始时初始化:

varA = 8;
varB = 2;
varC = 0;
varD = 0;

varC = varA - varB;
varD = varC * varB;
Run Code Online (Sandbox Code Playgroud)

一方面,无缘无故地拥有这些额外的代码行似乎有点浪费.但另一方面,有一点意义是,一次为程序分配所有内存而不是在运行时分散会更快.

有没有人有点洞察力?

performance matlab

3
推荐指数
1
解决办法
252
查看次数

把开关放在里面做...同时

所以我有一个do ... while语句应该重复,除非用户输入四件事之一.这四件事有一个中断,他们设置控制while为true的变量,默认为false.如果用户没有输入四个答案中的一个,那么变量将保持为假,这应该使得...再次开始时.它没有.

#include <string>
#include <iostream>

using namespace std;

int main()
{
    int q5_answer = 1;
    int q5_answerU;
    int total_score;
    bool q5_valid = false;

    //Question_5:
    do
    {
        cout << "Question 5 (#1 is correct)" <<endl;
        cout << "1.) Answer 1" <<endl;
        cout << "2.) Answer 2" <<endl;
        cout << "3.) Answer 3" <<endl;
        cout << "4.) Answer 4" <<endl;
        cin >> q5_answerU;

        switch (q5_answerU)
        {
        case 1:
            cout << "Correct!" <<endl;
            q5_valid = true;
            (total_score = total_score + 1); …
Run Code Online (Sandbox Code Playgroud)

c++ nested switch-statement

2
推荐指数
1
解决办法
7203
查看次数

从Java开始

所以我试图从Java开始(就像在试图让dang接受代码一样).我从Java等下载所有需要的东西(SDK),但当它到达我必须在命令提示符中执行"javac"以编译记事本文件的时候,我只是得到消息说没有命令叫做"javac".

有人想分享一些见解吗?

java startup

1
推荐指数
1
解决办法
273
查看次数

C++ if ... then语句

所以我正在尝试制作一个简单的应用程序来测试用户.它会询问一个问题并且用户回答1,2,3或4.然后应用程序接受该答案,如果正确,则将total_score添加+1,最后将显示该值.一切看起来都很合理,但是当我运行它并且我到达该if (q1_valid == false)部分时它会跳过cout并运行goto,无论q1_valid是true还是false.

#include <iostream>

using namespace std;

int main()
{
    int q1_answer;
    int total_score;
    bool q1_correct;
    bool q1_valid;

    Question_1:
    cout << "Question 1 (#3 is correct)" << endl;
    cout << "1.) Answer 1" <<endl;
    cout << "2.) Answer 2" <<endl;
    cout << "3.) Answer 3" <<endl;
    cout << "4.) Answer 4" <<endl;
    cin >> q1_answer;

    if (q1_answer == 1)
    q1_correct = false;
    q1_valid = true;

    if (q1_answer == 2)
    q1_correct = false;
    q1_valid = true;

    if …
Run Code Online (Sandbox Code Playgroud)

c++

1
推荐指数
1
解决办法
919
查看次数

当int =(不是整数的东西)时停止无限循环

所以这是我开始编程以来一直存在的问题(不久之前.我仍然不知道为什么我开始使用C++).当我有一些整数变量和用户的输入定义它们,如果用户输入一些其他的不是整数节目怪胎,并运行它被赋予了最后一个命令的无限循环.我不认为需要示例代码,但如果是,我可以很容易地做一个基本的例子.

c++ debugging infinite-loop

1
推荐指数
1
解决办法
454
查看次数

"<=是无效的表达术语"和")预期"

我正在搞乱C#并且正在制作一个原型GUI(没有附加游戏,只是弄乱了按钮和按钮颜色).我遇到了一个错误:

private void temperValue_Load(object sender, EventArgs e)
    {
        int temperInt = 23;
        temperInt = Convert.ToInt32(temperValue.Text);

        if (temperInt >= 70)
        {
            temperButton.BackColor = System.Drawing.Color.Red;
        }
        else if (temperInt >= 40 & <= 69)
        {
            temperButton.BackColor = System.Drawing.Color.DarkOrange;
        }
    }
Run Code Online (Sandbox Code Playgroud)

在"else if"行中,"<="和"69"都有错误."<="错误是"无效的表达式术语'<='","69)"的四个错误是")预期的","无效的表达式术语')'",以及两个"预期的"错误.

此代码片段之外没有任何变量影响此代码.调用的每个变量都在片段内定义.

(对于任何好奇的人,"脾气"代表"温度")

c#

1
推荐指数
1
解决办法
7526
查看次数