Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Naits
1 / 1 / 0
Регистрация: 08.09.2012
Сообщений: 35
#1

Название времени года по месяцу - C++

09.09.2012, 21:54. Просмотров 654. Ответов 6
Метки нет (Все метки)

Помогите исправить, при любом исходе пишит, что загадываемый месяц - spring, где я не прав?
Миниатюры
Название времени года по месяцу  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2012, 21:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Название времени года по месяцу (C++):

Вывести название времени года по месяцу - C++
Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае если...

Определение времени года по месяцу - C++
Народ помогите кто знает язык. Нужно написать программу: "Определение времени года по месяцу". Очень нужно, заранее благодарен. П.с....

Получение времени года по введенному пользователем месяцу - C++
Решить с помощью оператора Case. Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название...

Вывести название соответствующего времени года - C++
Я только начал изучать его, ну то есть в универ поступил, а в обычной школе до этого с ним не сталкивался, и много еще не знаю. Помогите...

По номеру месяца определить название времени года - C++
Написать программу которая запрашивает у пользователя номер месяца и затем выводит соответствующее название времени года.В случае если...

По номеру месяца вывести соответствующее название времени года - C++
Задача 4. (1-4.cpp, 14.dsp) Написать программу, которая запрашивает у пользователя номер месяца, а затем выводит соответствующее название...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
09.09.2012, 22:03 #2
Писать надо так:
C++
1
i==3 || i==5 || .....
так как у тебя это не верно. Посмотри в книгах или в интернете, правильную конструкцию условий if else
Naits
1 / 1 / 0
Регистрация: 08.09.2012
Сообщений: 35
09.09.2012, 22:08  [ТС] #3
Да, я понял уже, что в этом ошибка, но как тогда исправить? Мне что придётся вкладывать цикл 12 раз для каждого месяца? Или как-то можно попроще?
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
09.09.2012, 22:13 #4
Можно сделать через switch
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;
int main()
{
    setlocale(0,"rus");
    int n;
    cout<<"Введите номер месяца: ";cin>>n;
    switch(n)
    {
    case 1: cout<<"Зима"<<endl;break;
        case 2: cout<<"Зима"<<endl;break;
            case 3: cout<<"Весна"<<endl;break;
                case 4: cout<<"Весна"<<endl;break;
                    case 5: cout<<"Весна"<<endl;break;
                        case 6: cout<<"Лето"<<endl;break;
                            case 7: cout<<"Лето"<<endl;break;
                                case 8: cout<<"Лето"<<endl;break;
                                    case 9: cout<<"Осень"<<endl;break;
                                        case 10: cout<<"Осень"<<endl;break;
                                            case 11: cout<<"Осень"<<endl;break;
                                                case 12: cout<<"Зима"<<endl;break;
                                                default: cout<<"Неккоректный ввод!!";
    }
    system("pause");
    return 0;
}
Или как ты делаешь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
int main()
{
    setlocale(0,"rus");
    int n;
    cout<<"Введите номер месяца: ";cin>>n;
    if(n==1 || n==2 || n==12) cout<<"Зима"<<endl;
    else if(n==3 || n==4 || n==5) cout<<"Весна"<<endl;
    else if(n==6 || n==7 || n==8) cout<<"Лето"<<endl;
    else if(n==9 || n==10 || n==11) cout<<"Осень"<<endl;
    system("pause");
    return 0;
}
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.09.2012, 22:25 #5
А можно делать как белый человек:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const std::string& monthNumToSeason(int num)
{
  static const std::string NUM_TO_STRING[] = {
    "Зима",  "Зима",  "Весна",
    "Весна", "Весна", "Лето",
    "Лето",  "Лето",  "Осень",
    "Осень", "Осень", "Зима"
  };
  
  if ((1 <= num) && (num <= 12)) {
    return NUM_TO_STRING[num - 1];
  }
  else {
    // обработка кривого ввода
  }
}
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
09.09.2012, 22:28 #6
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
А можно делать как белый человек:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const std::string& monthNumToSeason(int num)
{
  static const std::string NUM_TO_STRING[] = {
    "Зима",  "Зима",  "Весна",
    "Весна", "Весна", "Лето",
    "Лето",  "Лето",  "Осень",
    "Осень", "Осень", "Зима"
  };
  
  if ((1 <= num) && (num <= 12)) {
    return NUM_TO_STRING[num - 1];
  }
  else {
    // обработка кривого ввода
  }
}
Для енго это слишком круто. Плюс,чем плох вариант через 4 строки if..else ?
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.09.2012, 22:35 #7
Цитата Сообщение от Andrey.K Посмотреть сообщение
Для енго это слишком круто. Плюс,чем плох вариант через 4 строки if..else ?
1. Не особой очевидностью. (Относительно.)
2. В меньшей мере скоростью.
3. А если надо выводить по-английски? Здесь можно массив вынести за функцию.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2012, 22:35
Привет! Вот еще темы с ответами:

Вывести название соответствующего времени года по заданному номеру месяца - C++
3.Дано номер месяца — целое число в диапазоне 1-12(1 — январь, 2 — февраль и т. д.). Вывести название соответствующего времени года...

По названию месяца вывести его порядковый номер и название времени года. - C++
Составить программу, которая бы по названию месяца выдавала бы его порядковый номер и название времени года.

Напишите программу, которая запрашивает у пользователя номер месяца и затем выводит соответствующее название времени года - C++
Напишите программу, которая запрашивает у пользователя номер месяца и затем выводит соответствующее название времени года. В случае, если...

По введенному месяцу определить время года - C++
Нужно на C++ написать программу которая при вводе месяца выводит пору года к которой этот месяц принадлежит. Пробовал, что-то у меня ничего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.09.2012, 22:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru