17.10. (1) ponavljanje gradiva: Liste, strukture i enumeracije
Uslovi za završetak
1. Uvod (ponavljanje pojmova)
| Pojam | Objašnjenje | Kratak primer |
|---|---|---|
| Lista | Dinamička kolekcija podataka. | List<int> brojevi = new List<int>(); |
| Struktura (struct) | Koristi se za objedinjavanje više podataka različitih tipova u jednu logičku celinu. | struct Tacka { public int X, Y; } |
| Enumeracija (enum) | Nabrajanje imenovanih konstanti (celobrojne vrednosti). | enum Dani { Ponedeljak, Utorak, Sreda } |
Primer: Rad sa listom, strukturom i enumeracijom
Napisati program koji koristi listu struktura Automobil (marka, godiste, boja), gde je boja kreirana kao enumeracija. U listu uneti tri automobila kroz program, i na kraju ih ispisati.
using System;
using System.Collections.Generic;
enum Boja { Crvena, Zelena, Plava }
struct Automobil
{
public string Marka;
public int Godiste;
public Boja BojaAuta;
}
class Program
{
static void Main()
{
List<Automobil> lista = new List<Automobil>();
lista.Add(new Automobil { Marka = "Fiat", Godiste = 2010, BojaAuta = Boja.Crvena });
lista.Add(new Automobil { Marka = "Opel", Godiste = 2018, BojaAuta = Boja.Zelena });
lista.Add(new Automobil { Marka = "Ford", Godiste = 2022, BojaAuta = Boja.Plava });
Console.WriteLine("Spisak automobila:");
foreach (Automobil a in lista)
{
Console.WriteLine("marka: " + a.Marka + " Godište: " + a.Godiste + " Boja: " + a.BojaAuta);
}
}
}
Vežbe
Zadatak 1:
Napisati program koji koristi listu struktura Ucenik (ime, prezime, prosek).
Ispisati proseke svih učenika i pronaći onog sa najvećim prosekom.
struct Ucenik
{
public string Ime;
public string Prezime;
public double Prosek;
}
class Program
{
static void Main()
{
List<Ucenik> lista = new List<Ucenik>
{
new Ucenik { Ime="Ana", Prezime="Petrovic", Prosek=4.7 },
new Ucenik { Ime="Marko", Prezime="Ilic", Prosek=3.9 },
new Ucenik { Ime="Mila", Prezime="Jovic", Prosek=5.0 }
};
double max = 0;
string najbolji = "";
foreach (var u in lista)
{
if (u.Prosek > max)
{
max = u.Prosek;
najbolji = u.Ime + " " + u.Prezime;
}
}
Console.WriteLine("Najbolji učenik: " + najbolji + " (prosek " + max + ")");
}
}
Zadatak 2:
Kreirati enumeraciju Ocena (Nedovoljan, Dovoljan, Dobar, VrloDobar, Odlican).
Napisati program koji prikazuje poruku u zavisnosti od ocene, na sledeći način:
Proveriti koji prosek ima učenik, uraditi Math.Round(prosekUčenika) - zaokruživanje ocene, i u zavisnosti od rezultata ispisati iz enumeracije koja je to ocena ....
Poslednja izmena: петак, 17. октобар 2025, 18:21