Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Projektni zadatak: Napraviti windows aplikaciju koja ce sadržati 4 forme.

U prvoj formi napraviti 3 dugmeta


( doručak, ručak, večera) koji de omoguditi prelaz u sledede forme.
U drugoj formi pod nazivom doručak definisati klasu sa privatnim članovima(atributima, poljima):

Ime
Prezime
Broj kartice
Cena
Kolicina

Javne metode: podrazumevani konstruktor, konstruktor inicijalizacije, svojstva za pristup privatnim


podacima članovima (GetSet svojsva), metodu koja određuje Ukupnu cenu. Pritiskom na dugme Učitaj
potrebno je izvršiti kreiranje objekta klase Doručak, kao jednog elementa niza te klase od max 100
elemenata, čiji de podaci članovi sadržati podatke koje je korisnik uneo u tekstualnim poljima forme.
Definisati sledede globalne funkcije: funkciju u kojoj se u labeli ispisuje Ime studenta koji je uzeo najviše
doručaka, a zatim funkciju u kojoj de se u listbox-u ispisati ime i prezime, kao i broj kartice studenta.
U trećoj formi pod nazivom ručak definisati klasu sa privatnim članovima(atributima, poljima):

Ime i prezime
Prosek
Smer
Godina

Javne metode: podrazumevani konstruktor, konstruktor inicijalizacije, svojstva za pristup privatnim


podacima članovima (GetSet svojsva). Pritiskom na dugme Unos potrebno je izvršiti kreiranje objekta
klase Ručak, kao jednog elementa niza te klase od max 100 elemenata, čiji de podaci članovi sadržati
podatke koje je korisnik uneo u tekstualnim poljima forme. Zatim definisati sledede globalne funkcije:
funkciju u kojoj se u listbox-u 1 ispisuju svi podaci o studentu koji ima najvedi prosek i koji de dobiti
besplatan ručak, a zatim se u listbox-u 2 ispisuju svi podaci o studentu koji ima najmanji prosek i koji
ručak mora platiti duplo.
U četvrtoj formi pod nazivom večera definisati klasu sa privatnim članovima(atributima,poljima):

Vrsta
Količina
Cena

Javne metode: podrazumevani konstruktor, konstruktor inicijalizacije, svojstva za pristup privatnim


podacima članovima (GetSet svojsva), metodu koja određuje Zaradu. Pritiskom na dugme Kreiraj
potrebno je izvršiti kreiranje objekta klase Večera, kao jednog elementa niza te klase od max 100
elemenata, čiji de podaci članovi sadržati podatke koje je korisnik uneo u tekstualnim poljima forme.
Definisati sledede globalne funkcije: funkciju u kojoj se po zaradi vrši sortiranje n zadatih večera prema
zaradi, i funkciju u kojoj se pronalaze one večere čija je cena manja od srednje cene svih večera.
Pritiskom na dugme Sortiraj potrebno je ostvariti da se ListBox kontroli ispisuju podaci o sortiranim
večerama. Pritiskom na dugme Večera čija je cena manja od srednje vrednosti večera potrebno je
ostvariti da se u ListBox-u ispisuje nazivi večera čija je cena manja od srednje cene svih večera.
Maričić Vojkan 122/2014
1.Dijagram u StarUML

2. Implementacija
Na Sl. 1 . prikazan je glavni meni aplikacije koji sadrži 3 dugmeta kojima se otvaraju odgovarajude forme
za doručak, ručak i večeru u studentskoj menzi. Aplikacija inače sadrži ukupno 4 forme (Sl. 2), pri čemu:
Form1 predstavlja glavni meni, Form2 sluzi za realizaciju doručka, Form3 omogudava realizaciju ručka
dok Form4 omogudava realizaciju večere.

Sl. 1. Glavni meni aplikacije

1
Maričić Vojkan 122/2014

Sl. 2. Prikaz sadržaja Solution Explorera aplikacionog projekta

Sadržaj fajla Form1.cs


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data; using
System.Drawing; using
System.Linq; using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Show();
}
private void button2_Click(object sender, EventArgs e)
{
Form3 f = new Form3();
f.Show();
}
private void button3_Click(object sender, EventArgs e)
{
Form4 f = new Form4();
f.Show();
}
}
}

2
Maričić Vojkan 122/2014
Sadržaj i izgled fajla Form2.cs

Sl.3 Prikaz forme doručak


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data; using
System.Drawing; using
System.Linq; using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public class Dorucak
{ private string ime;
private string prezime; private
string brkartice; private
double cena; private int
kolicina; public Dorucak() {
ime = String.Copy("");
prezime = String.Copy("");
brkartice = String.Copy("");
cena = 0.0;
kolicina = 0;
}
public Dorucak(string im, string p, string brk, double c, int kl) {
ime = String.Copy(im);

3
Maričić Vojkan 122/2014
prezime = String.Copy(p);
brkartice = String.Copy(brk);
cena = c; kolicina = kl;
}
public string GetSetIme {
get { return ime; } set
{ ime = value; }
}
public string GetSetPrezime {
get { return prezime; } set
{ prezime = value; }
}
public string GetSetBrkartice {
get { return brkartice; } set
{ brkartice = value; }
}
public double GetSetCena {
get { return cena; } set
{ cena = value; }
}
public int GetSetKolicina {
get { return kolicina; }
set { kolicina = value; }
}
public double UkupnaCena() {
return cena * kolicina;
}
}
int i, n = 0;
Dorucak[] niz = new Dorucak[100];

private void button1_Click(object sender, EventArgs e)


{
niz[n] = new Dorucak(this.textBox1.Text, this.textBox2.Text, this.textBox3.Text,
Convert.ToDouble(this.textBox4.Text), Convert.ToInt32(this.textBox5.Text));
n++;
this.textBox1.Text = "";
this.textBox2.Text = ""; this.textBox3.Text
= ""; this.textBox4.Text = "";
this.textBox5.Text = "";
}
private void button2_Click(object sender, EventArgs e)
{
this.listBoxIspis.Items.Clear();
for (i = 0; i < n; i++) {
listBoxIspis.Items.Add("Ime studenta je:" + niz[i].GetSetIme);
listBoxIspis.Items.Add("Prezime studenta je:" + niz[i].GetSetPrezime);
listBoxIspis.Items.Add("Broj kartice studenta je:" + niz[i].GetSetBrkartice);
listBoxIspis.Items.Add("Cena dorucka je:" + niz[i].GetSetCena);
listBoxIspis.Items.Add("Kolicina dorucaka:" + niz[i].GetSetKolicina);

listBoxIspis.Items.Add("");
}
}
private void button3_Click(object sender, EventArgs e)
{
double max = niz[0].GetSetKolicina;
int imax = 0; for (i = 1; i < n; i++)
{ if (niz[i].GetSetKolicina >
max) { max =

4
Maričić Vojkan 122/2014
niz[i].GetSetKolicina; imax =
i;
}
label7.Text = niz[imax].GetSetIme;
}
}
private void Form2_Load(object sender, EventArgs e)
{

}
}

Sadržaj i izgled fajla Form3.cs

Sl.4 Prikaz forme ručak


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data; using
System.Drawing; using
System.Linq; using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace
WindowsFormsApplication1
{ public partial class Form3 :
Form
{
public Form3()
{
InitializeComponent();
}
public class Rucak {
private string imeiprezime;
private double prosek;
private string smer;
private string godina; public
Rucak() {
5
Maričić Vojkan 122/2014
imeiprezime = String.Copy("");
prosek = 0.0;
smer = String.Copy("");
godina = String.Copy("");
}
public Rucak(string imp, double p, string s, string g) {
imeiprezime = String.Copy(imp); prosek = p;
smer = String.Copy(s); godina = String.Copy(g);
}
public string GetSetImeiPrezime {
get { return imeiprezime; } set
{ imeiprezime = value; }
}
public double GetSetProsek {
get { return prosek; } set
{ prosek = value; }
}
public string GetSetSmer {
get { return smer; } set
{ smer = value; }
}
public string GetSetGodina {
get { return godina; } set
{ godina = value; }
}
}
int i, n = 0;
Rucak[] niz = new Rucak[100];

private void button1_Click(object sender, EventArgs e)


{
niz[n] = new Rucak(this.textBox1.Text, Convert.ToDouble(this.textBox2.Text),
this.textBox3.Text, this.textBox4.Text); n++;
this.textBox1.Text = "";
this.textBox2.Text = ""; this.textBox3.Text
= ""; this.textBox4.Text = "";
}
private void button2_Click(object sender, EventArgs e)
{
this.listBox1.Items.Clear();
double max = niz[0].GetSetProsek;
int imax = 0; for(i=0;i<n;i++){
if (niz[i].GetSetProsek > max) {
max = niz[i].GetSetProsek;
imax = i;
}
}
this.listBox1.Items.Add("Ime i prezime studenta:" +
niz[imax].GetSetImeiPrezime);
this.listBox1.Items.Add("Prosek:" + niz[imax].GetSetProsek);
this.listBox1.Items.Add("Smer:" + niz[imax].GetSetSmer);
this.listBox1.Items.Add("Godina studija:" + niz[imax].GetSetGodina);

}
private void button3_Click(object sender, EventArgs e)
{
this.listBox2.Items.Clear();
double min = niz[0].GetSetProsek;
int imin = 0;
for (i = 0; i < n; i++) {

6
Maričić Vojkan 122/2014
if (niz[i].GetSetProsek < min) {
min = niz[i].GetSetProsek;
imin = i;
}}
this.listBox2.Items.Add("Ime i prezime studenta:" +
niz[imin].GetSetImeiPrezime);
this.listBox2.Items.Add("Prosek:" + niz[imin].GetSetProsek);
this.listBox2.Items.Add("Smer:" + niz[imin].GetSetSmer);
this.listBox2.Items.Add("Godina studija:" + niz[imin].GetSetGodina);
}
}
}

Sadržaj i izgled fajla Form4.cs

Sl.5 Prikaz forme ručak


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data; using
System.Drawing; using
System.Linq; using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{ public partial class Form4 :
Form
{
public Form4()
{
InitializeComponent();
}
public class Vecera
{

7
Maričić Vojkan 122/2014
private string vrsta;
private int kolicina;
private double cena;
public Vecera() {
vrsta = String.Copy("");
kolicina = 0; cena =
0.0; }
public Vecera(string v, int k, double c)
{
vrsta = String.Copy(v);
kolicina = k; cena =
c; }
public string GetSetVrsta
{
get { return vrsta; }
set { vrsta = value; }
}
public int GetSetKolicina
{
get { return kolicina; }
set { kolicina = value; }
}
public double GetSetCena
{
get { return cena; }
set { cena = value; }
}
public double zarada()
{
return cena * kolicina;
}
}
Vecera[] niz = new Vecera[100];
int i, n = 0; Vecera t = new
Vecera();
public void Razmeni(Vecera a, Vecera b)
{
Vecera t = a;
a = b; b = t;
}
public void Sortiranje(Vecera[] niz, int n)
{
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++)
{
if (niz[i].zarada() > niz[j].zarada())

{ Razmeni(niz[i],
niz[j]); }

}
}
public double Srednja(Vecera[] niz, int n) {
double sr = 0; int i; for
(i = 0; i < n; i++) { sr = sr +
niz[i].GetSetCena;
}
sr = sr / n; return sr;
}
private void button1_Click(object sender, EventArgs e)
{

8
Maričić Vojkan 122/2014
if (n < 100)
{
niz[n] = new Vecera(this.textBox1.Text, Convert.ToInt32(this.textBox2.Text),
Convert.ToDouble(this.textBox3.Text));
n++;
this.textBox1.Text = "";
this.textBox2.Text = ""; this.textBox3.Text
= "";
}
}
private void button2_Click(object sender, EventArgs e)
{
listBoxSortiraneVrste.Items.Clear();
Sortiranje(niz, n); for (i = 0; i <
n; i++)
{
listBoxSortiraneVrste.Items.Add("Naziv vecere:" + niz[i].GetSetVrsta);
listBoxSortiraneVrste.Items.Add("Cena vecere:" + niz[i].GetSetCena);
listBoxSortiraneVrste.Items.Add("Kolicina za ovu veceru" + niz[i].GetSetKolicina);
listBoxSortiraneVrste.Items.Add("");
}
}
private void button3_Click(object sender, EventArgs e)
{
listBoxVecere.Items.Clear();
for (i = 0; i < n; i++) { if
(Srednja(niz,n) > niz[i].GetSetCena)
{
listBoxVecere.Items.Add("Naziv vecere:" + niz[i].GetSetVrsta);
listBoxVecere.Items.Add("Cena vecere:" + niz[i].GetSetCena);
listBoxVecere.Items.Add("Kolicina za ovu veceru" + niz[i].GetSetKolicina);
listBoxVecere.Items.Add("");

}
}

}
}
}

9
Maričić Vojkan 122/2014

3.Prikaz uspešnih rezultata

10
Maričić Vojkan 122/2014

11
Maričić Vojkan 122/2014

12
Maričić Vojkan 122/2014

13
Maričić Vojkan 122/2014

14

You might also like