Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2020, 05:32   #1
hienZeit
Пользователь
 
Регистрация: 14.03.2019
Сообщений: 21
По умолчанию Напечатать название месяца по его порядковому номеру

Все я устал, не могу понять как вывести эту гребаную строку, уже ночь сижу, сам придумал способ - не работает, в нете нашел - не работает, та что не так? Консоль ничего не печатает Подскажите пожалуйста.

Код:
char *month(int n);

main()
  {
  int c, i;
  system("chcp 1251");
  scanf("%d", &c);
 // for(i=0;i<(*month(c)); ++i){
    //  putchar(*month(c));
 //}
  //printf("%s", *month(c));
  printf("%c", *month(c));
  
  //puts(*month(c));

  }

  char *month(int n)
  {
      static char *name[] = {
          "Error",
          "Январь", "Февраль", "Март",
          "Апрель", "Май", "Июнь",
          "Июль", "Август", "Сентябрь",
          "Октябрь", "Ноябрь", "Декабрь"
      };
      return (n<1 || n>12) ? name[0] : name[n];
  }

Последний раз редактировалось BDA; 06.08.2020 в 06:30.
hienZeit вне форума Ответить с цитированием
Старый 06.08.2020, 06:29   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Да вроде печатает (https://ideone.com/fbRZqD):
Код:
char *month(int n);

main()
{
    int c;
    system("chcp 1251");
    scanf("%d", &c);
    printf("%s", month(c));
}

char *month(int n)
{
    static char *name[] = {
        "Error",
        "Январь", "Февраль", "Март",
        "Апрель", "Май", "Июнь",
        "Июль", "Август", "Сентябрь",
        "Октябрь", "Ноябрь", "Декабрь"
    };
    return (n < 1 || n > 12) ? name[0] : name[n];
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.08.2020, 19:07   #3
hienZeit
Пользователь
 
Регистрация: 14.03.2019
Сообщений: 21
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Да вроде печатает (https://ideone.com/fbRZqD):
Код:
char *month(int n);

main()
{
    int c;
    system("chcp 1251");
    scanf("%d", &c);
    printf("%s", month(c));
}

char *month(int n)
{
    static char *name[] = {
        "Error",
        "Январь", "Февраль", "Март",
        "Апрель", "Май", "Июнь",
        "Июль", "Август", "Сентябрь",
        "Октябрь", "Ноябрь", "Декабрь"
    };
    return (n < 1 || n > 12) ? name[0] : name[n];
}
Спасибо, видимо у меня что-то не так с консолью. А еще я не знал что тут не надо ставить указатель :\
Код:
printf("%s", month(c));
hienZeit вне форума Ответить с цитированием
Старый 06.08.2020, 21:30   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,213
По умолчанию

Цитата:
Сообщение от hienZeit Посмотреть сообщение
А еще я не знал что тут не надо ставить указатель
Функция же как раз указатель и возвращает.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа подсчёта количества дней, оставшихся до нового года, по введённым дню и номеру месяца MVin Паскаль, Turbo Pascal, PascalABC.NET 4 04.03.2014 20:49
Даны сведения о книгах в библиотеке: фамилия автора, название книги и год издания. Напечатать автора и название книг, го greshnik92 Общие вопросы C/C++ 3 21.06.2011 10:45
Имя столбца по порядковому номеру Марк Охман БД в Delphi 3 04.11.2010 10:35
В ячейке проставить название месяца, согласно номеру листа kzld Microsoft Office Excel 5 06.10.2010 10:32
По введённому номеру месяца выдавало примерные погодные условия AleksENN Помощь студентам 4 24.06.2010 16:40