Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2010, 17:10   #1
Plazma
Новичок
Джуниор
 
Регистрация: 27.11.2010
Сообщений: 2
Восклицание Нахождение следующего дня

Нужно дополнить прогу, задачка такая, Нужно написать прогу , которая добавляет день введенной дате и выводит его в указанном формате(если GENERAL то выводит не изменяя, а если EN вставляет вместо "." такой символ "/")Если введено не корректное дата выводит "Impossible".Примеры:
Ввод
6 // количество дат которые мы будем ввести
29.1.2009 GENERAL
31.12.2009 EN
24.11.-2009 EN
29.02.2010 GENERAL
29.02.2008 GENERAL
29.02.1900 GENERAL
Вывод
30.01.2009
01/01/2010
Impossible
Impossible
01.03.2008
Impossible

Этот код рабочий но надо дополнить его т.е ставить условие високосного года и если месяц или день ввелся не так 02 а так 2, то прога должна выводить с нулем т.е так 02
Цитата:
#include <iostream>
#include <string>
using namespace std;
struct year{
int a;
int b;
int c;
};
int main () {
year *a=new year[100];
int n;
cin>>n;
char d;
string w;
for(int i=0;i<n;i++){
cin>>a[i].a>>d>>a[i].b>>d>>a[i].c>>w;
if(a[i].a==31 && a[i].b!=12 && !(a[i].a==31 && a[i].b==4) && !(a[i].a==31 && a[i].b==6) && !(a[i].a==31 && a[i].b==9) && !(a[i].a==31 && a[i].b==11) && !(a[i].a==30 && a[i].b==2) && !(a[i].a==31 && a[i].b==2)||a[i].a==30 && a[i].b==4||a[i].a==30 && a[i].b==6||a[i].a==30 && a[i].b==9||a[i].a==30 && a[i].b==11 && w[0]=='G')
cout<<"1"<<d<<a[i].b+1<<d<<a[i].c<<endl;
else if(a[i].a==31 && a[i].b==12 && w[0]=='G' )
cout<<"1"<<d<<"1"<<d<<a[i].c+1<<endl;
else if(a[i].a>=1 && a[i].a<31 && a[i].b>=1 && a[i].b<=12 &&w [0]=='G' && a[i].c>0 )
cout<<a[i].a+1<<d<<a[i].b<<d<<a[i].c<<endl;
else if(a[i].a==31 && a[i].b!=12 && !(a[i].a==31 && a[i].b==4) && !(a[i].a==31 && a[i].b==6) && !(a[i].a==31 && a[i].b==9) && !(a[i].a==31 && a[i].b==11) && !(a[i].a==30 && a[i].b==2) && !(a[i].a==31 && a[i].b==2)||a[i].a==30 && a[i].b==4||a[i].a==30 && a[i].b==6||a[i].a==30 && a[i].b==9||a[i].a==30 && a[i].b==11||a[i].a==29 && a[i].b==2 && w[0]=='E')
cout<<"1"<<"/"<<a[i].b+1<<"/"<<a[i].c<<endl;
else if(a[i].a==31 && a[i].b==12 && w[0]=='E')
cout<<"1"<<"/"<<"1"<<"/"<<a[i].c+1<<endl;
else if(a[i].a>=1 && a[i].a<31 && a[i].b>=1 && a[i].b<=12 && w[0]=='E')
cout<<a[i].a+1<<"/"<<a[i].b<<"/"<<a[i].c<<endl;
else if(a[i].a<1||a[i].b<1||a[i].b>12||a[i].a>31||a[i].a==31 && a[i].b==4||a[i].a==31 && a[i].b==6||a[i].a==31 && a[i].b==9||a[i].a==31 && a[i].b==11||a[i].a==30 && a[i].b==2||a[i].a==31 && a[i].b==2 || a[i].c<0)
cout<<"Impossible"<<endl;}

return 0;
}
Если можно решите через класс

Последний раз редактировалось Plazma; 27.11.2010 в 17:24. Причина: перепутал
Plazma вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умножение больших чисел Relrin Помощь студентам 13 22.10.2010 20:44
сложение больших чисел SacReD_89 Общие вопросы C/C++ 21 25.04.2010 16:42
Описание больших чисел через дэк whatever Помощь студентам 3 04.04.2010 19:49
С# Сложение больших чисел SL1CK Помощь студентам 4 23.11.2009 21:07
Библиотека больших чисел на Delphi Victor1987 Помощь студентам 10 11.04.2008 08:25