Уношење и приказивање података

C# програми углавном користе улазно/излазне сервисе који су понуђени у .NET Framework библиотеци класа. Упознаћемо се са уношењем и приказивањем података у командној линији, односно у конзоли. За почетак да објаснимо шта је то конзолна апликација.

    Конзолна апликација (Console Application) је апликација која се покреће у командном прозору, али нема графички кориснички интерфејс. Комуникација се одвија искључиво са командне линије.

За уношење и приказивање података у конзоли користимо методе класе Console.

    WriteLine методa је једна од излазних метода у Console класи. Она приказује стринг који смо задали као параметар на стандардни излазни ток.

System.Console.WriteLine();

Ако се на почетку програма напише директива using System; наша наредба за испис текста је могла изгледати и овако:
Console.WriteLine();


    ReadLine metoda је једна од улазних метода класе Console. Користи се за добијање вредности из корисниковог уноса у конзоли.
System.Console.ReadLine();     или      Console.ReadLine();

Пример 1. Направити конзолну апликацију која на екрану исписује:
"Zdravo, svima! Ovo je moja prva C# aplikacija!".

Слика 5.10. Изглед конзоле након покретања програма у примеру 1.

Решење:

У трећој теми Увод у развојно окружење упознали смо се са креирањем новог пројекта, као и конзолне апликације. Када креирамо конзолну апликацију, отвара се прозор за писање кода са већ датим костуром апликације. Линија static void Main(string[ ] args) дефинише главну (Main) функцију која се прва покреће приликом извршавања програма. У телу ове функције треба уписати следећи код који је потребно извршити.

static void Main(string[] args)
{
 
    //Ova linija koda omogucuje ispis teksta.
    //Console objekat predstavlja prozor komandne linije, a 
    //WriteLine je metod ovog objekta kojim se ispisuje tekst,
    //odnosno parametar ovog metoda je tekst koji zelimo da ispisemo         
    Console.WriteLine("Zdravo, svima! Ovo je moja prva C# aplikacija!");
    //Ova linija kod sluzi da se napravi pauza.
    //Koristi se metod ReadKey koji ceka da korisnik
    //pritisne taster na tastaturi. Bez nje bi se otvorio prozor 
    //komandne linije, ispisao tekst i prozor bi se odmah zatvorio                       
    Console.ReadKey();                         
}


Покретање апликације из радног окружења вршимо помоћу функцијског тастера F5 на тастатури. Ако је код исправно написан, појављује се прозор конзоле са исписаним текстом, као на слици 5.10.

Пример 2. Направити конзолну апликацију која на екрану исписује име и презиме унете особе, као и место становања, при чему име, презиме и град задајемо преко конзоле.

Слика 5.11. Изглед конзоле након покретања програма у примеру 2.

Решење:

Као и у претходном примеру, направимо конзолну апликацију и у телу Main функције уписаћемо следећи код који треба да се изврши.

static void Main(string[] args)
{
    //Deklarisanje promenljivih
    string ime;
    string prezime;
    string grad;
    //Ispisuje korisniku u komandnoj liniji da unese ime osobe
    Console.WriteLine("Unesite ime:");
    //Metodom ReadLine ucitavamo ime osobe koje je uneto u komandnoj
    //liniji u promenljivu ime tipa string
    ime = Console.ReadLine();
    //Ispisuje korisniku u komandnoj liniji da unese prezime osobe
    Console.WriteLine("Unesite prezime:");
    //Metodom ReadLine ucitavamo prezime osobe koje je uneto 
    //u komandnoj liniji u promenljivu prezime tipa string
    prezime = Console.ReadLine();               
    //Ispisuje korisniku u komandnoj liniji da unese grad
    Console.WriteLine("Unesite grad: ");
    //Metodom ReadLine ucitavamo grad koji je unet 
    //u komandnoj liniji u promenljivu grad tipa string
    grad = Console.ReadLine();
    Console.WriteLine("Uneli ste osobu: ");
    //Ispisuje ime i prezime i grad unete osobe u komandnu liniju
    Console.WriteLine(ime + " " + prezime + ", " + grad);            
    //Ova linija kod sluzi da se napravi pauza. Koristi se metod
    //ReadKey i korisnik treba da pritisne taster na tastaturi 
    //za kraj programa
    Console.ReadKey();                     
}


Када покренемо апликацију помоћу тастера F5 отвара нам се прозор у коме пише Unesite ime: . Унесемо неко име (нпр. Марко) и притиснимо Enter на тастатури, након тога се појављује следећа линија у којој пише Unesite prezime: и унесемо презиме особе (нпр. Марковић).Када притиснемо поново Enter појавиће се линија Unesite grad: (нпр. Београд) и на крају када притиснемо Enter исписаће се Uneli ste osobu: и у следећој линије појавиће нам се име и презиме унете особе и град у којем живи(у нашем примеру Марко Марковић, Београд).
Изглед прозора треба да буде као на слици 5.11.

Пример 3. Направити конзолну апликацију за унос и сабирање два цела броја.

Слика 5.12. Изглед конзоле након покретања програма у примеру 3.

Решење:

Као и у претходним примерима, направимо конзолну апликацију и у телу Main функције уписаћемо следећи код који треба да се изврши.

static void Main(string[] args)
{
    //Deklaracija promenljivih
    int prvi, drugi, rezultat;
    //U ove promenljive smesticemo unos iz konzole
    string string1, string2;
    //Ispisuje u konzoli da korisnik unese prvi broj
    Console.WriteLine("Unesite prvi broj");
    //ReadLine metodom dobijamo vrednost koju je korisnik uneo u konzoli
    string1 = Console.ReadLine();
    //Metodom int.Parse iz string1 izdvajamo celobrojnu vrednost
    prvi = int.Parse(string1);
    //Na isti nacin kao prvi broj, dobijamo i drugi broj iz konzole
    Console.WriteLine("Unesite drugi broj");
    string2 = Console.ReadLine();
    drugi = int.Parse(string2);
    //Odredjujemo zbir ta dva broja i ispisemo ga u konzoli
    rezultat = prvi + drugi;               
    Console.WriteLine("Rezultat sabiranja je: ");
    Console.WriteLine(prvi + " + " + drugi + " = " + rezultat);
    Console.ReadKey();
}


Када покренемо апликацију из радног окружења помоћу тастера F5 отвара нам се прозор конзоле у коме пише Unesite prvi broj. Унесимо неки број (нпр.5) и притиснимо Enter на тастатури, након тога се појављује Unesite drugi broj и унесемо и други број(нпр.17).Када притиснемо поново Enter појавиће нам се тражени резултат сабирања (у нашем примеру то је 22) .
Изглед прозора треба да буде као на слици 5.12.

Поред уношења и исписивања података у командној линији, односно конзоли, могуће је и уношење података преко TextBox-a и њихово исписивање у TextBox-у и Label-и. Са компонентама TextBox и Label већ смо се упознали у теми 3.Увод у развојно окружење тако да знамо на који начин се постављају на форму и њихова основна својства.

    Унос података у TextBox врши се преко тастатуре,тако што се TextBox прво постави на форму, а онда у њега укуцамо тражени податак преко тастатуре. Ако у TextBox-у желимо да прикажемо податке, на пример, вредност променљиве x, то ћемо урадити следећом наредбом:

textBox1.text = x.toString();

Као што смо исписивали податке у TextBox, могуће је исписати податке и на лабелу (Label). Када поставимо Label на форму, следећим наредбама је омогућен испис података на њој:

label1.Text = x; - на лабели се исписује вредност променљиве x, на пример, ако је x = 5, исписаће само 5.
label1.text = "Vrednost promenljive x je " + x + "."; - на лабели се исписује: Вредност променљиве x је 5. (ако је x=5)

Следећи пример илуструје унос и приказивање података у TextBox-у i Label-у.

Пример 4. Написати програм који притиском на командно дугме SABERI узима два цела броја које је корисник унео у TextBox-ове и израчунава њихов збир и исписује резултат у TextBox и на Label-у.


Решење:

Правимо форму облика:
  1. label1 - ово ћемо преименовати у prvi broj
  2. textBox1 - У ово поље корисник уноси цео број
  3. label2 - ово ћемо преименовати у drugi broj
  4. textBox2 - У ово поље корисник уноси цео број
  5. button1 - преименујемо дугме у SABERI
  6. label3 - ово ћемо преименовати у rezultat
  7. textBox3 - У ово поље ћемо исписати резултат рада програма
  8. label4 - овде ћемо такође исписати резултат рада програма
Слика 5.13. Почетни изглед форме

Када наша форма има изглед као на слици 5.14 идемо двоструки клик на дугме SABERI и када нам се отвори нови прозор у телу функције button1_Click куцамо код који треба да се извршава када кликнемо на то дугме.
Слика 5.14. Изглед форме када смо преименовали компоненте


private void button1_Click(object sender, EventArgs e)
{
    //Deklaracija promenljivih
    int x, y, rez;
    //Uzimamo vrednost iz prvog textBox-a i prevodimo ga u int
    x = int.Parse(textBox1.Text);
    //Uzimamo vrednost iz drugog textBox-a i prevodimo ga u int
    y = int.Parse(textBox2.Text);
    //Odredimo zbir dva uneta broja
    rez = x + y;
    //Ispis rezultat u textBox
    textBox3.Text = rez.ToString();
    //Ispis "Rezultat sabiranja:" na labelu
    label4.Text = "Rezultat sabiranja: ";
    //Ispis rezultat na labelu
    label4.Text = label4.Text + x + " + " + y + "=" + rez;  
}



Када покренемо апликацију из радног окружења помоћу тастера F5 отвара нам се форма и потребно је унети бројеве у TextBox-ове и затим притиснути дугме SABERI.Након тога ће се исписати резултат у TextBox и Label. На пример, за унете бројеве 5 и 17, резултат рада програма је приказан на слици 5.15.

Слика 5.15. Приказ резултата рада програма