11 / 11 / 3
Регистрация: 17.12.2010
Сообщений: 52
1

Вывод на экран месяцев года

04.03.2011, 09:31. Показов 2206. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
необходимо после определённой сортировки вывести на экран несколько месяцев года, которые должны быть записаны в виде римских цифр. есть какой-то ключ (%...) по этому поводу (возможно чисто для линукса) или как ещё это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.03.2011, 09:31
Ответы с готовыми решениями:

Вывести на экран количество месяцев оставшихся до конца года
Составить программу дан порядковый номер месяца, вывести на экран количество месяцев оставшихся до...

Массив содержит сведения о количестве осадков выпавших за каждые 12 месяцев года написать программу определяющую количество засушливых месяцев(<30мм)
Массив содержит сведения о количестве осадков выпавших за каждые 12 месяцев года написать программу...

Поиск и вывод на экран сведений о людях в массиве, родившихся не ранее указанного года
Создать класс с данными о человеке. В классе должны отражаться следующие сведения:...

Составить таблицу из названий месяцев года и числа дней в каждом из них
Здравствуйте, надо составить таблицу из названий месяцев года и числа дней в каждом из них....

7
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
04.03.2011, 10:41 2
Можно вставить проверку от 1 до 12, и выводить соответственно от I до XII. Как Вам такая идея ?
1
11 / 11 / 3
Регистрация: 17.12.2010
Сообщений: 52
04.03.2011, 11:05  [ТС] 3
в принципе, почему бы и нет, хорошая мысль. Просто я думал, что в С предусмотрены ключи с %, для автоматической смены стиля.

хотя лучше воспользуюсь предложенным способом, спасибо)
0
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
04.03.2011, 11:16 4
Да есть то они есть, но для римских цифр ... ))) Врятли.
0
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 4
04.03.2011, 11:36 5
Простите новичка, а вот так нормально будет?

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
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
 
using namespace std;
 
const char* Months[] = {"", "I","II", "III", "IV"};
 
class CMonth
{
public:
    enum TMonth
    {
        EJanuary = 1,
        EFebruary,
        EMarch,
        EApril,
        EMay,
        EJune,
        EJuly,
        EAugust,
        ESeptember,
        EOctober,
        ENovember,
        EDecember
    };
    static char* GiveMeMonth(TMonth month) 
    {
        return (char*)Months[month];
    }
private:
    CMonth();
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    cout<<"The 2nd month is - "<<::CMonth::GiveMeMonth(CMonth::EFebruary)<<endl;
    system("pause");
}
0
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
04.03.2011, 11:44 6
Nomos, А прикольно кстати, мне нравится сама конструкция
1
291 / 151 / 34
Регистрация: 13.10.2009
Сообщений: 164
04.03.2011, 11:45 7
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
27
28
29
30
31
char* IntToRome(int t)
{
    char *f[7]={"I\0","V\0","X\0","L\0","C\0","D\0","M\0"};
    int k[8]={1,5,10,50,100,500,1000,0};
    int y[8]={7,0,0,2,2,4,4,0};
    if(t<4000)
    {
        char p[80]="\0";
        for(int i=6;i>=0;i--)
        {
            if(t>=k[i]-k[y[i]])
            {
                if(t<k[i])
                {
                    strcat(p,f[y[i]]);
                    strcat(p,f[i]);
                    t=t-k[i]+k[y[i]];
                }
                else
                {
                    for(int z=0;z<t/k[i];z++)
                        strcat(p,f[i]);
                    t=t%k[i];
                    i++;
                }
            }
        }
        return p;
    }
    else return "none";
}
Набросал функцию, может кому-то пригодится, которая число преобразовует в римский вид, только до 4к, так как больше 1000 я не знаю как пишутся у них буквы))
1
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 4
04.03.2011, 12:19 8
Цитата Сообщение от DexterUa Посмотреть сообщение
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
27
28
29
30
31
char* IntToRome(int t)
{
    char *f[7]={"I\0","V\0","X\0","L\0","C\0","D\0","M\0"};
    int k[8]={1,5,10,50,100,500,1000,0};
    int y[8]={7,0,0,2,2,4,4,0};
    if(t<4000)
    {
        char p[80]="\0";
        for(int i=6;i>=0;i--)
        {
            if(t>=k[i]-k[y[i]])
            {
                if(t<k[i])
                {
                    strcat(p,f[y[i]]);
                    strcat(p,f[i]);
                    t=t-k[i]+k[y[i]];
                }
                else
                {
                    for(int z=0;z<t/k[i];z++)
                        strcat(p,f[i]);
                    t=t%k[i];
                    i++;
                }
            }
        }
        return p;
    }
    else return "none";
}
Набросал функцию, может кому-то пригодится, которая число преобразовует в римский вид, только до 4к, так как больше 1000 я не знаю как пишутся у них буквы))
imho, это как-то фигово, может типа такого -

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int _tmain(int argc, _TCHAR* argv[])
{
      int num = 2256;
      int h,t,o,th;
      char *ones[] = {"","I","II","III","IV","V","VI","VII","VIII","IX"};
      char *tens[] = {"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
      char *hundreds[] = {"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
      char *thousands[] = {"","M","MM","MMM","MMMM","MMMMM"};
 
     
        th = num / 1000;
    num = num % 1000; 
    h = num % 100;
    num = num % 100;    
    t = num / 10;
    o = num % 10;
    
    cout<<"The number 2256 in Roman is - "<<thousands[th]<<hundreds[h]<<tens[t]<<ones[o]<<endl;
    system("pause");
}
0
04.03.2011, 12:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.03.2011, 12:19
Помогаю со студенческими работами здесь

По введенному номеру времени года выдать месяцы, количество дней в каждом из месяцев
Программа по введенному номеру времени года (1 - зима, 2 - весна, 3 - лето, 4 - осень) должна...

Упражнение из Страуструпа (Определите таблицу названий месяцев года и числа дней в них)
Определите таблицу названий месяцев года и числа дней в них. Выведите ее. Сделайте это два раза:...

Вывести на экран в шахматном порядке названия месяцев, имеющих одинаковое количество дней
напишите программу, которая выводила на экран в шахматном порядке названия месяцев, причомк имеющие...

Как упростить вывод списка месяцев года?
Можно как-нибудь упростить программу? Что бы не прописывать 12 раз &quot;else if&quot; Задание такое :...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru