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

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

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

поправьте пожалуйста - C++

07.03.2012, 00:11. Просмотров 343. Ответов 6
Метки нет (Все метки)

Добрый вечер!
Есть задачка:Дано 2 числа d (день) и m (месяц), определите правильную дату не високосного года.
Вывести значение d и m для даты предшествующей указанной.
Я решил выводить месяц стокой, а не числом...
Просьба подправить если что то не так(только начал заниматься)
И еще вопрос: есть ли в с++ что то типа string в delphi ? Для того что бы в 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
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
#include <iostream.h>
#include <conio.h>
main()
{
 int d,m;
 cout << "\n Vvedite nomer mesyaca:  ";
 cin >> m;
 cout << "\n Vvedite den:  ";
 cin >> d;
 d=d--;
 if (d==0) m=m--;
 switch (m)
 {
  case 0,12: if (d==0) d=31;
             cout<<"\n Prediduschaya data: "<<d<<" dekabrya";
             break;
  case 1: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" yanvarya";
          break;
  case 2: if (d==0) d=28;
          cout<<"\n Prediduschaya data: "<<d<<" fevralya";
          break;
  case 3: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" marta";
          break;
  case 4: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" aprelya";
          break;
  case 5: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" maya";
          break;
  case 6: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" iyunya";
          break;
  case 7: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" iyulya";
          break;
  case 8: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" avgusta";
          break;
  case 9: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" sentyabrya";
          break;
  case 10: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" oktyabrya";
          break;
  case 11: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" noyabrya";
          break;
 }
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2012, 00:11     поправьте пожалуйста
Посмотрите здесь:

Поправьте пожалуйста код - C++
Выясните, какая из букв первая или последняя встречается в заданном слове чаще. #include &lt;iostream.h&gt; #include &lt;string.h&gt; ...

Поправьте пожалуйста код ... - C++
Вычислите длину самого короткого слова в предложении из трёх слов, разделённых пробелами. #include &lt;iostream.h&gt; #include...

Поправьте пожалуйста код. - C++
Всем доброго времени суток! Вот написал программу, а на защиту мнезадали её переделать, использую dorehile. вот собственно текст программы ...

Поправьте пожалуйста код - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;stdio.h&gt; using namespace std; int main(int argc, char*...

Поправьте пожалуйста мой калькулятор - C++
Доброго вечера. Такая проблема. Завтра в универ нужно сдать калькулятор, который я написал, но с ошибками. Программирование в MS...

Поправьте код - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using namespace std; float *N (float **A) { float min=A , sum; ...

Поправьте Код - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; int...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
07.03.2012, 00:31     поправьте пожалуйста #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
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
 int d,m;
 cout << "\n Vvedite nomer mesyaca:  ";
 cin >> m;
 while(m > 12 || m < 1)
     cin >> m;
 cout << "\n Vvedite den:  ";
 cin >> d;
 while(d > 31 || d < 1)
      cin >> d;
 d=d--;
 if (d==0) m=m--;
 switch (m)
 {
  case 12: if (d==0) d=31;
             cout<<"\n Prediduschaya data: "<<d<<" dekabrya";
             break;
  case 1: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" yanvarya";
          break;
  case 2: if (d==0) d=28;
          cout<<"\n Prediduschaya data: "<<d<<" fevralya";
          break;
  case 3: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" marta";
          break;
  case 4: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" aprelya";
          break;
  case 5: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" maya";
          break;
  case 6: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" iyunya";
          break;
  case 7: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" iyulya";
          break;
  case 8: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" avgusta";
          break;
  case 9: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" sentyabrya";
          break;
  case 10: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" oktyabrya";
          break;
  case 11: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" noyabrya";
          break;
 }
 getch();
}
так она запускаеться я поставил не большую проверку но лучше используй структуры например поместить в неё все месяцы и забить их строками константными как массив строк и количество дней в месяце тоже не плохо было бы сделать константами для упрощения проверки
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
07.03.2012, 00:41  [ТС]     поправьте пожалуйста #3
спасибо за потраченное время)
но попробуй ввести 1 января своем коде)
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
07.03.2012, 00:43     поправьте пожалуйста #4
это твой код я ничего не менял просто запустил

Добавлено через 56 секунд
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
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
 int d,m;
 cout << "\n Vvedite nomer mesyaca:  ";
 cin >> m;
 while(m > 12 || m < 1)
     cin >> m;
 cout << "\n Vvedite den:  ";
 cin >> d;
 while(d > 31 || d < 1)
      cin >> d;
 d=d--;
 if (d==0) m=m--;
 if (m == 0) m = 12;
 switch (m)
 {
  case 12: if (d==0) d=31;
             cout<<"\n Prediduschaya data: "<<d<<" dekabrya";
             break;
  case 1: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" yanvarya";
          break;
  case 2: if (d==0) d=28;
          cout<<"\n Prediduschaya data: "<<d<<" fevralya";
          break;
  case 3: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" marta";
          break;
  case 4: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" aprelya";
          break;
  case 5: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" maya";
          break;
  case 6: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" iyunya";
          break;
  case 7: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" iyulya";
          break;
  case 8: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" avgusta";
          break;
  case 9: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" sentyabrya";
          break;
  case 10: if (d==0) d=31;
          cout<<"\n Prediduschaya data: "<<d<<" oktyabrya";
          break;
  case 11: if (d==0) d=30;
          cout<<"\n Prediduschaya data: "<<d<<" noyabrya";
          break;
 }
 getch();
}
вводи 1 января
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
07.03.2012, 00:46  [ТС]     поправьте пожалуйста #5
и еще глупый вопрос... можешь в краткости написать что значит " using namespace std;" ?
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
07.03.2012, 00:49     поправьте пожалуйста #6
твоя запись была не корректна. а using namespace std это так сказать пространство имён для стандартных функций. более старые компиляторы не требуют открытия пространства имён
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2012, 00:59     поправьте пожалуйста
Еще ссылки по теме:

Поправьте программу - C++
Поправьте программку пожалста. #include&lt;iostream&gt; #include&lt;iomainip&gt; #include&lt;math.h&gt; using namespace std; int main(){ ...

Поправьте код. - C++
Добрый вечер) не будите ли так любезны помочь с прогой ) нужно чтоб на экране были 10 планет ( нашей солнечной системы) у мну вылазиют...

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

Поправьте код - C++
Снова где то портачу и не знаю где, поправьте кому не сложно #include &quot;iostream&quot; #include &lt;string.h&gt; using namespace std; ...

Поправьте код!!! - C++
Вчера весь вечер сидел, и не мог понять, почему программа выдает какой-то набор больших чисел? Вот код: #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
BetoN
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 13
07.03.2012, 00:59  [ТС]     поправьте пожалуйста #7
понял, спасибо)
Yandex
Объявления
07.03.2012, 00:59     поправьте пожалуйста
Ответ Создать тему
Опции темы

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