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

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

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

Немного переделать программу - C++

16.11.2013, 19:38. Просмотров 194. Ответов 0
Метки нет (Все метки)

Вот программа которая показывает календарь месяца по вводу номера года и месяца
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
#include <conio.h>
#include <iostream>
using namespace std;
 
int GetDOW (int day, int month, int year) //определение дня недели
{           //1 - понедельник, 7 - воскресение
 int w, a, y, m;
 a = (14-month)/12;
 y = year-a;
 m = month+12*a-2;
 w = (7000 + (day + y + y/4 - y/100 + y/400 + (31*m)/12))%7;
 if (w==0) w = 7; //по алгоритму воскресение - 0, меняем на 7
 return w;
}
 
void main()
{
 cout << "Input year: "; //ввод данных
 int year, month;
 cin >> year;
 cout << "\nInput month: ";
 cin >> month;
 //проверка на корректность
 if (year<0 || month<=0 || month>12) { cout << "\nBad data"; _getch(); return; }
 int days; //число дней в месяце
 if (month!=2) { //если не февраль, выбираем 30 или 31 день
  if ((month<7 && month%2==0) || (month>7 && month%2!=0)) days=30;
  else days = 31;
 } else { //если февраль, проверяем год на високосность
  if (!((year%100!=0 && year%4==0) || year%400==0)) days=28;
  else days=29;
 }
 int w = GetDOW (1, month, year); //получаем день недели
 cout << "\n Mo Tu We Th Fr Sa Su\n"; //выводим заголовок
 for (int i=1; i<w; i++) cout << "   "; //выводим пробелы до первого числа
 for (int i=1; i<=days; i++, w++) { //выводим календарь
  printf ("%3d", i);
  if (w%7==0) cout << endl; //каждую неделю переводим курсор на след. строку
 }
 _getch ();
}
Помогите пожалуйста переделать ее так,чтобы весь код был в void main(то есть возвращение(return) реализовать с помощью цикла)
и если не сложно убрать printf с getch,заменив (чтобы подклюдчалась одна библиотека #include <iostream> )
Я новичек<заранее благодарен за помощь

Добавлено через 8 минут
я пробовал так
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
#include <iostream>
using namespace std;
void main(){
setlocale(LC_ALL,"");
int g ;int days; int month; int year,w,d=0,a,y,m; 
 
 
cout << "Введите год: "; //ввод данных
 
 cin >> year;
 cout << "\nВведите месяц: ";
 cin >> month;
 
 if (month!=2) { //если не февраль, выбираем 30 или 31 день
  if ((month<7 && month%2==0) || (month>7 && month%2!=0)) days=30;
  else days = 31;
 } else { //если февраль, проверяем год на високосность
  if (!((year%100!=0 && year%4==0) || year%400==0)) days=28;
  else days=29;
 }
 do{
 
 a = (14-month)/12;
 y = year-a;
 m = month+12*a-2;
 w = (7000 + (days + y + y/4 - y/100 + y/400 + (31*m)/12))%7;
 //if (w==0) w = 7; //по алгоритму воскресение - 0, меняем на 7
 if(d==0){
     d=w;
     
 }
 d++;
 
}
while(d<w);
 
 
 cout << "\n Пн Вт Ср Чт Пт Сб Вс\n"; //выводим заголовок
 for (int i=1; i<w; i++) cout << "   "; //выводим пробелы до первого числа
 for (int i=1; i<=days; i++, w++) { //выводим календарь
  printf ("%3d", i);
  if (w%7==0) cout << endl; //каждую неделю переводим курсор на след. строку
 
cout<<"\n";
 }}
но не получилось помогите если не сложно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2013, 19:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Немного переделать программу (C++):

Переделать программу немного... - C++
Привет. Извиняюсь если написал не в тот раздел. Проблема такая. Есть программа: модель преобразования виртуального адреса в физический. Но...

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

Нужно немного переделать программу нахождения компонент сильной связности в графе - C++
В общем задание такое, нужно переделать эту программу, я не знаю как это сделать, помогите люди добрые)) #include &lt;iostream&gt; ...

Нужно немного переделать программу: использовать функции и динамическое выделение памяти - C++
Помогите переделать программу в соответствии с условиями: а) для хранения массивов используйте динамически распределяемую память; б)...

Немного переделать код - C++
Написать функцию замены всех русских символов в строке пробелами. Ввести и обработать две смешанные строки. #include&lt;iostream&gt; ...

Структуры(совсем немного переделать) - C++
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; struct TStudent{ char Name; int Balls; }; ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2013, 19:38
Привет! Вот еще темы с ответами:

Динамические переменные (нужно немного переделать) - C++
Нужно немного переделать здесь нужно найти для каждой строки количество элементов, кратные трем, и крупнейший из полученных результатов и...

меню функции нужно немного переделать - C++
следующая проблема... я сделал меню но у меня переменные не связаны между функциями где у меня ошибки? как можно исправить ...

немного иправить программу - C++
Программа Вводит класс для работы с объектом &quot;рациональная дробь&quot; и реализует: а)сложение(вычитание) двух дробей; б)приведение дроби к...

Нужно немного доделать программу - C++
Ввести класс для работы с обьектом дробь и реализовать 1) сложение(вычитание) 2)приведение к несократимому виду 1 )пункт программа...


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

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

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