Forum Nasza Grupa Strona Główna Nasza Grupa
Nasza mała lokalna społeczność żyjąca na Politechnice
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy     GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

"Księgowość"

 
Napisz nowy temat   Odpowiedz do tematu    Forum Nasza Grupa Strona Główna -> Programy
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
dyschemist
Zespolony z forum



Dołączył: 21 Gru 2006
Posty: 149
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Z J.J. Portu

PostWysłany: Nie 10:05, 28 Sty 2007    Temat postu: "Księgowość"

With Ada.Text_Io;
Use Ada.Text_Io;
With Ada.Integer_Text_Io;
Use Ada.Integer_Text_Io;
With Ada.Characters.Handling;
Use Ada.Characters.Handling;
With Ada.Calendar;
Use Ada.Calendar;

Procedure Ksiegowosc Is

Type Pieniadze Is Array (Positive Range 1 .. 14) Of Integer;
Zloto : Pieniadze;
Type Zmiany Is Array (Positive Range 1 .. 100) Of Integer;
Zmiana : Zmiany;

File : File_Type;
Gracz : String (1 .. 7) := (1 .. 7 => ' ');
Liczba : Integer := 0;

Ilosc_Miast : Integer;
Licznik : Integer;
Zmieniaj : Boolean;
Znak : Character := 'a';

Function Suma_Zmian (
Zmiana : In Zmiany;
Licznik : In Integer;
Wczesniej : Integer)
Return Integer Is
Suma : Integer := 0;
Begin
Suma := Wczesniej;
For I In 1..Licznik Loop
Suma :=Suma+Zmiana(I);
End Loop;
Return Suma;
End Suma_Zmian;

Procedure Wczytaj_Liczbe (
File : In File_Type;
Dlugosc : In Positive;
Liczba : Out Integer) Is
Litera : Character := 'a';
Ujemna : Boolean := False;
Begin
Liczba := 0;
For I In 1..Dlugosc Loop
Get(File,Litera);
If Litera='-' Then
Ujemna:=True;
End If;
If Is_Digit(Litera) Then
Liczba := (Character'Pos(Litera)-48)*(10**(Dlugosc-I))+Liczba;
End If;
End Loop;
If Ujemna Then
Liczba:=-Liczba;
End If;
End Wczytaj_Liczbe;

Procedure Imie_Gracza (
Numer : In Integer;
Imie : Out String) Is
Begin
Case Numer Is
When 1 =>
Imie := "Marek ";
When 2 =>
Imie := "Meggus ";
When 3 =>
Imie := "Tweety ";
When 4 =>
Imie := "Malin ";
When 5 =>
Imie := "Asia ";
When 6 =>
Imie := "Ula ";
When 7 =>
Imie := "Plichu ";
When 8 =>
Imie := "Mirek ";
When 9 =>
Imie := "Zelek ";
When 10 =>
Imie := "Crusher";
When 11 =>
Imie := "Psojka ";
When 12 =>
Imie := "Piotrek";
When 13 =>
Imie := "Ania ";
When 14 =>
Imie := "Taj Kun";
When Others =>
Imie := "Radzio?";
End Case;
End Imie_Gracza;
Begin
-----------------------------wczytanie---------------------
Open(File,In_File,"ksiegowosc.txt");
For I In 1..14 Loop
Wczytaj_Liczbe(File,10,Zloto(I));
End Loop;
Close(File);
-------------------------poczatek programu------------------------
Loop
Put_Line("----------------------------------------------------------------------------------------");
Put_Line("Wybierz gracza");
---------------------wypisanie graczy i ich zapasow-----------
For I In 1..14 Loop
Put(I,2);
Put(" - ");
Imie_Gracza(I,Gracz);
Put(Gracz);
Put(Zloto(I),10);
New_Line;
End Loop;
---------------------wybor gracza-----------------------------
Liczba:=0;
While Not (Liczba In 1..14) Loop
Put_Line("Podaj liczbe 1 do 14");
Get(Liczba);
Imie_Gracza(Liczba,Gracz);
End Loop;
---------------------podanie liczby miast---------------------
Ilosc_Miast:=-1;
While Not (Ilosc_Miast>=0) Loop
Put("Podaj ilosc miast:");
Get(Ilosc_Miast);
End Loop;
------------------wprowadzanie zmian--------------------------
For I In 1..100 Loop
Zmiana(I):=0;
End Loop;
For I In 1..Ilosc_Miast Loop
Put_Line("Podaj dochod z prowincji");
Get(Zmiana(2*I-1));
Put_Line("Podaj dochod z miasta");
Get(Zmiana(2*I));
End Loop;
------------------zmiany dodatkowe----------------------------
Zmieniaj := True;
Licznik :=Ilosc_Miast*2;
While Zmieniaj Loop
Put_Line("Wcisnij q jesli nie chcesz już nic dodawac , lub cos innego by to zrobić");
Get_Immediate(Znak);
If To_Lower(Znak) ='q' Then
Zmieniaj:=False;
Else
Licznik:=Licznik+1;
Put_Line("Jaka ilosc zlota chcesz dodac");
Get(Zmiana(Licznik));
End If;
End Loop;
-----------------wypisanie zmian-----------------------------
Put(Gracz&" ma obecnie ");
Put(Zloto(Liczba));
Put(" zlota");
New_Line;
For I In 1..Ilosc_Miast Loop
Put("Miasto ");
Put(I,2);
Put("dodano z prowincji ");
Put(Zmiana(2*I-1),6);
Put("zB, oraz z miasta");
Put(Zmiana(2*I),6);
Put("zl");
New_Line;
End Loop;
If 2*Ilosc_Miast < Licznik Then
For I In (2*Ilosc_Miast+1)..Licznik Loop
Put("Dodatkowa zmiana -");
Put(Zmiana(I),6);
Put("zl");
New_Line;
End Loop;
End If;
Put(Gracz&" bedzie mial ");
Put(Suma_Zmian(Zmiana,Licznik,Zloto(Liczba)),10);
Put(" zlota");
New_Line;
----------------------zapis zmian-------------------
Znak:='a';
Put_Line("Czy powyzszy wynik jest poprawny i ma zostac zapisany");
While To_Lower(Znak)/='t' And To_Lower(Znak)/='n' Loop
Put_Line("T-tak, N - nie");
Get(Znak);
End Loop;
If To_Lower(Znak)='t' Then
Zloto(Liczba):=Suma_Zmian(Zmiana,Licznik,Zloto(Liczba));
End If;
Znak:='a';
Put_Line("Czy dokonales już wszystkich zmian u graczy, ktorych chciales");
Put_Line("Jesli tak, wcisnij q by zakonczyc program");
Get_Immediate(Znak);
If To_Lower(Znak) = 'q' Then
Exit;
Else
New_Line(2);
End If;
End Loop;
Open(File,Out_File,"ksiegowosc.txt");
Set_Line_Length(File,10);
For I In 1..14 Loop
Put(File,Zloto(I),10);
End Loop;
Close(File);
--------------datowanie-------------------
Zegar:=Clock;
Declare

Dzien : Integer := Day (Zegar);
Miesiac : Integer := Month (Zegar);
Data : String (1 .. 5) := (1 .. 5 => '_');
Begin
Data(1):=Character'Val(48+(Dzien/10));
Data(2):=Character'Val(48+Dzien-10*(Dzien/10));
Data(3):='_';
Dasta(4):=Character'Val(48+(Miesiac/10));
Data(5):=Character'Val(48+Miesiac-10*(Miesiac/10));
Create(File,Out_File,"ksiegowosc_zapas_"&Data&".txt");
Set_Line_Length(File,10);
For I In 1..14 Loop
Put(File,Zloto(I),10);
End Loop;
End;
Close(File);

Put_Line("Dane zostaly zapisane do pliku, program moze zakonczyc swoje dzialanie");
Delay 3.0;
Exception
When Others =>
Put("Wystapil blad programu i zaraz program zostanie zamkniety");
delay 3.0;
End Ksiegowosc;


Post został pochwalony 0 razy

Ostatnio zmieniony przez dyschemist dnia Nie 11:43, 28 Sty 2007, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
dyschemist
Zespolony z forum



Dołączył: 21 Gru 2006
Posty: 149
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Z J.J. Portu

PostWysłany: Nie 10:07, 28 Sty 2007    Temat postu:

mozna pobrac i testować ... generalnie będę tu umieszczal te inne programy abyscie mogli się upewnic ze was nie oszukują ...

ad edit : dodałem datowanie w zapisie dzięki temu tworzone są kopie zapasowe od razu z datą jej utworzenia.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Nasza Grupa Strona Główna -> Programy Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

Skocz do:  

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001 phpBB Group

Chronicles phpBB2 theme by Jakob Persson (http://www.eddingschronicles.com). Stone textures by Patty Herford.
Regulamin