C++ Some variables “used uninitialized in this function”. Why?

前端 未结 2 833
滥情空心
滥情空心 2021-01-28 10:06

This is my code:

#include 
using namespace std;

void input_function(int hour, int minutes);
void calcuation(int hour, int minutes, char meri         


        
2条回答
  •  梦如初夏
    2021-01-28 11:05

    Your input_function should pass by reference.
    If you pass by value only, it would not affect anything.

      #include 
        using namespace std;
    
        void input_function(int& hour, int& minutes);
        void calcuation(int hour, int minutes, char meridien);
        void output_function(int hour, int minutes, char meridien);
    
        int main ()
        {
          int hour, minutes;
          char answer, meridien;
    
          do
            {
              input_function(hour, minutes);
              calcuation(hour, minutes, meridien);
              output_function(hour, minutes, meridien);
    
    
              cout << "Would you like to try again? (Y/N)\n";
              cin >> answer;
    
            } while(answer == 'Y' || answer == 'y');
    
          cout <<"Goodbye\n";
    
          return 0;
        }
    
        void input_function(int& hour, int& minutes)
        {
          cout << "Enter the hour in 24 hour notation: (Ex. 23)\n";
          cin >> hour;
    
          cout << "Enter the minutes:\n";
          cin >> minutes;
        }
    
        void calcuation(int hour, int minutes, char meridien)
        {
          if (hour > 12)
            {
              hour = hour - 12;
              meridien = 'P';
            }
          else 
            {
              meridien = 'A';
            }
        }
    
        void output_function(int hour, int minutes, char meridien)
        {
          cout << "Your time in 12 hour notation is:\n";
          cout << hour << ":" << minutes << endl;
    
          if (meridien == 'P')
            cout << "P.M.\n";
    
          else 
            cout << "A.M\n";
        }
    

提交回复
热议问题