Как назначить значения по умолчанию и назначение переменной инструкции

#c

#c

Вопрос:

Мой профессор говорит, что в моем коде отсутствуют эти два аспекта

  • необходимо сначала инициализировать переменные со значениями по умолчанию -2
  • в вашей программе отсутствуют операторы присваивания переменных -3

Однако я не уверен, что они означают.

Я установил для своих переменных int значение по умолчанию 0, но я не знаю, как присвоить им новые значения.

  #include <iostream>
 #include <iomanip>
 #include <string>

 using namespace std;

 int main ()
 {
    string theatre = "AMC Universal CityWalk";
    string present = "Presenting";
    string movie = "A Star is Born Encore";
    string show = "Show time";
    string time = "PM";
    string day = "Date";
    string room = "Theatre";
    string rating = "PG-13";
    string admission = "Adult Admission";
    string ad = "Don't forget to get your free small popcorn"
        " with 4 tickets or more!!!";
  /*
    int timeHour = 3;
    int timeMinute = 20;
    int dateMonth = 04;
    int dateDay = 12;
    int dateYear = 2019;
    int roomNumber = 10;
    float price = 12.75;
  */
    int timeHour = 0;

    int timeMinute = 0;
    int dateMonth = 0;
    int dateDay = 0;
    int dateYear = 0;
    int roomNumber = 0;
    float price = 0.0;

    cout << "tt" << theatre << endl;
    cout << "ttt" << present << endl;
    cout << "tt" << movie << endl;
    cout << show << ": " << timeHour << ":" << timeMinute << " " << time;
    cout << "t" << day << ": " << dateMonth << "/" << dateDay <<     "/" <<
          dateYear << endl;
    cout << room << ": " << roomNumber;
    cout << "ttt" << rating << endl;
    cout << admission << ": $" << price << endl;
    cout << ad << endl;


}
  

Мне нужно распечатать значения, которые находятся в разделе с комментариями, но я не могу понять, как присвоить переменным int новые значения.

Комментарии:

1. int timeHour = 3; это объявление переменной с инициализацией. timeHour = 0; это присвоение переменной. Второе должно появиться после первого, потому что присвоение не может быть выполнено, когда переменная еще не объявлена. int timeHour = 3; /* some stuff left out */ int timeHour = 0; это переопределение переменной, которое запрещено (ошибка компилятора). Не допускается определять переменную дважды в одной и той же области видимости (грубо говоря). Итак, вы видите, что не так, когда вы раскомментируете остальную часть кода?

2. Вы должны спросить их, что они означают. И если вам нужно присвоить значение, просто присвоите его. variable = value;

3. Похоже, вы просите людей порассуждать о том, что ваш профессор подразумевает под этими утверждениями. Мне кажется, что вы присваиваете значения целым числам, поэтому вам, вероятно, нужно поговорить с вашим профессором, чтобы выяснить, чего они хотят, а затем задать конкретный вопрос о том, чего вы пытаетесь достичь.

4. Кстати. std::string это класс с конструктором по умолчанию. Следовательно, std::string rating; это объявление с конструкцией по умолчанию. int это так называемый тип POD . Типы POD не обеспечивают построение по умолчанию. Следовательно, int hour; объявляет переменную, но оставляет ее неинициализированной. (Это может иметь любое значение.) Когда в C используются типы POD, их инициализация всегда является привычкой для предотвращения неинициализированных переменных.

Ответ №1:

сначала прочитайте это https://en.wikipedia.org/wiki/Assignment_ (computer_science) и если вы хотите задать новое значение переменным, сделайте вот так:

 int timeHour = 0;
timeHour = 10;