Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
#1

Не используйте Scanf и Printf (вывести календарь на указанный месяц этого года) - C++

10.05.2013, 16:04. Просмотров 1320. Ответов 20
Метки нет (Все метки)

Вводится день, месяц и год, вывести:1)календарь на указанный месяц этого года.
2)Определить день недели по введенное дате.
3)Определить порядковый номер дня в неделе.

Не судите меня строго что задаю такие глупые вопросы и задачи, просто учусь С++, и в дальнейшем хотелось бы научиться писать задачи самому.))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 16:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не используйте Scanf и Printf (вывести календарь на указанный месяц этого года) (C++):

1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня - C++
1 января не високосного года-понедельник. Вводится число и месяц этого года. Вывести день недели этого дня

Составить программу, которая по введенному номеру месяца и номеру года выводит количество дней в этом месяце(использовать операторы printf и scanf) - C++
Составить программу, которая по введенному номеру месяца и номеру года выводит количество дней в этом месяце(использовать операторы printf...

Написать программу с использованием функций printf и scanf: ввести два вещественных значения и вывести их произведение на экран монитора - C++
Написать программу с использованием функций printf и scanf: ввести два вещественных значения и вывести их произведение на экран монитора.

Запросить у пользователя ввести месяц года, и если он равен текущему, вывести ответ «Верно» - C++
Запросить у пользователя ввести месяц года, и если он равен текущему, вывести ответ «Верно»

printf/scanf - C++
Возник вопрос. int main(void) { printf("Hello world"); } Что происходит здесь? Подключение в дебаге хедера <stdio.h> или...

Символы %ls и %lc в printf и scanf - C++
Здравствуйте. wchar_t c; wchar_t str; c = _getwch(); // считывает символ правильно. Проверял, коды совпадают c unicode: // а -...

20
zybrzybr
18 / 17 / 0
Регистрация: 29.09.2010
Сообщений: 156
10.05.2013, 22:58 #2
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <iostream>
#include <stdio.h>
#include <ctime>
#include <windows.h>
#include <clocale>
 
using namespace std;
 
int getDays( int month, int year )
{
   const int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
  int result = -1;
 
  if( month < 0 || month > 11 )
    return result;
 
  result = days[ month ];
  if( year % 4 == 0 && ( year % 100 != 0 || year % 400 == 0 ))
    ++result;
 
  return result;
}
int main()
{
    setlocale(0,"russian");
    HANDLE hCon;
    COORD cPos;
    struct tm t;
    int td;
    cout << "День  ";  cin >> td;
    cout<<"Месяц  "; cin >> t.tm_mon; ;
    t.tm_mon --;
    cout << "Год  ";   cin >> t.tm_year ;
    t.tm_year -= 1900;
    t.tm_hour = t.tm_min = t.tm_sec = t.tm_mday = 1;
    mktime(&t);
    cout << "ПН ВТ Ср Чт Пт Сб Вс " << endl;
    hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    cPos.Y = 5;
    cPos.X = 0; //t.tm_wday * 3 ;
    SetConsoleCursorPosition(hCon, cPos);
    int wd= t.tm_wday - 1;
    while ( t.tm_mday <= getDays(t.tm_mon,t.tm_year ) )
    {
        cPos.X = 3 * wd  ;
        SetConsoleCursorPosition(hCon, cPos);
        printf("%d",t.tm_mday);
        wd ++;
        t.tm_mday ++;
        if ( wd >= 7 )
        {
            cPos.X = 3*wd ;
            cPos.Y = cPos.Y + 1;
            wd = 0;
        };
        cout<< " "<< endl;
    };
 
    t.tm_mday = td;
    mktime(&t);
    char den [] [13] = {
                        "Воскресенье",
                        "понедельник",
                        "вторник",
                        "среда",
                        "четверг",
                        "Пятница",
                        "Суббота"
                       };
    cout << den [t.tm_wday] << endl;
 
    system("Pause");
    return 0;
}
запарился ...
1
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
11.05.2013, 11:30  [ТС] #3
Слушай а почему в консоли , день месяц и год, пишутся на странном языке?
0
zybrzybr
18 / 17 / 0
Регистрация: 29.09.2010
Сообщений: 156
11.05.2013, 12:59 #4
25 строка : setlocale(LC_ALL,"Russian");

а где еще если не в консоли?)))
1
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
11.05.2013, 13:26  [ТС] #5
zybrzybr, помоги написать остальные задачки они вроде легкие но я в них запутался, блин((( пункты 2)и3)пожалста
0
zybrzybr
18 / 17 / 0
Регистрация: 29.09.2010
Сообщений: 156
11.05.2013, 13:37 #6
Цитата Сообщение от Novichok94 Посмотреть сообщение
Определить порядковый номер дня в недел
C++
1
2
3
4
5
6
7
8
9
10
11
12
    t.tm_mday = td;
    mktime(&t);
    char den [] [13] = {
                        "Воскресенье",
                        "понедельник",
                        "вторник",
                        "среда",
                        "четверг",
                        "Пятница",
                        "Суббота"
                       };
    cout << den [t.tm_wday] << endl;
это и есть день недели.
только поверх еще и пишет название этого дня.
а как оно должно выглядить?

Добавлено через 9 минут
C++
1
2
3
t.tm_mday = td;    //номер дня месяца 1-31
    mktime(&t);        // возвращает эквивалент календарного времени по дате введенной в структуру "t"
    t.tm_wday          // номер дня недели начиная с воскресенья 0-6
0
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
11.05.2013, 14:35  [ТС] #7
а день недели по введенной дате тоже в этой программе есть я так понял?просто у меня вот тчо выдает, если в консоли забить сегодняшнее число Не используйте Scanf и Printf (вывести календарь на указанный месяц этого года)вот получается такая байда?? в чем проблема?
0
zybrzybr
18 / 17 / 0
Регистрация: 29.09.2010
Сообщений: 156
11.05.2013, 14:55 #8
в 25 строке помеяй на
C++
1
setlocale(LC_ALL,"Russian")
или просто пропиши албанскими буквами.
1
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
11.05.2013, 15:18  [ТС] #9
прописал как ты сказал в 25 строке setlocale(LC_ALL,"Russian"); а толку ни какого комплилирую и те же самые буквы
, че за ...
0
zybrzybr
18 / 17 / 0
Регистрация: 29.09.2010
Сообщений: 156
11.05.2013, 15:31 #10
www.cyberforum.ru/cpp-beginners/thread10662.html

попробуй здесь почитать
0
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
11.05.2013, 15:45  [ТС] #11
а у тебя все норм , если в 25 строке прописываешь? может какая то другая проблема?
0
zybrzybr
18 / 17 / 0
Регистрация: 29.09.2010
Сообщений: 156
11.05.2013, 15:54 #12
Цитата Сообщение от Novichok94 Посмотреть сообщение
а у тебя все норм , если в 25 строке прописываешь? может какая то другая проблема?
я в code::Blocks работаю. там все нормально!
0
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
11.05.2013, 16:07  [ТС] #13
а в Builder можешь проверить,? если есть конечно он у тебя?
0
zybrzybr
18 / 17 / 0
Регистрация: 29.09.2010
Сообщений: 156
11.05.2013, 16:37 #14
попробуй сделать вот так:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    --//--//--//--//--//
 
    if( year % 4 == 0 && ( year % 100 != 0 || year % 400 == 0 ))
    ++result;
 
  return result;
}
 
char bufRus[256];
 
char* Rus(const char* text) {
      CharToOem(text, bufRus);
      return bufRus;
      }
      
int main()
{
//   setlocale(0,"russian");
    HANDLE hCon;
    COORD cPos;
    struct tm t;
    int td;
    cout << Rus("День  ");  cin >> td;
Добавлено через 25 минут
C++
1
system("chcp 1251");
0
Novichok94
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 17
11.05.2013, 18:08  [ТС] #15
этим способом, изменился только день-пишется по русски, ну в самом начале в консоли день по русски выдает а все остальное вплоть до календаря пишется на другом языке(((
0
11.05.2013, 18:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2013, 18:08
Привет! Вот еще темы с ответами:

printf scanf проги - C++
нужны проги со всеми возможными scanf и printf для практики, ничего кроме этого в проге не должно быть поидее язык си

Заданы число и месяц невисокосного года. Вычислить порядковый номер даты, начиная отсчет с начала года - C++
Заданы два натуральных числа a,b которые обозначают число и месяц не високосного года. Вычислить порядковый номер даты, начиная отсчет с...

printf,scanf, файлы borland - C++
Ребята может знает кто где можно почитать о printf,scanf в borland c++ и о работе с файлами . Устал насиловать гугл , про борланд...

Переделать на printf и scanf, пожалуйста! - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;time.h&gt; using namespace std; int main() { srand(time(NULL)); ...


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

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

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