Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Program wyświetlajacy datę dnia nastepnego
- --Autor: Aukasz Barczyński
- WITH Ada.Text_IO; USE Ada.Text_IO;
- WITH Ada.Integer_Text_IO; USE Ada.Integer_Text_IO;
- PROCEDURE Data_Dnia_Nst IS
- Data_Dzien : Integer;
- Znak: String (1 .. 1);
- Data_Miesiac : Integer;
- Data_Rok: Integer;
- BEGIN
- Put_Line("Podaj date w formacie dd-mm-rrrr");
- Put_Line("Przykladowo: 12-11-2011");
- Get(Data_Dzien);
- Get(Znak);
- Get(Data_Miesiac);
- Get(Znak);
- Get(Data_Rok);
- New_Line;
- IF Data_Dzien < 1 OR Data_Dzien > 31 OR Data_Miesiac < 1 OR Data_Miesiac > 12 THEN
- Put_Line("Podales zla date");
- ELSIF Data_Dzien = 29 AND Data_Miesiac = 2 AND Data_Rok Mod 4 = 0 THEN
- Put_Line("Podales zla date");
- ELSE
- Put_Line("Podales taka date:");
- Put(Data_Dzien,0);
- Put(Znak);
- Put(Data_Miesiac,0);
- Put(Znak);
- Put(Data_Rok,0);
- -- MODYFIKACJA DATY NA DZIEN NASTEPNY
- IF Data_Dzien = 31 THEN
- Data_Dzien :=01;
- IF Data_Miesiac = 12 THEN
- Data_Miesiac := 01;
- Data_Rok := Data_Rok +1;
- ELSE Data_Miesiac := Data_Miesiac + 1;
- END if;
- ELSIF Data_Dzien = 30 THEN
- CASE Data_Miesiac IS
- WHEN 1|3|5|7|8|10|12 => Data_dzien := 31;
- WHEN 2|4|6|9|11 => Data_Dzien := 01; Data_miesiac := Data_miesiac +1;
- when others => Data_dzien := Data_dzien;
- END CASE;
- ELSIF Data_Dzien = 28 AND Data_Rok Mod 4 = 0 AND Data_Miesiac = 2 THEN
- Data_Dzien := 01;
- Data_Miesiac := 03;
- ELSIF Data_Dzien = 29 AND Data_Miesiac = 2 THEN
- Data_Dzien := 01;
- Data_Miesiac := 03;
- ELSE
- Data_dzien := Data_dzien + 1;
- END IF;
- -- WYDRUK ZMODYFIKOWANEJ DATY
- New_Line;
- Put_Line("Data dnia nastepnego to:");
- Put(Data_Dzien,0);
- Put(Znak);
- Put(Data_Miesiac,0);
- Put(Znak);
- Put(Data_Rok,0);
- END IF;
- END;
Add Comment
Please, Sign In to add comment