Języki i metodologia programowania.

 

Ćwiczenie 8

 

Programowanie w języku C#

 

Opis zadania

W trakcie laboratorium należy zamodelować w języku C# obsługę konta bankowego. Model taki powinien tak jak w rzeczywistym banku zawierać określone własności opisujące konto klienta, np. typ konta (rachunek bieżący, oszczędnościowy), numer konta (unikalny numer dla każdego klienta), stan konta (określający ile pieniędzy się na koncie znajduje) i inne.

Cel

Celem laboratorium jest napisanie programu, który będzie modelował ww. operacje na koncie klienta.

Problem ten będzie sukcesywnie rozwijany w trakcie kolejnych zajęć. Celem jest zilustrowanie podstawowych elementów programowania w języku C#.

Zadania do wykonania

1.      Uruchomić Microsoft Visual Studio .NET. Ze strony startowej wybrać New Project. Wybrać następujące parametry projektu:

Project types: Visual C# Projects
Tamlates:        Console Application
Name:             TestKonta
Location:         swój katalog domowy
Create directory for solution

2.      Zmienić nazwę domyślną klasy na UtworzKonto, a nazwę pliku na UtworzKonto.cs.

3.      Z menu Project dodać nową klasę o nazwie KontoBankowe.

4.      W klasie KontoBankowe należy zadeklarować zmienne, które będą opisywały konto. Zmienne te będą w pierwszej wersji programu publiczne:

o    numerKonta typu long

o    stanKonta typu double

o    typKonta typu string

5.      Do testowania konta należy dopisać w klasie UtworzKonto fragmenty kodu.

Aby sprawdzić, czy poszczególne deklaracje są poprawnie zapisane należy napisać w metodzie Main klasy UtworzKonto wpisać linijkę wypisującą tekst na ekranie przy użyciu metody Console.WriteLine np. "Program modelujacy obsluge kont bankowych". Należy skompilować i uruchomić program. Jeśli kompilator nie zgłosił błędów i program udało się uruchomić, to na ekranie powinien pojawić się określony komunikat. W przypadku problemów należy przeanalizować treść komunikatów kompilatora i skorygować błędy.

6.      W metodzie Main należy zadeklarować obiekty (konto1 i konto2) klasy KontoBankowe. Obiekty te będą modelowały dwa fikcyjne konta bankowe. Należy skompilować i uruchomić program. Jeśli kompilator nie zgłosił błędów i program udało się uruchomić, to na ekranie powinien pojawić się określony komunikat. W przypadku problemów należy przeanalizować treść komunikatów kompilatora i skorygować błędy.

7.      Należy zainicjować składowe obiektów: konto1 i konto2 odpowiednimi wartościami: typKonta, numerKonta, stanKonta . Dla konto1 będą to odpowiednio wartości: "Biezace", 123, 1000.00, a dla konto2 będą to odpowiednio wartości: "Oszczednosciowe", 124, 2000.00 Jeśli kompilator nie zgłosił błędów i program udało się uruchomić, to na ekranie powinien pojawić się określony komunikat. W przypadku problemów należy przeanalizować treść komunikatów kompilatora i skorygować błędy.

8.      Jeżeli poprzednie etapy przebiegły poprawnie, to należy sprawdzić, czy obiekty konto1 i konto2 mają przypisane odpowiednie wartości do składowych. Należy wypisać składowe obiektów na ekranie w postaci:

Konto numer: .......

Typ konta: .........

Saldo konta:........

Poprawny wydruk z ekranu powinien zawierać wprowadzone poprzednio wartości, np.:

Program modelujacy obsluge kont bankowych

Konto numer: 123

Typ konta : Biezace

Saldo konta: 1000.0

Konto numer: 124

Typ konta : Oszczednosciowe

Saldo konta: 2000.0

9.      Kolejna modyfikacja będzie dotyczyła możliwości wczytywania numeru konta z klawiatury przy użyciu Console.ReadLine i automatycznego przypisywania do własności obiektu. Należy się posłużyć metodą long.Parse w celu konwersji tekstu na wartość dziesiętną.

Odpowiednia linijka kodu powinna być zapisana:

konto1.numerKonta=long.Parse(Console.ReadLine());

10.  Prawdopodobnie próba kompilacji takiego programu się nie powiedzie. Podczas czytania może bowiem wystąpić błąd w takiej sytuacji metoda czytająca zgłosi wyjątek. Dlatego programista powinien napisać odpowiednie pułapki w postaci bloków:

try {

.

.

}

catch (){}

11.  W klasie UtworzKonto należy dopisać metodę statyczną NoweKontoBankowe(), która będzie zwracała obiekt typu KontoBankowe i zastąpi długi fragment kodu w metodzie Main.

Przykładowy fragment kodu został zamieszczony poniżej:

        static KontoBankowe NoweKontoBankowe() {
                KontoBankowe noweKonto = new KontoBankowe();
                try{
                   Console.Write("Prosze podac numer konta");
                   noweKonto.numerKonta= long.Parse(Console.ReadLine());
                   Console.Write("Prosze podac stan na koncie (saldo)");
                   noweKonto.stanKonta=double.Parse(Console.ReadLine());
                }
                catch(System.FormatException e){
                   Console.WriteLine("Wystapil wyjatek w czasie czytania z klawiatury: " + e) ;
                }
                return noweKonto;
        }
 

12.    W celu sprawdzenia poprawności przeprowadzonych zmian należy dodać w klasie UtworzKonto zmodyfikować metodę Main. W metodzie Main należy powołać obiekt kowalski klasy KontoBankowe. Przykładowa linia ma postać:

KontoBankowe kowalski = NoweKontoBankowe();

Następnie należy skompilować i uruchomic program.

13.  W nastepnym kroku należy dopisać metodę WypiszKonto, która będzie wypisywała na ekranie informacje o koncie.

 
 
static void WypiszKonto(KontoBankowe konto){
   Console.WriteLine("Konto numer: " + konto.numerKonta);
   Console.WriteLine("Typ konta : " + konto.typKonta);
   Console.WriteLine("Saldo konta: " + konto.stanKonta);
}
 

14.    W celu sprawdzenia poprawności przeprowadzonych zmian w metodzie Main powołać obiekt nowak klasy KontoBankowe. Dla obu obiektów należy użyć metody WypiszKonto w celu sprawdzenia poprawności przeprowadzonych zmian. Odpowiedni fragment kodu dla metody Main ma postać.

 

public static void Main(String[] arg){

   KontoBankowe kowalski = NoweKontoBankowe();

   WypiszKonto(kowalski);

   KontoBankowe nowak = NoweKontoBankowe();

   WypiszKonto(nowak);

}

 

15.  Ostatnim etapem ćwiczenia jest dokumentacja przeprowadzonych czynności.