Зацикливание путаницы - PullRequest
0 голосов
/ 22 ноября 2018

Кажется, мой код спрашивает дважды, а не один раз, хочу ли я запустить код снова.Я просто хочу, чтобы он работал нормально, как и другие мои случаи, которые задаются один раз после того, как я просмотрел задание, и эти два задания - единственные, у которых есть проблемы.В чем здесь проблема:

case 5:
cout<<"Here are the list of activities in Activity 5:" << endl;
cout<<"[5.1]Determining a Number within the Array" << endl;
cout<<"[5.2]Determining the Highest and Lowest integer" << endl;
cout<<"[5.3]Reversed Array" << endl;
cin >> choice;
system("CLS");

        if(choice == 5.1){
            counter +=1;
            int nos[10];
            int det;
            cout <<"Note: Do not input any decimal numbers." << endl;
                for(int array = 1; array < 11; array++){

                    cout << "Input integers 1-10 only. [" << array << "]";
                    cin >> nos[det];
                                        }
                    cout << "Type in 1 integer value only.[" << det << "]";
                    cin >> det; 

                    if(det >= nos[1] || det <= nos[10]){
                        cout << "The value is within the scope of the array.";
                                        }
                    else{
                        cout << "The value is not within the scope of the array.";
                                        }
        system ("PAUSE");
        system ("CLS");
            cout << "Do you want to run the program again? (y/n)" << endl;
            cin >> choose;
                        }

        else if(choice == 5.2){
            counter +=1;
        cout <<"Note: Do not input any decimal numbers." << endl;
        cout <<"Enter your integers." << endl;
        int nos[10];
        int put;
                for(int rep = 1; rep < 11; rep++){

                    cout <<"[" << rep << "]";
                    cin >> nos[rep];
                            }
                        int highnos = nos[1];
                        int lownos = nos[1];

                for(int rep = 1; rep < 11; rep++){
                if(nos[rep] > highnos){
                    highnos = nos[rep];
                                                    }           
                            }                           
                    cout << "Your highest integer is:" << highnos << endl;

                for(int rep = 1; rep > 11; rep++){
                if(nos[rep] < lownos){
                lownos = nos[rep];
                                    }
                                                }
        cout <<"Your lowest integer is:"<< lownos << endl;
            system ("PAUSE");
            system ("CLS");
            cout << "Do you want to run the program again? (y/n)" << endl;
            cin >> choose;

                                }

PS В моих действиях тоже есть ошибки, но не против: D

1 Ответ

0 голосов
/ 22 ноября 2018

Прежде всего, вы ничего не инициализировали, поэтому все принимает значения мусора.сначала инициализируйте det и, если вы хотите ввести весь массив, запустите цикл.cin >> nos [det] вводит только одно значение в индекс мусора в соответствии с вашим кодом.

Этот код является беспорядком.Пожалуйста, исправьте инициализации и входные данные, а затем поделитесь полученными результатами с требуемыми.

...