c# zadatak

OceanDrive

Početnik
Poruka
2
Pozdrav svima, mala molba: zadat mi je projekat za fax, temu biramo sami. Moja ideja je bila da napravim program koji ce korisniku(npr nekoj firmi) na osnovu unetih parametara izracunavati kubikazu vozila iz voznog parka, ispisivati je i na osnovu nje racunati koliko ce para dati na registraciju svakog vozila ponaosob i to ispisati i dotle sam uradila. Sada bi trebalo da racuna ukupan zbir registracija na osnovu kojih ce korisnik(npr firma) znati koliko ce ukupno trosak registracije voznog parka iznositi. Stavke koje program mora da sadrzi su petlje, unos, ispis, metoda(!) minimum. Fali mi jos metoda...poz i hvala
Kod:
 while (true)
            {
                bool nope = false;
                int cilindri, precnik, hod;
                
                    Console.Write("unesite broj cilindara ");
                do
                {
                    cilindri = Convert.ToInt16(Console.ReadLine());
                    if (cilindri <=0) Console.WriteLine("Greska!\nUnesite pozitivan broj: ");
                } while (cilindri <=0);
                Console.Write("unesite precnik klipa ");
                do { 
                precnik = Convert.ToInt16(Console.ReadLine());
                    if (precnik <= 0) Console.WriteLine("Greska!\nUnesite pozitivan broj: ");
                } while (precnik <= 0);
                Console.Write("unesite hod klipa ");
                do { 
                hod = Convert.ToInt16(Console.ReadLine());
                    if (hod <= 0) Console.WriteLine("Greska!\nUnesite pozitivan broj: ");
                } while (hod <= 0);
                int kubikaza = cilindri * precnik * hod;
                Console.Write("kubikaza vaseg motora je: " + kubikaza);
                Console.ReadLine();
                int registracija = 0;
                if (kubikaza <= 1000)
                {
                    Console.WriteLine("vasa registracija ce kostati 10000dinara");
                    Console.ReadLine();
                    
                }
                else if (kubikaza > 1000 && kubikaza < 1600)
                {
                    Console.WriteLine("vasa registracija ce kostati 20000dinara");
                    Console.ReadLine();
                    
                }
                else if (kubikaza > 1600 && kubikaza < 2200)
                {
                    Console.WriteLine("vasa registracija ce kostati 30.000 dinara");
                    Console.ReadLine();
                    
                }
                
                Console.WriteLine("Sledece vozilo.......\n\n");

               
            }
            
        }
 
Hm...zar ne bi trebalo da poenta bude da resavas probleme na objektno-orijentisan nacin, a ne na identican nacin kao sto bi to radio u C-u? :)
Ali hajde, ako si resio tako, neka ti bude....resenje ti je prosto, ako zelis funkciju, samo izvuci kalkulaciju registracije u posebnu funkciju, i pozovi je iz tvoje glavne funkcije.
Takodje, treba da obezbedis i izlaz iz aplikacije.
Evo ti, grubo resenje, na tvoj nacin, celog programa:

Kod:
static void Main(string[] args)
        {
            while (true)
            {
                int cilindri, precnik, hod;

                Console.Write("unesite broj cilindara ");
                do
                {
                    cilindri = Convert.ToInt16(Console.ReadLine());
                    if (cilindri <= 0) Console.WriteLine("Greska!\nUnesite pozitivan broj: ");
                } while (cilindri <= 0);
                Console.Write("unesite precnik klipa ");
                do
                {
                    precnik = Convert.ToInt16(Console.ReadLine());
                    if (precnik <= 0) Console.WriteLine("Greska!\nUnesite pozitivan broj: ");
                } while (precnik <= 0);
                Console.Write("unesite hod klipa ");
                do
                {
                    hod = Convert.ToInt16(Console.ReadLine());
                    if (hod <= 0) Console.WriteLine("Greska!\nUnesite pozitivan broj: ");
                } while (hod <= 0);
                int kubikaza = cilindri * precnik * hod;
                Console.Write("kubikaza vaseg motora je: " + kubikaza);
                Console.ReadLine();

                Console.WriteLine(CalculateRegistrationPrise(kubikaza));

                Console.WriteLine("Da li zelite da izracunate za sledece vozilo (Y/N)?");
                if (Console.ReadLine() == "N")
                    Environment.Exit(0);
                else
                    Console.WriteLine("\n");
            }
        }
        private static string CalculateRegistrationPrise(int kubikaza)
        {
            if (kubikaza <= 1000)
                return "Vasa registracija ce kostati 10000 dinara";
            else if (kubikaza > 1000 && kubikaza < 1600)
                return "Vasa registracija ce kostati 20000 dinara";
            else if (kubikaza > 1600 && kubikaza < 2200)
                return "Vasa registracija ce kostati 30.000 dinara";
            else
                return "vasa registracija ce kostati 50.000 dinara";

        }

Posto si pocetnik, jako je vazno jos u startu da naucis da kodujes lepo, da ti kod bude cist ("Clean code").
To znaci (izmedju ostalog) da promenljive uvek moraju da same sebe opisuju - sto i jeste slucaj kod tebe, ali takodje, imena treba da budu na engleskom jeziku.

Inace, ne znam dokle ste stigli, da li ste radili klase ili ne, ali kada programiras u objektno-orijetnisanom programskom jeziku, svaki problem, pa i najsitniji, mora biti implementiran onako kako se implementira u OOP-u: pomocu klasa i interfejsa.
 
Poslednja izmena:

Back
Top