Can I fix this or do I just need to increase the input size?

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%
Programming in c++(visual studio 2019): I’m prompting the user to input “even odd or random” to start my code and noticed the while loop I use to check of the user input is valid or not freaks out if I go over the char limit I gave the user input. Can I fix this or do I just need to increase the input size?
The image displays a portion of C++ code within a development environment. The code is part of a function called `getinput` that takes an integer reference `userInput` as its parameter. It prompts the user to specify if their array is "Even," "Odd," or "Random."

### Code Explanation:

1. **Variable Declaration:**
   ```cpp
   char user[8];
   ```
   An array of characters, `user`, is declared with a size of 8 to store the user's input.

2. **User Prompt:**
   ```cpp
   cout << "Is your array Even, Odd or Random?" << endl;
   ```
   The program requests the user to input whether their array is even, odd, or random.

3. **Input Handling:**
   ```cpp
   std::cin.getline(user, sizeof user);
   ```
   It reads the user's input using `getline` to ensure it captures the entire line.

4. **String Comparison and Conditional Logic:**
   - If the input is "Odd":
     ```cpp
     if (_stricmp(user, "Odd") == 0)
     {
         userInput = 1; // 1 = odd
         return userInput;
     }
     ```
     The function sets `userInput` to 1 and returns this value.

   - If the input is "Even":
     ```cpp
     else if (_stricmp(user, "Even") == 0)
     {
         userInput = 2; // 2 = even
         return userInput;
     }
     ```
     The function sets `userInput` to 2 and returns this value.

   - If the input is "Random":
     ```cpp
     else if (_stricmp(user, "Random") == 0)
     {
         userInput = 3; // 3 = rand
         return userInput;
     }
     ```
     The function sets `userInput` to 3 and returns this value.

5. **Default Case:**
   If the input does not match any of the specified options, `userInput` is set to 0 and returned:
   ```cpp
   else
   {
       userInput = 0;
       return userInput;
   }
   ```

### Additional Observations:

- **Case Insensitivity:**
  The code uses `_stricmp`, which compares strings case-insensitively, allowing for more flexible user
Transcribed Image Text:The image displays a portion of C++ code within a development environment. The code is part of a function called `getinput` that takes an integer reference `userInput` as its parameter. It prompts the user to specify if their array is "Even," "Odd," or "Random." ### Code Explanation: 1. **Variable Declaration:** ```cpp char user[8]; ``` An array of characters, `user`, is declared with a size of 8 to store the user's input. 2. **User Prompt:** ```cpp cout << "Is your array Even, Odd or Random?" << endl; ``` The program requests the user to input whether their array is even, odd, or random. 3. **Input Handling:** ```cpp std::cin.getline(user, sizeof user); ``` It reads the user's input using `getline` to ensure it captures the entire line. 4. **String Comparison and Conditional Logic:** - If the input is "Odd": ```cpp if (_stricmp(user, "Odd") == 0) { userInput = 1; // 1 = odd return userInput; } ``` The function sets `userInput` to 1 and returns this value. - If the input is "Even": ```cpp else if (_stricmp(user, "Even") == 0) { userInput = 2; // 2 = even return userInput; } ``` The function sets `userInput` to 2 and returns this value. - If the input is "Random": ```cpp else if (_stricmp(user, "Random") == 0) { userInput = 3; // 3 = rand return userInput; } ``` The function sets `userInput` to 3 and returns this value. 5. **Default Case:** If the input does not match any of the specified options, `userInput` is set to 0 and returned: ```cpp else { userInput = 0; return userInput; } ``` ### Additional Observations: - **Case Insensitivity:** The code uses `_stricmp`, which compares strings case-insensitively, allowing for more flexible user
**C++ Input Validation Program**

This C++ program demonstrates input validation by using a loop to ensure the user provides a valid entry. The program is structured as follows:

1. **Header Inclusions:**
   ```cpp
   #include <iostream>
   #include <fstream>
   #include <cstring>
   ```

2. **Namespace Usage:**
   ```cpp
   using std::ofstream;
   using std::endl;
   using std::cout;
   using std::cin;
   ```

3. **Function Declaration:**
   - `int getinput(int& userInput);`
   - This line declares a function `getinput`, which takes a reference to an integer `userInput`.

4. **Main Function:**
   ```cpp
   int main()
   {
       int userInput;
       const int MAX = 500;
       int array[MAX];

       getinput(userInput);
       cout << userInput << endl;
       while (userInput != 1 && userInput != 2 && userInput != 3)
       {
           if (userInput == 0)
           {
               cout << "Not a valid input. Try again:" << endl;
               getinput(userInput);
           }
       }
   }
   ```

   - **Variables:**
     - `int userInput;` - Stores user input.
     - `const int MAX = 500;` - A constant defining the maximum size of the array.
     - `int array[MAX];` - An integer array of size MAX.

   - **Input Handling:**
     - `getinput(userInput);`: Initially calls the `getinput` function to retrieve user input.
     - `cout << userInput << endl;`: Outputs the received user input.

   - **Validation Loop:**
     - `while (userInput != 1 && userInput != 2 && userInput != 3)`: Repeats the loop until the user input is 1, 2, or 3.
     - Inside the loop, there's a check:
       - `if (userInput == 0)`: If the input is 0, it prompts an invalid input message and asks for input again.
       - ```cpp
         cout << "Not a valid input. Try again:" << endl;
         getinput(userInput);
         ```

This simple program highlights basic input validation techniques in C++, ensuring robustness by demanding specific acceptable
Transcribed Image Text:**C++ Input Validation Program** This C++ program demonstrates input validation by using a loop to ensure the user provides a valid entry. The program is structured as follows: 1. **Header Inclusions:** ```cpp #include <iostream> #include <fstream> #include <cstring> ``` 2. **Namespace Usage:** ```cpp using std::ofstream; using std::endl; using std::cout; using std::cin; ``` 3. **Function Declaration:** - `int getinput(int& userInput);` - This line declares a function `getinput`, which takes a reference to an integer `userInput`. 4. **Main Function:** ```cpp int main() { int userInput; const int MAX = 500; int array[MAX]; getinput(userInput); cout << userInput << endl; while (userInput != 1 && userInput != 2 && userInput != 3) { if (userInput == 0) { cout << "Not a valid input. Try again:" << endl; getinput(userInput); } } } ``` - **Variables:** - `int userInput;` - Stores user input. - `const int MAX = 500;` - A constant defining the maximum size of the array. - `int array[MAX];` - An integer array of size MAX. - **Input Handling:** - `getinput(userInput);`: Initially calls the `getinput` function to retrieve user input. - `cout << userInput << endl;`: Outputs the received user input. - **Validation Loop:** - `while (userInput != 1 && userInput != 2 && userInput != 3)`: Repeats the loop until the user input is 1, 2, or 3. - Inside the loop, there's a check: - `if (userInput == 0)`: If the input is 0, it prompts an invalid input message and asks for input again. - ```cpp cout << "Not a valid input. Try again:" << endl; getinput(userInput); ``` This simple program highlights basic input validation techniques in C++, ensuring robustness by demanding specific acceptable
Expert Solution
Introduction:

C++ is a programming language. It is simple and easy to use because programs are concerned with simple task like calculations.

The most widely used concept in C++ is OOPS concept. (Object Oriented Programming Language).

Given Program

#include <iostream>
#include <fstream>
#include <cstring>
using std::ofstream;
using std::end1;
using std::count;
using std::cin;
int getinput(int& userInput);
int main()
{
    int userInput;
    const int MAX = 500;
    int array[MAX];
    getinput(userInput);
    cout << userInput << end1;
    while (userInput !=1 && userInput !=2 && userInput != 3)
    {
        if (userInput == 0)
        {
            cout << "Not a valid input. Try again:" << end1;
            getinput(userInput);
        }
    }
    int getinput(int& userInput)
    {
        char user[8];
        cout << "Is your array Even, Odd or Random?" << end1;
        std::cin.getline(user, sizeof user);
        if (_stricmp(user, "odd") == 0)
        {
            userInput = 1;
            return userInput;
        }
        else if (_stricmp(user, "Even") == 0)
        {
           userInput = 2;
           return userInput;
        }
        else if (_stricmp(user, "Random") == 0)
        {
            userInput = 3;
            return userInput;
        }
        else
        {
            userInput = 0;
            return userInput;
        }
    }    
  }

In the given program the following errors:

Computer Science homework question answer, step 2, image 1

Computer Science homework question answer, step 2, image 2

Computer Science homework question answer, step 2, image 3

steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Types of Loop
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education