Я не знаю, почему этот тип пришел в мою программу, ожидая инициализатора перед 'if'

#include <iostream>
#include <stdlib.h>

using namespace std;

void  menu(){
    cout<<"1 : First Grade"<<endl;
    cout<<"2 : Second Grade"<<endl;
    cout<<"3 : Third Grade"<<endl;
    cout<<"4 : Fourth Grade"<<endl;
    cout<<"5 : Fifth Grade"<<endl;
    cout<<endl;



}
int main

    if (k=1){
        mindigit=10;
        maxdigit=99;
    }
    else if(k=2){
        mindigit=100;
        maxdigit=999;
    }
    else if(k=3){
        mindigit=1000;
        maxdigit=9999;
    }   
    else if(k=4){
        mindigit=10000;
        maxdigit=99999;
    }   
    else if(k=5){
        mindigit=100000;
        maxdigit=999999;
    }
}
char randomOperator()
    return "+-"[rand() % 2];

int main(){



    menu();
int i,question,maxdigit,mindigit;
cout<<"Please select grade, user numbers 1 to 5:  ";
cin>>i;
    if (i=1){
        mindigit=10;
        maxdigit=99;
    }
    else if(i=2){
        mindigit=100;
        maxdigit=999;
    }
    else if(i=3){ 
        mindigit=1000;
        maxdigit=9999;
    }   
    else if(i=4){
        mindigit=10000;
        maxdigit=99999;
    }   
    else if(i=5){
        mindigit=100000;
        maxdigit=999999;
    }
        cout<<"Enter number of questions you want to generate:  ";
        cin>>question;
    cout<<endl;
    for (int j = 1 ; j <= i ; j++)
    {
        int firstNum  = rand() % (max - min + 1) + min;
        int secNum  = rand() % (max - min + 1) + min;
        char opr = randomOperator();

    }
        if(opr == '+'){
            cout<<"("<<firstNum<<opr<<secNum<<") = ________ \t";
            if(i= 5){
                cout<<"\t";
            }  
        }else if(opr == '-'){
            if(firstNum > secNum){
                cout<<"("<<firstNum<<opr<<secNum<<") = ________ \t";
                if( i= 5){
                cout<<"\t";
            }    
            }else{
                cout<<"("<<secNum<<opr<<firstNum<<") = ________ \t";  
            if( i= 5){
                cout<<"\t";
            }  
            }
        }

    }

, 👍0

Обсуждение

Это код С++. Это не код Ардуино. Неудивительно, что это не работает. Какой ардуино вы используете?, @Majenko

Мне не хватает фигурных скобок., @Kwasmich


2 ответа


0

Маженко прав.

Вы должны изменить следующее:

  1. Замените cout на Serial.print, если вы хотите, чтобы выходные данные отображались в терминале Arduino IDE.
  2. Замените cin, например, на Serial.readString, предполагая, что вы хотите считывать ввод с терминала Arduino IDE.
  3. Преобразуйте <<secNum<<opr<<firstNum<< или аналогичные конструкции в строковые функции C (например, sprintf) с правильными аргументами.
,

1

Ваши операторы if также неверны, в вашем коде вы присваиваете значения if(i=1){, а не проверяете их if(i==1){ см. справку по Arduino

,