Вверх ↑
Этот топик читают: Гость
Ответов: 89
#1: 2018-10-10 17:04:56 ЛС | профиль | цитата
Всем привет! Ребята,почему когда я ввожу значения,допустим "12(m) 1998(y)
Выдаёт ошибку...
Само задание Задание
Написать программу поиска возраста человека.
1) На вход программы поступает пара: Год и Месяц рождения.
2) Вывод программы определяется в зависимости от того, что хочет
увидеть пользователь программы:
I) Если вводится 1, возраст определяется в формате:
M-years, N-months, где M- число полных лет, N – число месяцев
II) Если вводится 0, возраст определяется в формате:
N-months, где N – число месяцев

А вот код:

#include "stdafx.h"
#include ‹iostream›
#include ‹math.h›

int main()
{
int m, y, selector, md, yd, im, iy, k = 0;
printf("Input birth date M, Y: ");
scanf_s("%d, %d", &m, &y);
printf("Input check date M, Y: ");
scanf_s("%d, %d", &im, &iy);
if ((m ‹= 0) && (m ›= 12))
{
printf("Incorrect birth month! \n");
return 0;
}
if (y ‹= 0)
{
printf("Incorrect birth year! \n");
return 0;
}

if ((im ‹ 0) && (im ›= 12))
{
printf("Incorrect check month! \n");
return 0;
}
if (iy ‹= 0)
{
printf("Incorrect check year! \n");
return 0;
}

printf("Select 1 for detail information or 0 for short: ");
scanf_s("%d", &selector);

if (im ‹ m)
{
k = m - im;
}

switch (selector)
{
case 1:
if (im › m)
{
md = im - m;
yd = iy - y;
}
else
{
md = 12 - k;
yd = iy - y - 1;
}
printf("%d months, %d years; \n", md, yd);
break;
case 0:
md = im - m;
printf("%d months; \n", md);
break;
default:
printf("Select only 1 or 0! \n");
break;
}
return 0;
}
карма: 2
-2
Голосовали:akvaeko, young_man
Ответов: 738
TRoN
Program
#2: 2018-10-10 17:22:40 ЛС | профиль | цитата
Maroon_, Недавно Делфи был , щас С++ . Ты ищешь себе язык программирования ? Бери паскаль, будет проще .
карма: -73
-1
Голосовали:666
Ответов: 1501
#3: 2018-10-10 17:30:29 ЛС | профиль | цитата
Maroon_, из кода программы вижу, вводить там нужно так "12,1998"
Много ошибок не описанных, по этому и будет закрывать в любой не понятно ситуации.
p.s. и считает она тоже не правильно.
карма: 111
0
Ответов: 13
EZclan
лидер
#4: 2018-10-10 17:55:55 ЛС | профиль | цитата
Это не c#
карма: 0
0
Ответов: 2190
Noir Villar
Граф
#5: 2018-10-10 18:01:13 ЛС | профиль | цитата
Какая-то смесь C с C++
карма: 61
0
Ответов: 834
The Dark Side
лидер
#6: 2018-10-10 21:02:55 ЛС | профиль | цитата
Maroon_ писал(а):
Всем привет! Ребята,почему когда я ввожу значения,допустим "12(m) 1998(y)
Выдаёт ошибку...

а он у тебя вообще запустился? это же какаято лютейшая техноересь



  1. из инклюдов нужен только один
    #include ‹stdio.h›
  2. в scanf в строке форматов не нужна запятая
    scanf_s("%d, %d", &m, &y);
  3. это обычный C,не C#
  4. твой код г***о и не решает твоей задачи

карма: -21
0
Ответов: 143
Silence
Безмолвие
#7: 2018-10-12 17:37:47 ЛС | профиль | цитата
Синтаксических ошибок нет. Претензия может быть только к алгоритму нахождения. На будущее, используй переменные с именами, описывающими назначение самой переменной. И, если куда-нибудь пихаешь код, делай его форматирование, хотя это скорее косяк форума. Иначе никто ничего не поймет и разбираться не захочет .
Если вводишь со скобками и тд., как сам написал, конечно будет ошибка. Иначе все окей.
карма: 1
0
Ответов: 285
#8: 2018-10-12 20:48:32 ЛС | профиль | цитата
Тут тебя захейтят даже из-за названия темы)

Хейт
Есть смысл объяснять что-то человеку, который даже не знает на чем он пишет ?
карма: -6
KItы плавают в элетктролите...
0
8
Сообщение
...