Member 13479017 Ответов: 1

Мой код запросит ввод, но не выдаст вывод.


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

1 */
2 #включить <iostream>
3 Использование пространства имен std ;
4 int main()
5 {
6 строка заголовка ;
7 код символа ;
8 инт года ;
9 плавающая стоимость ;
10 cout << "введите код просмотра и название просмотра. (Разделенные пробелом 11; либо T, M, либо N" << endl ;
12 cin >> код >> название ;
13 переключатель (код)
14 {
15 случай "Т":
16 случай "Т":
17 string TV (char-код, заголовок строки) ;
18 перерыв ;
19 случай "Н":
20 case'N':
21 string NewRel (char-код, заголовок строки) ;
22 перерыв ;
23 случай "м":
24 корпус "м":
25 строковый фильм (код символа, название строки) ;
26 перерыв ;
27 по умолчанию:
28 cout << "ошибка" << endl ;
29 }
30 возвращение 0 ;
31 }
32 string TV (char-код, заголовок строки)
33 {
34 плавающая стоимость = 0 ;
35 тип строки = "TV" ;
36 тип возврата ;
37 название вернуть ;
38 стоимость возврата ;
39 }
40 string NewRel (char-код, заголовок строки)
41 {
42 плавающая стоимость = 6,99 ;
43 string type = "новый релиз" ;
44 cout << title << endl ;
45 cout << тип << endl ;
46 cout << "$" << стоимость << endl ;
47 }
48 строковый фильм (код символа, название строки)
49 {
50 инт года ;
51 плавающая стоимость ;
52 тип строки = "фильм" ;
53 cout << "введите год фильма" << endl ;
54 cin >> год ;
55 если (год < 1960 )
56 {
57 цена = 2.99 ;
58 cout << title << endl ;
59 cout << type << endl ;
60 cout << "$" << стоимость << endl ;
61 }
62 else if (год < 1980)
63 {
64 стоимость = 3,99 ;
65 cout << тип << endl ;
66 cout << "$" << стоимость << endl ;
67 }
68 else if (год < 2000)
69 {
70 стоимость = 4,99 ;
71 cout << title << endl ;
72 cout << тип << endl ;
73 cout << "$" << стоимость << endl ;
74 }
75 else if (год > 2000)
76 {
77 стоимость = 5,99 ;
78 cout << title << endl ;
79 cout << type << endl ;
80 cout << "$" << стоимость << endl ;
81 }
82 еще
83 {
84 cout << "нет фильмов с 2000 года". << endl;
85 }
86 }

Что я уже пробовал:

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

1 Ответов

Рейтинг:
12

CPallini

Цитата:
string TV (char-код, заголовок строки)
{
плавающая стоимость = 0 ;
тип строки = "TV" ;
возвращаемый тип ;
вернуть титул ;
возврат стоимости ;
}

Извините, я не могу поверить, что компилятор (и человек тоже) может принять приведенный выше код: return cost; это просто неправильно, функция должна возвращать a string вместо а float.

[обновление]
Рабочий (хотя и неполный) код
#include <iostream>
using namespace std;

// .. other function declarations 
void Movie (char code, string title);

int main()
{
  string title;
  char code; 
  cout << "Enter the code of viewing and the title of the viewing. (Separated by a 11 space; either T, M, or N" << endl;
  cin >> code >> title;
  switch (code)
  { 
  //.. other cases
  case 'M':
  case 'm': 
    Movie(code, title);
  break ; 
  default: 
  cout << "error" << endl ;

} 
return 0 ;
}
// .. other function definitions
void Movie (char code, string title)
{
  int year ;
  float cost ;
  string type = "Movie" ;
  cout << "Enter year of movie" << endl ;
  cin >> year ;
  if (year < 1960 )
  {
    cost = 2.99 ;
    cout << title << endl ;
    cout << type << endl ;
    cout << "$" << cost << endl ;
  }
  else if (year < 1980)
  {
    cost = 3.99 ;
    cout << type << endl ;
    cout << "$" << cost << endl ;
  }
  else if (year < 2000)
  {
    cost = 4.99 ;
    cout << title << endl ;
    cout << type << endl ;
    cout << "$" << cost << endl ;
  }
  else if (year > 2000)
  {
    cost = 5.99 ;
    cout << title << endl ;
    cout << type << endl ;
    cout << "$" << cost << endl ;
  }
  else
  {
    cout << "No movies from the year 2000." << endl;
  }
}

[/обновление]


Member 13479017

Как я уже говорил выше, я искал и пробовал разные вещи, которые видел в интернете. Как вы можете видеть, это был только один из трех разделов, которые у меня есть.

CPallini

Ладно, но для того, чтобы посмотреть любой выход ваш код должен компилироваться.

Member 13479017

Оно делает.

CPallini

Пожалуйста, ознакомьтесь с моим обновленным решением.

Member 13479017

Я посмотрел и изменил то, что ты сделал. Он до сих пор не дает результата, и я не знаю, почему. Но спасибо, что помогли мне.

Member 13479017

- дело "М":
случай "м":
Фильм(Код, название);
перерыв ; "


без "пустоты" или "строки" перед фильмом код выдает ошибку: "prog2B.cpp: в функции ‘int main()’:
prog2B.ЧГК:24: ошибка: ожидается первичное-выражение до ‘Чара’
prog2B.ЧГК:24: ошибка: ожидается первичное-выражение до ‘титул’
prog2B.ЧГК:28: ошибка: ожидается первичное-выражение до ‘Чара’
prog2B.ЧГК:28: ошибка: ожидается первичное-выражение до ‘титул’
prog2B.КПП:32: ошибка: ожидается первичное-выражение до ‘Чара’
prog2B.КПП:32: ошибка: ожидается первичное-выражение до ‘титул’"

CPallini

Мой код компилируется, запускается, выдает выходные данные, например
"Введите код просмотра и название просмотра. (Через 11 место; либо Т, М или Н
М фу
Введите год выпуска фильма
2013
fooo
Кино
$5.99"
Я предлагаю вам скопировать мой код, попробовать его в том виде, в каком он есть, а затем изменить его.

[no name]

В 5

Member 13479017

Что?

[no name]

почему?

Member 13479017

- что "почему"? чувак, мне просто нужна помощь с моей программой.

[no name]

Я думаю, что вы получили помощь, и единственное, что я сделал, это приписал 5 помощнику. Как вы думаете, что-то не так с thta?

Member 13479017

Вовсе нет, я спрашивал, какое отношение 5 имеет к моему коду, потому что думал, что вы отвечаете мне. Извините за недоразумение. Я изменил то, что он сказал, на то, что было у меня и что есть у остальных. Это не имело никакого значения.

[no name]

Не волнуйся, все в порядке. Дайте ему тоже 5 ;)

CPallini

Большое спасибо.