You are on page 1of 62

PROGRAMSKO INŽENJERSTVO

-za ispit-
Zadatak 1

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 PI_Ispit_-_Zadatak1
{

public partial class Form1 : Form


{

/* ZADATAK 1
* Napravite aplikaciju koja u svojoj glavnoj formi sadrži jednu tipku.
Pritiskom na tipku prikazuje se nova instanca iste glavne forme. Pritiskom na tipku
novo prikazane forme opet se prikazuje nova instanca glavne forme, itd. U natpisu
tipke (Text) neka piše broj instanci glavnih formi koje su prikazane. (ovu vrijednost
je potrebno ažurirati svaki puta kada korisnik klikne na tipku u bilo kojoj instanci
glavne forme)*/

static int BrojFormi = 0;

public Form1()
{

InitializeComponent();

this.button1.Text = BrojFormi.ToString();
}

private void button1_Click(object sender, EventArgs e)


{
BrojFormi++;
foreach (Form1 Forma in Application.OpenForms)
{
Forma.button1.Text = BrojFormi.ToString();
}
Form1 NovaForma = new Form1();

NovaForma.Show();
}
}
}
Zadatak 2

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 Zadatak2
{
public partial class Form1 : Form
{

/* ZADATAK 2
* Napravite windows forms aplikaciju koja sluzi kao brojač klikova (sadrži
gumb, textbox i label), klikom na gumb broji se broj klikova, nakon X klikova se
vrijednost resetira. X vrijednost korisnik unosi preko textboxa.*/

int BrojKlikova = 0;
public Form1()
{
InitializeComponent();
}

private void btnBrojKlikova(object sender, EventArgs e)


{
BrojKlikova++;
if(BrojKlikova>int.Parse(textBox1.Text))
{
BrojKlikova=0;
}

label1.Text = BrojKlikova.ToString();
}
}
}
Zadatak 3

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 Zadatak3
{
public partial class Form1 : Form
{
/* ZADATAK 3
* Napravite aplikaciju koja se sastoji od forme i gumba, kada se korisnik
kazaljkom miša približi gumbom (odnosno na onMouseOver događaj) premjesti gumb na neku
drugu (slučajnu) lokaciju na formi*/

public Form1()
{
InitializeComponent();
}

private void button1_MouseEnter(object sender, EventArgs e)


{
Random a= new Random();
int c= a.Next(0, 250);
Random b = new Random();
int d= b.Next(0, 250);

this.button1.Location = new System.Drawing.Point(c,d);


}
}
}
Zadatak 4

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 Zadatak4
{
public partial class Form1 : Form
{

/* ZADATAK 4
* Napravite aplikaciju koja sadrži izbornik, sa opcijama open i exit. Na exit
se zatvara aplikacija, a na open se otvara novi prozor kao MDI dijete*/

public Form1()
{
InitializeComponent();
this.IsMdiContainer = true;
}

private void openToolStripMenuItem_Click(object sender, EventArgs e)


{
Form Forma = new Form();
Forma.BackColor = Color.Yellow;
Forma.MdiParent = this;
Forma.Show();

private void closeToolStripMenuItem_Click(object sender, EventArgs e)


{
this.Close();
}
}
}
Zadatak 5

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 Zadatak5
{

/* ZADATAK 5
* Napravite aplikaciju koja čim ju korisnik pokrene, otvara prozor s pozdravnom
porukom i slikom, koju kad korisnik klikne zatvara prozor*/

public partial class Form1 : Form


{
public Form1()
{
InitializeComponent();
Prozor a = new Prozor();

a.Show();
a.TopMost = true;
}
}
}
Zadatak 7

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

namespace Zadatak7
{
public partial class Form1 : Form
{
/* ZADATAK 1
* Napravite windows forms aplikaciju koja ima 3 texboxa. U prvom textboxu
korisnik unosi tekst A. U drugi textbox korisnik unosi tekst B. U treci textbox unosi
bilo koji tekst, prilikom unosa teksta u treci textbox svaka pojava teksta A se mora
zamijeniti tekstom B. (npr. korisniku treci textbox piše tekst i svaki puta kada
napiše ZG automatski ce mu se umijesto ZG napisati Zagreb.)*/

public Form1()
{
InitializeComponent();
}

private void txtBoxC_TextChanged(object sender, EventArgs e)


{
string tekstA = Convert.ToString(txtBoxB.Text); // tekst iz A se pretvara
u B
string tekstB = Convert.ToString(txtBoxA.Text); // tekst iz B se pretvara
u A
string tekstC = Convert.ToString(txtBoxC.Text); // tekst iz C ostaje isti
if (tekstC.Contains(tekstB)) // Ukoliko tekst iz C sadrži tekst iz A...
{
txtBoxC.Text = tekstC.Replace(tekstB, tekstA); // ... onda se tekst iz
C mijenja sa tekstom B
}
}
}
}
Zadatak 8

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

namespace Zadatak8
{
public partial class Form1 : Form
{
/* ZADATAK 8
* Napravite windows forms aplikaciju koja učitava web stranicu (hint:
webbrowser kontrola) temeljem URLa kojeg korisnik zadaje upisom u textbox, stranica se
učitava pritiskom na tipku u formi. Kada je stranica uspješno učitana promjeniti boju
pozadine forme u zeleno.*/

public Form1()
{
InitializeComponent();
}

private void btnLoad_Click(object sender, EventArgs e)


{
Uri url = new Uri(txtURL.Text);
webBrowser1.Url = url;
}

private void webBrowser1_DocumentCompleted(object sender,


WebBrowserDocumentCompletedEventArgs e)
{
this.BackColor = Color.Green;
}
}
}
Zadatak 9

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 Zadatak9
{
public partial class Form1 : Form
{

/* ZADATAK 9
* Napraviti windows forms aplikaciju koja ima samo jedan label u kojem se u
realnom vremenu ispisuju kordinate miša kada se kreće po površini glavne forme. Oblik
zapisa neka bude "x=vrijednostX, y=vrijednostY" gdje su vrijednostX i vrijednostY
stvarne koordinate miša.*/

public Form1()
{
InitializeComponent();
}

private void Form1_MouseMove(object sender, MouseEventArgs e)


{
int a = MousePosition.X;
int b = MousePosition.Y;
label1.Text = string.Format("X:{0},Y:{1}", a.ToString(), b.ToString());
}
}
}
Zadatak 10

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

namespace Zadatak10
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/*ZADATAK 10
* Napravite windows forms aplikaciju koja ima 2 textboxa za lozinku (sadržaj
neka vizualno bude zamijenjen znakom @), korisnik mora unesti dva puta lozinku,
pritiskom na tipku aplikacija moram provjeriti ispravnost lozinke. Lozinke moraju biti
jednake u dva textboxa, moraju biti duže od 5 znakova, moraju sadržavati minimalno 3
velika slova i minimalno jedan znak za svaki element iz skupa { #, $, % }*/

private void btnAplikacija_Click(object sender, EventArgs e)


{
string a = txtPass.Text;
string b = txtRepeatPass.Text;

if (a == "" || b == "") //provjerava ako su i "Lozinka" i "Ponovno


lozinka" polja prazna, ispisuje...
{
MessageBox.Show("Nedostaje lozinka!"); //... grešku da nedostaje
lozinka
}

else if (a != b) // ukoliko je lozinka upisana u polje "Lozinka" različita


od lozinke upisana u polje "Ponovno lozinka" ...
{
MessageBox.Show("Lozinke su različite!"); //... ispisuje se poruka
greške o različitim lozinkama
}

else if (a.Length < 5) // ukoliko lozinka sadrži manje od 5 znakova ...


{
MessageBox.Show("Lozinka nije dovoljno duga!"); //... ispisuje se
poruka greške da lozinka nije dovoljno duga
}

else if (!a.Contains("#") && !a.Contains("$") && !a.Contains("%")) //


ukoliko lozinka ne sadrži posebne znakove poput #, $ ili %...
{
MessageBox.Show("Lozinka ne sadrži nijedan poseban znak!"); //...
ispisuje se greška da lozinka ne sadrži niti jedan poseban znak
}

else if (true) // ukoliko su pak svi postavljeni uvjeti zadovoljeni ...


{
MessageBox.Show("Lozinka točna!"); //... ispisuje se poruka da je
lozinka točna
}

else
{
int count = 0;
foreach (char c in a)
{
if (char.IsUpper(c))
{
count++;
}
}
if (count < 3) //ovime provjeravamo gornji dio koda da lozinka mora
sadržavati najmanje 3 velika slova, te ukoliko ne sadrži...
{
MessageBox.Show("Nema dovoljno velikih slova");//... ispisuje se
greška da nema dovoljno velikih slova
}
}
}
}
}
Zadatak 11

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Zadatak11
{

/* ZADATAK 11
* Napraviti konzolnu aplikaciju koja ispisuje sadržaj upisanog direktorija.
Korisnik prilikom pokretanja aplikacije mora upisati putanju nekog direktorija.Ukoliko
je unos neispravan treba ispisati poruku da je direktorij neispravan, inace treba
ispisati nazive svih datoteka u direktoriju. Hint directory. getfiles*/

class Program
{
static void Main(string[] args)
{
Console.WriteLine("Unesite putanju");
string Putanja = Console.ReadLine();
if (Directory.Exists(Putanja) == false)
{
Console.WriteLine("Direktorij ne postoji");
Console.Read();
}
else
{
string[] Datoteke = Directory.GetFiles(Putanja);
foreach (string x in Datoteke)
{
Console.WriteLine(x);
}
Console.Read();
}
}
}
}
Zadatak 12

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;
using System.Collections;

namespace Zadatak12
{
public partial class Form1 : Form
{

/* ZADATAK 12
*Napraviti windows forms aplikaciju koja ima jedan textbox i tipku. U textbox
korisnik unosi proizvoljan broj elemenata(brojeva) odvojenih zarezom. npr. 2,6,1,2,5.
Pritiskom na tipku u isti textboxa aplikacija mora ispisati iste brojeve ali sortirano
uzlazno i odvojeno zarezom. */

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
string[] a = textBox1.Text.Split(',');
ArrayList b= new ArrayList();
textBox1.Clear();
foreach(string x in a)
{
b.Add(int.Parse(x));
}
b.Sort(null);
foreach (int x in b)
{
textBox1.Text += x.ToString()+",";
}
}
}
}
Zadatak 13

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

namespace Zadatak13

public partial class Form1 : Form


{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 13
*Napraviti windows forms aplikaciju koja ima jedan label u kojem je ispisan
broj sekundi do početka utakmice (20:45). Aplikacija u realnom vremenu (svake sekunde)
osvježava stanje labela (broja sekundi do kraja) */

private void label1_Click(object sender, EventArgs e)


{
timer1.Interval = 1000;
timer1.Start();
}

private void timer1_Tick_1(object sender, EventArgs e)


{
DateTime pocetak = DateTime.Now;
DateTime kraj = DateTime.Parse("30.06.2013. 20:45:00");
TimeSpan razlika = kraj - pocetak;
double sekunde = razlika.TotalSeconds;
int s = Convert.ToInt32(sekunde);
label1.Text = s.ToString();
s--;
if (s == 0)
{
timer1.Stop();
}
}
}
}
Zadatak 14

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

namespace Zadatak14
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 14
*Napravite windows forms aplikaciju koja ima jedan textbox i jednu tipku.
Korisnik u textbox unosi godinu. Pritiskom na tipku aplikacija za zadanu godinu treba
u isti textbox ispisati koliko petaka 13 se nalazi u zadanoj godini. */

private void btnIzracunaj_Click(object sender, EventArgs e)


{
int godina = Convert.ToInt32(this.txtGodina.Text);
int brojac = 0;

for (int i = 1; i < 13; i++)


{
DateTime day = new DateTime(godina, i, 13);
if (day.DayOfWeek.Equals(DayOfWeek.Friday))
{
brojac++;
}
}
MessageBox.Show("Broj petaka: " + brojac);
}
}
}
Zadatak 15

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 Zadatak15
{
public partial class Form1 : Form
{
public Form1()

/*ZADATAK 15
*Napravite windows forms aplikaciju koja prilikom pokretanja pokazuje (u label
kontroli) koliko dana treba proci do sljedeceg petka. */

{
InitializeComponent();
DayOfWeek a = new DayOfWeek();
DateTime b = DateTime.Now;
int Brojac = 0;
a = b.DayOfWeek;
while (a != DayOfWeek.Friday)
{
b = b.AddDays(1);
a = b.DayOfWeek;
Brojac++;
}
label1.Text = Brojac.ToString();
}
}
}
Zadatak 16

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Zadatak16

/*ZADATAK 16
*Kreirati klasu student koja sadrži privatne atribute (int id, string ime,
string prezime, int godina studija). Napraviti javnu statičku metodu koja ispisuje
ime+prezime. Napraviti klasu redoviti student koja nasljeđuje klasu student. Atributi
koji su nasljeđeni moraju biti vidljivi i unutar klase redoviti student. */

class Program
{
static void Main(string[] args)
{

}
class Student
{
private string ime, prezime;
private int id, GodinaStudija;
public static void Ispis(string ime,string prezime)
{
Console.WriteLine(ime + " " + prezime);
Console.ReadKey();
}
//samo ugnježđene klase mogu doći do privatnih atributa base klase
class RedovniStudent : Student
{

RedovniStudent()
{
Ispis(this.ime, this.prezime);
}

}
Zadatak 17

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

/*ZADATAK 17
*Kreirati klasu Artikl sa atributima (int idArtikla, string nazivArtikla,
float jedinicnaCijena). Kreirati klasu StavkaRacuna sa atributima (int idStavke,
Artikl artikl, float kolicina). Kreirati klasu Račun koja ima atribute (int
brojRacuna, datetime datumKreiranja, string prodavac, string nacinPlacanja,
List<StavkaRacuna> stavke). U klasi StavkaRacuna napisite metodu koja će računati
ukupan iznos stavke. U klasi Racun napišite metodu koja će računati ukupan iznos
računa. */

namespace zadatak17
{
class Program
{
static void Main(string[] args)
{
}
}
class Artikl
{
int idArtikla;
string nazivArtikla;
public float jedinicnaCijena;
}
class StavkaRacuna
{
int idStavke;
Artikl artikl;
float kolicina;
public float IznosStavke()
{
return artikl.jedinicnaCijena * kolicina;
}
}
class Racun
{
int brojRacuna;
DateTime datumKreiranja;
string prodavac;
string nacinPlacanja;
List<StavkaRacuna> stavke;
public double IznosRacuna()
{
double suma = 0;
foreach (StavkaRacuna stavka in stavke)
{
suma += stavka.IznosStavke();
}
return suma;
}
}
}
Zadatak 18

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace Zadatak18

/*ZADATAK 18
*Kreirajte klasu Mjesec (misli se na kalendarski mjesec) koja ima atribute(int
redniBroj, string nazivMjeseca, int brojDana). Kreirajte klasu Semestar koja ima
atribute (Mjesec pocetakSemestra, Mjesec zavrsetakSemestra) i ima metodu koja vraća
listu mjeseca koji pripadaju tom semestru. */

{
class Program
{
static void Main(string[] args)
{
}
}
class Mjesec
{
public int redniBroj;
string Naziv;
int BrojDana;
}
class Semestar
{
Mjesec pocetakSemestra;
Mjesec zavrsetakSemestra;
List<Mjesec> Izmedju;
public List<Mjesec> Izracunaj()
{
for (Mjesec i = pocetakSemestra; i.redniBroj <
zavrsetakSemestra.redniBroj;i.redniBroj++ )
{
Izmedju.Add(i);

}
return Izmedju;
}
}
}
Zadatak 19

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

namespace Zadatak19
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 19
*Napravite windows forms aplikaciju u kojoj korisnik unosi dva broja (2
textboxa) i pritiskom na tipku korisniku se u rezultatu ispisuje rezultat dijeljena ta
dva broja. Napravite provjeru da li su uneseni brojevi a ne slova i provjeru da li je
drugi broj razlicit od nule. */

private void btnDivide_Click(object sender, EventArgs e)


{
string a = txtNum1.Text;
string b = txtNum2.Text;

double num;
bool ff = double.TryParse(b, out num);
bool je = double.TryParse(a, out num);

int prvi = Convert.ToInt32(a);


int drugi = Convert.ToInt32(b);

if (!je || !ff)
{
MessageBox.Show("To nije broj");
}

else if (drugi == 0)
{
MessageBox.Show("Nije moguce dijeliti s nulom!");
}

else
{
if (drugi != 0)
{
MessageBox.Show("Drugi broj je razlicit od nule");
}

MessageBox.Show("Rezultat dijeljenja " + prvi / drugi);


}
}
}
}
Zadatak 20

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

namespace Zadatak20
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 20
*Napravite windows forms aplikaciju koja sadrži 4 textboxa (T1,T2,T3,T4) u
koje korisnik unosi brojeve (nije potrebna provjera unosa).Pritiskom na tipku
korisniku se ispisuje presjek dva intervala ( [T1, T2] i [T3, T4]) u obliku
messageboxa */

private void button1_Click(object sender, EventArgs e)


{
int a;
int b;
int c;
int d;

if ((txtT1.Text == "") || (txtT2.Text == "") || (txtT3.Text == "") ||


(txtT4.Text == ""))
{
MessageBox.Show("Nedostaju brojevi");
}

else
{
a = Convert.ToInt16(txtT1.Text);
b = Convert.ToInt16(txtT2.Text);
c = Convert.ToInt16(txtT3.Text);
d = Convert.ToInt16(txtT4.Text);

if ((a == c) && (c == d) || (a == c) && (c == d) && (a == b))


{
MessageBox.Show("Presjek: " + a);
}

else if ((b == d) && (b == c) && (c == d))


{
MessageBox.Show("Presjek: " + b);
}
else if ((c == d) && (a == b))
{
MessageBox.Show("Presjek: " + c + " " + a);
}
else if ((c == b) && (d == a))
{
MessageBox.Show("Presjek: " + c + " " + d);
}
else if ((c == a) && (d == b))
{
MessageBox.Show("Presjek: " + c + " " + d);
}
else if ((c == d) && (a != b))
{
MessageBox.Show("Presjek: " + c);
}
else if ((a == b) && (c != d))
{
MessageBox.Show("Presjek: " + a);
}
else if ((b == c) && (a != d))
{
MessageBox.Show("Presjek: " + b);
}
else if ((a == d) && (b != c))
{
MessageBox.Show("Presjek: " + a);
}
else if ((a == c) && (b != d))
{
MessageBox.Show("Presjek: " + a);
}
else
{
MessageBox.Show("Presjek je prazan skup!");
}
}
}
}
}
Zadatak 21

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Zadatak21
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/*ZADATAK 21
*Napravite windows forms aplikaciju koja za zadani datum (koristeci
DateTimePicker) u Label ispisuje u kojem godišnjem dobu je zadani datum. Određivanje
godišnjeg doba treba napraviti svaki puta prilikom odabira datuma iz DTP */
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
this.label2.Text = Convert.ToString(this.dateTimePicker1.Value);
DateTime datum = dateTimePicker1.Value;
int dan = Convert.ToInt32(datum.Day);
int mjesec = Convert.ToInt32(datum.Month);

if (mjesec == 12 && dan > 20 || mjesec < 3)


this.label2.Text = "Zima";
else if (mjesec == 3)
{
if (dan < 21)
this.label2.Text ="Zima";
else
this.label2.Text = "Proljeće";
}
else if (6 > mjesec && mjesec > 3)
this.label2.Text = "Proljeće";
else if (mjesec == 6)
if (dan < 21)
this.label2.Text = "Proljeće";
else
this.label2.Text = "Ljeto";
else if (9 > mjesec && mjesec > 6)
this.label2.Text = "Ljeto";
else if (mjesec == 9)
{
if (dan < 23)
this.label2.Text = "Ljeto";
else
this.label2.Text = "Jesen";
}
else if (9 < mjesec && mjesec < 12)
this.label2.Text = "Jesen";
else if (mjesec == 12 && dan < 23)
this.label2.Text = "Jesen";
}
}
}
Zadatak 22

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

namespace Zadatak22
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 22
*Napravite windows forms aplikaciju koja ima jedan textbox, korisnik unosi
proizvoljan tekst u textbox, prilikom unosa svaka pojava slova "a" se zamjenjuje
slovom "b" */

private void textBox1_TextChanged(object sender, EventArgs e)


{
string tekst = textBox1.Text;
if (tekst.Contains("a"))
{
textBox1.Text = tekst.Replace("a", "b");
textBox1.Select(textBox1.Text.Length, 0);
}
}
}
}
Zadatak 23

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

namespace Zadatak23
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 23
*Napravite windows forms aplikaciju koja služi kao preglednik slika. Forma
sadrži jedan pictureBox objekt u kojem se učitava slika te jednu tipku. Tipka otvara
dijalog za odabir datoteka (OpenFileDialog objekt) nakon što je datoteka odabrana
(FileOK event) treba ju prikazati u pictureBox kontroli (Load metoda). */

private void button1_Click(object sender, EventArgs e)


{
OpenFileDialog a = new OpenFileDialog();
if (a.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
pictureBox1.ImageLocation = a.FileName;

}
}
}
Zadatak 24

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

namespace PI_Ispit_1___Zadatak_24
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 24
*Napravite windows forms aplikaciju koja u sebi sadrži jednu tipku. Pozadina
forme neka bude zelena. Tekst te tipke jednak je broj klikova na tipku. Ukoliko je
broj klikova djeljiv sa 10 tada pozadina forme treba biti crvena, inace pozadina neka
bude zelena. */

int click;

private void Form1_Load(object sender, EventArgs e)


{
this.BackColor = Color.Green;
}

private void button1_Click(object sender, EventArgs e)


{
click++;
button1.Text = click.ToString();
if (click % 10 == 0)
{
this.BackColor = Color.Red;
}
else
{
this.BackColor = Color.Green;
}

}
}
Zadatak 25

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

namespace Zadatak25
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 25
*Napravite windows forms aplikaciju koja ima tri textboxa i jednu tipku.
Korisnik u prva dva textboxa unosi dva skupa brojeva odvojenih zarezom. Pritiskom na
tipku u treci textbox se trebaju ispisati samo zajednicki elementi dva skupa (iz dva
textboxa) odvojeni zarezom */

private void button1_Click(object sender, EventArgs e)


{
string a = textBox1.Text;
string b = textBox2.Text;

string[] prvi = a.Split(',');


string[] drugi = b.Split(',');
int[] broj1 = new int[prvi.Length];
int[] broj2 = new int[drugi.Length];

for (int i = 0; i < prvi.Length; i++)


{
broj1[i] = Convert.ToInt32(prvi[i]);
}
for (int i = 0; i < drugi.Length; i++)
{
broj2[i] = Convert.ToInt32(drugi[i]);
}

string delimiter = "";


for (int i = 0; i < broj1.Length; i++)
{
if (broj2.Contains(broj1[i]))
{
textBox3.Text = textBox3.Text + delimiter + broj1[i];
delimiter = ",";
}
}
}
}
}
Zadatak 26

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

namespace Zadatak26

public partial class Form1 : Form


{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 26
*Napravite windows forms aplikaciju koja ima 3 textboxa (R,G i B) i jednu
tipku. Korisnik u svaki textbox unosi jedan broj od 0-255 (napravite provjeru unosa).
Pritiskom na tipku potrebno je promijeniti pozadinu forme u boju temeljem vrijednosti
iz textboxa (R,G,B). Hint:Color.FromArgb(R,G,B); */

private void button1_Click(object sender, EventArgs e)


{
int a;
int b;
int c;

a = Convert.ToInt16(textBox1.Text);
b = Convert.ToInt16(textBox2.Text);
c = Convert.ToInt16(textBox3.Text);

if ((a >= 0 && a <= 255) && (b >= 0 && b <= 255) && (c >= 0 && c <= 255))
{
this.BackColor = Color.FromArgb(a, b, c);
}
else
{
MessageBox.Show("Pogresna vrijednost");
}
}
}
}
Zadatak 27

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

namespace ZadatakS27
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 27
*Napravite windows forms aplikaciju koja sadrži jednu tipku i textbox.
Korisnik u textbox unosi broj. Nakon pritiska na tipku aplikacija se mora ugasiti za
uneseni broj sekundi. Broj preostalih sekundi do gašenja aplikacije treba ispisivati u
sadržaju tipke. (u realnom vremenu, svake sekunde). */

private void button1_Click(object sender, EventArgs e)


{
timer1.Interval = 1000;
timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)


{
int a = Convert.ToInt16(textBox1.Text);
button1.Text = a.ToString();
a--;
textBox1.Text = a.ToString();
textBox1.Hide();
label1.Hide();
if (a == -1)
{
timer1.Stop();
Application.Exit();
}
}
}
}
Zadatak 28

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

namespace Zadatak28
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 28
*Windows forms aplikacija koja sadrži labelu i gumb. Klikom na gumb, labela
broji broj klikova, odnosno ispisuje koliko puta je korisnik kliknuo. Ako je broj
klikova paran tada je tekst crveni, inače je crni. Kada je broj veći od 10, veličina
prozora forme se maximizira. (HINT: Modulo, FormWindowState) */

int click = 0;

private void button1_Click(object sender, EventArgs e)


{
click++;
label1.Text = click.ToString();
if (click % 2 == 0)
{
label1.ForeColor = Color.Red;
}
if (click % 2 == 1)
{
label1.ForeColor = Color.Black;
}
if (click > 10)
{
WindowState = FormWindowState.Maximized;
}
}
}
}
Zadatak 29

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 Zadatak29
{
public partial class Form1 : Form
{

/* ZADATAK 29
* Napravi novu windows forms aplikaciju koja sadrži jedan gumb, veličine je
500x500. Kada korisnik dođe mišem iznad tog gumba, lokacija (svojstvo) se postavlja na
slučajne vrijednosti X i Y. (HINT: Random r = new Random();*/

public Form1()
{
InitializeComponent();
}

private void button1_MouseEnter(object sender, EventArgs e)


{
Random a= new Random();
int c= a.Next(0, 500);
Random b = new Random();
int d= b.Next(0, 500);

this.button1.Location = new System.Drawing.Point(c,d);


}

}
}
Zadatak 30

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

namespace Zadatak30
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 30
*Napravite windows forms aplikaciju koja slučajnim odabirom izbacuje loto
brojeve za 7/39 slučajnim odabirom. Brojeve treba prikazati u 7 label kontrola.
Brojevi se odabiru pritiskom na tipku. Ukoliko je broj između manji od 20 boja teksta
neka bude zelena inace neka bude crvena. Napomena: brojevi se ne smiju ponavljati,
npr. ne mogu biti dva ista odabrana broja. HINT (Random klasa) */

private void button1_Click(object sender, EventArgs e)


{
Random r = new Random();
int prva = r.Next(1, 39);
int druga = r.Next(1, 39);
int treca = r.Next(1, 39);
int cetvrta = r.Next(1, 39);
int peta = r.Next(1, 39);
int sesta = r.Next(1, 39);
int sedma = r.Next(1, 39);

label1.Text = prva.ToString();
label2.Text = druga.ToString();
label3.Text = treca.ToString();
label4.Text = cetvrta.ToString();
label5.Text = peta.ToString();
label6.Text = sesta.ToString();
label7.Text = sedma.ToString();

if (prva < 20)


{
label1.BackColor = Color.Green;
}
else
{
label1.BackColor = Color.Red;
}
if (druga < 20)
{
label2.BackColor = Color.Green;
}
else
{
label2.BackColor = Color.Red;
}
if (treca < 20)
{
label3.BackColor = Color.Green;
}
else
{
label3.BackColor = Color.Red;
}
if (cetvrta < 20)
{
label4.BackColor = Color.Green;
}
else
{
label4.BackColor = Color.Red;
}
if (peta < 20)
{
label5.BackColor = Color.Green;
}
else
{
label5.BackColor = Color.Red;
}
if (sesta < 20)
{
label6.BackColor = Color.Green;
}
else
{
label6.BackColor = Color.Red;
}
if (sedma < 20)
{
label7.BackColor = Color.Green;
}
else
{
label7.BackColor = Color.Red;
}

}
}
}
Zadatak 31

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

namespace Zadatak31
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 31
*Napravite windows forms aplikaciju koja ima jedan ComboBox i jedan
MonthCalendar objekt. ComboBox objekt je potrebno napuniti brojevima od 1 do 12
(programski). Odabirom nekog broja iz ComboBoxa potrebno je promijeniti trenutno
prikazani mjesec u MonthCalendar objektu temeljem odabira iz ComboBoxa */

private void Form1_Load(object sender, EventArgs e)


{
for (int a = 1; a < 13; a++)
{
comboBox1.Items.Add(a);
}
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)


{
DateTime a = new DateTime(2012, Convert.ToInt32(comboBox1.SelectedItem),
4);
monthCalendar1.SetDate(a);
}

}
}
Zadatak 32

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

namespace Zadatak32
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 32
*Napravite aplikaciju kojoj se svaku sekundu promjeni pozicija */

private void Form1_Load(object sender, EventArgs e)


{
timer1.Interval = 1000;
timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)


{
Random rand = new Random();
int a = rand.Next(1, 1000);
int b = rand.Next(1, 1000);
int c = rand.Next(1, 500);
this.Location = new Point(a, b);
a = a + c;
b = b + c;
}

}
}
Zadatak 33

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

namespace Zadatak33
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

/*ZADATAK 33
*Napravite windows forms aplikaciju koja ima 3 TrackBar kontrole. Prilikom
svakog pomicanja track bara treba promijeniti boju pozadine forme sukladno
vrijednostima svakih od trackbar kontrola. Napomena: format zapisa boje je R,G,B
vrijednost od 0 do 255. Color.FromArgb(...) */

private void trackBar1_Scroll(object sender, EventArgs e)


{
trackBar1.Minimum = 0;
trackBar1.Maximum = 255;
int a = trackBar1.Value;
int b = trackBar2.Value;
int c = trackBar3.Value;
this.BackColor = Color.FromArgb(a, b, c);
}

private void trackBar2_Scroll(object sender, EventArgs e)


{
trackBar2.Minimum = 0;
trackBar2.Maximum = 255;
int a = trackBar1.Value;
int b = trackBar2.Value;
int c = trackBar3.Value;
this.BackColor = Color.FromArgb(a, b, c);
}

private void trackBar3_Scroll(object sender, EventArgs e)


{
trackBar3.Minimum = 0;
trackBar3.Maximum = 255;
int a = trackBar1.Value;
int b = trackBar2.Value;
int c = trackBar3.Value;
this.BackColor = Color.FromArgb(a, b, c);
}
}
}
Zadatak 34

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

namespace Zadatak34
{
public partial class Form1 : Form
{

/* ZADATAK 34
* Napravite windows forms aplikaciju koja ima tri textboxa (A,B,C) i jednu
tipku. Pritiskom na tipku se korisniku računa suma brojeva od A do B. Prilikom
računanja sume treba preskočiti brojeve djeljive sa C. Rezultat treba ispisati
umijesto teksta tipke.*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
int a = int.Parse(textBox1.Text);
int b = int.Parse(textBox2.Text);
int c = int.Parse(textBox3.Text);

if ((a % c == 0) || (b % c == 0))
{
MessageBox.Show("Broj 'A' i / ili 'B' je djeljiv sa 'C'!","GREŠKA!");
}
else
{
button1.Text = Convert.ToString(Convert.ToInt32(textBox1.Text) +
Convert.ToInt32(textBox2.Text));
}

}
}
}
Zadatak 35

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

namespace Zadatak35
{
public partial class Form1 : Form
{

/* ZADATAK 35
* Napravite windows forms aplikaciju koja je virtualno podijeljena na 4
kvadranta. ovisno o tome u koji kvadrant se klikne, korisniku se u label (u sredini
forme) ispisuje u koji kvadrant je kliknuto(SZ,SI,JZ,JI). Forma ne smije biti fiksne
veličine. Neka se promjeni pozadine forme ovisno u koji kvadrant je kliknuto:
SZ=Zelena, SI =Plava, JZ = Crvena, JI = Žuta*/

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)


{
label1.Location = new Point((this.Width - label1.Width) / 2, (this.Height
- label1.Height) / 2);
}

private void Form1_MouseClick(object sender, MouseEventArgs e)


{
if ((MousePosition.X - this.Location.X) < this.Width / 2 &&
(MousePosition.Y - this.Location.Y) < this.Height / 2)
{
label1.Text = "SZ";
this.BackColor = System.Drawing.Color.Green;
}
if ((MousePosition.X - this.Location.X) > this.Width / 2 &&
(MousePosition.Y - this.Location.Y) < this.Height / 2)
{
label1.Text = "SI";
this.BackColor = System.Drawing.Color.Blue;
}
if ((MousePosition.X - this.Location.X) < this.Width / 2 &&
(MousePosition.Y - this.Location.Y) > this.Height / 2)
{
label1.Text = "JZ";
this.BackColor = System.Drawing.Color.Red;
}
if ((MousePosition.X - this.Location.X) > this.Width / 2 &&
(MousePosition.Y - this.Location.Y) > this.Height / 2)
{
label1.Text = "JI";
this.BackColor = System.Drawing.Color.Yellow;
}
}
private void Form1_Resize(object sender, EventArgs e)
{
label1.Location = new Point((this.Width - label1.Width) / 2, (this.Height
- label1.Height) / 2);
this.BackColor = System.Drawing.Color.White;
label1.Text = "Centar";
}
}
}
Zadatak 36

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

namespace Zadatak36
{
public partial class Form2 : Form
{

/* ZADATAK 36
* Napravite windows forms aplikaciju koja ima 2 ProgressBar i 2 label
kontrole. ProgressBar kontrole će grafički prikazivati koordinate miša na glafnoj
formi u obliku popunjenosti progressbarova. Prvi progressbar je za X vrijednost, drugi
je za Y vrijednost. Label kontrole služe samo za označavanje progessbarova.*/

public Form1()
{
InitializeComponent();
progressBar1.Minimum = 0;
progressBar2.Minimum = 0;
progressBar1.Maximum = this.Width;
progressBar2.Maximum = this.Height;
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
progressBar1.Value = e.X;
progressBar2.Value = e.Y;
}
}
}
Zadatak 37

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

namespace Zadatak37
{
public partial class Form1 : Form
{

/*ZADATAK 37
*Napravite windows forms aplikaciju koja sadrži dvije NumericUpDown, jednu
label kontrolu i jednu tipku.
*Korisnik u NUD kontrolama odabire mjesece u godini.
*Pritiskom na tipku korisniku se u label treba ispisati popis mjeseca između
dvije NUD vrijednosti.
*Mjeseci (brojevi) trebaju biti odvojeni zarezom. */

public Form1()
{
InitializeComponent();
numericUpDown1.Minimum = 1;
numericUpDown2.Minimum = 1;
numericUpDown1.Maximum = 12;
numericUpDown2.Maximum = 12;
}

private void button1_Click(object sender, EventArgs e)


{
label1.Text = "";
for (int i = int.Parse(numericUpDown1.Value.ToString()) + 1; i <=
int.Parse(numericUpDown2.Value.ToString()) - 1; i++)
{

if (i != int.Parse(numericUpDown2.Value.ToString()) - 1)
{
label1.Text += i.ToString() + ",";
}
else
{
label1.Text += i.ToString();
}

}
}

}
}
Zadatak 38

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

namespace Zadatak38
{
public partial class Form1 : Form
{

/* ZADATAK 38
* Napravite WinF aplikaciju koja prilikom klika na svaki puta kada netko
upiše slovo T u textbox, lokaciju textboxa slučajnim odabirom*/

public Form1()
{
InitializeComponent();
}

private void textBox1_TextChanged(object sender, EventArgs e)


{
if (textBox1.Text[textBox1.TextLength - 1] == 't')
{
Random a = new Random();
int x = a.Next(0, this.Width);
int y = a.Next(0, this.Height);
textBox1.Location = new Point(x, y);
}
}
}
}
Zadatak 39

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

namespace Zadatak39
{
public partial class Form1 : Form
{

/*ZADATAK 39
*Napravite aplikaciju koja sadrži 5 labela i gumb. Svake sekunde labele
prikazuju slučajne brojeve i nalaze se na slučajnim pozicijama unutar okvira glavne
forme. Pritiskom na tipku se pokrece/zaustavlja slučajni razmještaj (i sličajni
sadržaj labela) */

public Form1()
{
InitializeComponent();
timer1.Interval = 1000;
timer1.Tick += timer1_Tick;
}

private void timer1_Tick(object sender, EventArgs e)


{
Random a = new Random();
foreach (Control kontrola in this.Controls)
{
if (kontrola.GetType() == typeof(Label))
{
kontrola.Text = a.Next().ToString();
kontrola.Location = new Point(a.Next(0, this.Width), a.Next(0,
this.Height));
}
}
}

private void button1_Click(object sender, EventArgs e)


{
if (timer1.Enabled == false)
timer1.Start();
else if (timer1.Enabled == true)
timer1.Stop();
}
}
}
Zadatak 40

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

namespace Zadatak40
{
public partial class Form1 : Form
{

/* ZADATAK 40
* Napravite aplikaciju koja korisniku omogućuje provjeru vida, klikom na gumb
povećaj ili smanji, povećava se ili smanjuje font centralne labele, čiji se sadržaj
mijenja slučajnim odabirom nakon klika na labelu. */

public Form1()
{
InitializeComponent();
}
int brojac;
private void Form1_Load(object sender, EventArgs e)
{
label1.Location = new Point((this.Width - label1.Width) / 2, (this.Height
- label1.Height) / 2);
button1.Location = new Point(this.Width / 2 - 100, this.Height - 100);
button2.Location = new Point(this.Width / 2 + 100, this.Height - 100);
brojac = Convert.ToInt32(label1.Font.Size);
}

private void Form1_Resize(object sender, EventArgs e)


{
label1.Location = new Point((this.Width - label1.Width) / 2, (this.Height
- label1.Height) / 2);
button1.Location = new Point(this.Width / 2 - 100, this.Height - 100);
button2.Location = new Point(this.Width / 2 + 100, this.Height - 100);
}
Random broj = new Random();
private void label1_Click(object sender, EventArgs e)
{
label1.Text = "";
for (int i = 0; i < 20; i++)
{
label1.Text += Convert.ToString(broj.Next(0, 10));
}
}

private void button1_Click(object sender, EventArgs e)


{
label1.Location = new Point((this.Width - label1.Width) / 2, (this.Height
- label1.Height) / 2);
brojac += 2;
label1.Font = new Font("Microsoft Sans Serif", brojac);
}

private void button2_Click(object sender, EventArgs e)


{
label1.Location = new Point((this.Width - label1.Width) / 2, (this.Height
- label1.Height) / 2);
if (brojac > 3)
brojac -= 2;
label1.Font = new Font("Microsoft Sans Serif", brojac);
}
}
}
Zadatak 41

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 Zadatak41
{
public partial class Form1 : Form
{

/* ZADATAK 41
* Dinamički na zaslonu geneirajte 10 progress barova, kojima će se svaku
sekundu vrijednosti postaviti na random*/

public Form1()
{
InitializeComponent();

for(int i=0;i<10;i++)
{
ProgressBar c = new ProgressBar();
c.Location = new Point(0,25*i);
c.Maximum = 1000;
this.Controls.Add(c);

}
timer1.Start();
timer1.Interval = 1000;
timer1.Tick += timer1_Tick;
}

void timer1_Tick(object sender, EventArgs e)


{
Random a = new Random();
foreach (ProgressBar bar in this.Controls)
{
bar.Value = a.Next(0, 1000);

}
}
}
Zadatak 42

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 Zadatak42
{
public partial class Form1 : Form
{

/* ZADATAK 42
* Napravite aplikaciju koja će ispisivati fibbonacijev niz do proizvoljnog
reda*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
label1.Text = "";
int a = 0;
int b = 1;
int suma = 1;
for (int i = 0; i < int.Parse(textBox1.Text); i++)
{
suma = a + b;
a = b;
b = suma;
label1.Text += suma + " ";
}
}
}
}
Zadatak 43

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 Zadatak43
{
public partial class Form1 : Form
{

/* ZADATAK 43
* Napravite aplikaciju koja dijeli 2 broja i omogućuje djeljenje s 0 (x/=
inf)*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{

textBox3.Text = (double.Parse(textBox1.Text) /
double.Parse(textBox2.Text)).ToString();
}
}
}
Zadatak 44

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 Zadatak44
{
public partial class Form1 : Form
{

/* ZADATAK 44
* Napravite kalkulator sa 2 broja (2 gumba) i 2 operacije (+ i -) koji
ispisuje rezultat u messagebox*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
double a = double.Parse(textBox1.Text);
double b = double.Parse(textBox2.Text);
MessageBox.Show((a+b).ToString());
}

private void button2_Click(object sender, EventArgs e)


{
double a = double.Parse(textBox1.Text);
double b = double.Parse(textBox2.Text);
MessageBox.Show((a - b).ToString());
}
}
}
Zadatak 45

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 Zadatak45
{
public partial class Form1 : Form
{

/* ZADATAK 45
* Napravite windows forms aplikaciju koja ima 1 textbox i jednu tipku.
* Korisniku textbox unosi broj X, pritiskom na tipku potrebno je generirati X
label objekata, te ih smjestiti u glavnu formu (controls kolekcija). Pozicija svakog
labela neka bude slučajna unutar dimenzija glavne forme. sadržaj labela je slučajan
broj.*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
int k = int.Parse(textBox1.Text);
Label a;
Random b = new Random();
for (int i = 0; i <k; i++)
{
a = new Label();
a.Location = new Point(b.Next(0, this.Width), b.Next(0,
this.Height));
a.Text = b.Next(0, 100).ToString();
this.Controls.Add(a);
}
}
}
}
Zadatak 46

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 Zadatak46
{
public partial class Form1 : Form
{

/* ZADATAK 46
* Na formu dodajte 2 ListBox kontrole. Prvu kontrolu programski popunite sa
rednim brojevima mjeseca (od 1 do 12). Kada odaberete neki mjesec, druga ListBox
kontrola se popuni sa rednim brojevima dana tog mjeseca. Napomena: Koristiti
DateTime.DaysInMonth metodu za dohvaćanje broja dana u mjesecu.*/

public Form1()
{
InitializeComponent();
for (int i = 1; i <= 12; i++)
{
listBox1.Items.Add(i);
}
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)


{
listBox2.Items.Clear();
for (int i = 1; i <= DateTime.DaysInMonth(DateTime.Now.Year,
listBox1.SelectedIndex + 1); i++)
{
listBox2.Items.Add(i);
}
}
}
}
Zadatak 47

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 Zadatak47
{
public partial class Form1 : Form
{
/* ZADATAK 47
* Napravite Windows Form aplikaciju sa jednom formom i jednom klasom
Pravokutnik. Na formi se nalazi 5 texboxova i jedan gumb. U prva 2 textboxa korisnik
unosi visinu i širinu pravokutnika, zatimklikne na gumb Izračunaj. U ostala 3 textboxa
se tada prikažu vrijednosti površine pravokutnika, opsega pravokutnika i dijagonale
pravokutnika. Sva funkcionalost koja se odnosi na pravokutnik se nalazi u klasi
Pravokutnik. Klasa pravokutnik ima privatne atribute: sirina, visina; konstruktor koji
prima parametre: sirina, visina; javne metode: IzracunajPovrsinu, IzracunajOpseg,
IzracunajDijagonalu.*/
public Form1()
{
InitializeComponent();

}
class Pravokutnik
{
private int sirina, visina;
public Pravokutnik(int sirina1, int visina1)
{
sirina = sirina1;
visina = visina1;
}
public double IzracunajOpseg()
{
return 2 * sirina + 2 * visina;
}
public double IzracunajDijagonalu()
{
return Math.Sqrt(Math.Pow(sirina, 2) + Math.Pow(visina, 2));
}
public double IzracunajPovrsinu()
{
return sirina * visina;
}
}
private void button1_Click(object sender, EventArgs e)
{
Pravokutnik a = new Pravokutnik(int.Parse(textBox1.Text),
int.Parse(textBox2.Text));
textBox3.Text = a.IzracunajOpseg().ToString();
textBox4.Text = a.IzracunajPovrsinu().ToString();
textBox5.Text = a.IzracunajDijagonalu().ToString();
}
}
}
Zadatak 48

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 Zadatak48
{
public partial class Form1 : Form
{

/* ZADATAK 48
* Napravite aplikaciju koja sadrži samo jedan gumb. Pritiskom na gumb,na
formi se generira 100 lablela na sljedeći način. Svaka labela na sebi sadrži slučajan
broj od 1 do 1000. U gornjoj polovici forme ispisuju se brojevi veći od 500, a u
donjoj manji od 500. U lijevoj polovici fome ispisuju se neparni brojevi, a u desnoj
polovici forme se ispisuju parni brojevi.*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
Random b = new Random();
int provjera;
for (int i = 0; i < 100; i++)
{
Label a = new Label();
provjera = b.Next(0, 1000);
if (provjera < 500 && provjera % 2 == 0)
{
a.Location=new
Point(b.Next(this.Width/2,this.Width),b.Next(this.Height/2,this.Height));
a.Text=provjera.ToString();
}
if (provjera > 500 && provjera % 2 == 0)
{
a.Location = new Point(b.Next(this.Width / 2, this.Width ),
b.Next(0, this.Height/2));
a.Text = provjera.ToString();
}
if (provjera < 500 && provjera % 2 == 1)
{
a.Location = new Point(b.Next(0, this.Width/2), b.Next(this.Height
/ 2, this.Height));
a.Text = provjera.ToString();
}
if (provjera > 500 && provjera % 2 == 1)
{
a.Location = new Point(b.Next(0, this.Width / 2), b.Next(0
,this.Height/2));
a.Text = provjera.ToString();
}
this.Controls.Add(a);
}

}
}
}
Zadatak 49

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 Zadatak49
{
public partial class Form1 : Form
{

/* ZADATAK 49
* Napravite aplikaciju koja svake sekunde ispisuje jedan pojam iz richText-a,
u kojem su pojmovi razdvojeni zarezom (mora raditi ako u trenutku kada app radi, dodam
novi pojam)*/

public Form1()
{
InitializeComponent();
timer1.Interval = 1000;
timer1.Start();
timer1.Tick += timer1_Tick;
}

void timer1_Tick(object sender, EventArgs e)


{
string []pojmovi = richTextBox1.Text.Split(',');
Random b = new Random();
int a = b.Next(0, pojmovi.Length);
textBox1.Text = pojmovi[a];
}
}
}
Zadatak 50

*
Zadatak 51

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 Zadatak51
{
public partial class Form1 : Form
{

/* ZADATAK 51
* Napravite windows forms aplikaciju koja sadrži jedan textbox i jednu tipku.
* Korisnik u textbox unosi rijec. Pritiskom na tipku aplikacija provjerava da
li je unesena rijec palindrom ili ne. Rezultat provjere se ispisuje u messageboxu.*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
bool a = true;
for (int i = 0; i < textBox1.Text.Length; i++)
{
if (textBox1.Text[i] != textBox1.Text[textBox1.Text.Length-1 - i])
{
a = false;
}
}
MessageBox.Show(a.ToString());
}
}
}
Zadatak 52

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 Zadatak52
{
public partial class Form1 : Form
{

/* ZADATAK 52
* Napravite windows forms aplikaciju koja sadrži jedan textbox i jednu tipku.
Korisnik u textbox unosi tekst. Pritiskom na tipku aplikaciju ispisuje statistiku
(broj ponavljanja) za svako slovo u rijeci. Rezultat se ispisuje u
messageboxu.primjer:unos: "buu test"rezultat:b=1u=2=1t=2e=1s=1*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
List<char> a = textBox1.Text.ToList<char>();
a.Sort();

int Brojac=1;
string ispis = "";
for(int i=0;i<a.Count-1;i++)
{
if (a[i] == a[i+1])
Brojac++;

if(a[i]!=a[i+1])
{
ispis += a[i] + ":" + Brojac+" ";
Brojac = 1;

}
if (a[i] != a[i + 1] && i + 1 == a.Count - 1)
{
ispis += a[i+1] + ":" + Brojac + " ";
Brojac = 1;
}

}
MessageBox.Show(ispis);
}
}
}
Zadatak 53

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 Zadatak53
{
public partial class Form1 : Form
{

/* ZADATAK 53
* Napravite windows forms aplikaciju koja ima 1 textbox i jednu tipku.
* Korisnik u textbox unosi broj X, pritiskom na tipku potrebno je generirati
X button objekata te ih smjestiti u glavnu formu (controls kolekcija). Pozicija svakog
buttona neka bude slučajna unutar dimenzija glavne forme. Tekstualni sadržaj buttona
je slučajan broj. Pritiskom na bilo koji od X buttona korisniku se prikazuje
messagebox sa informacijom o lokaciji buttona.*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
int broj = int.Parse(textBox1.Text);
Random a = new Random();
for (int i = 0; i < broj; i++)
{
Button c = new Button();
c.Location = new Point(a.Next(0, this.Width), a.Next(0, this.Height));
c.Text = a.Next().ToString();
c.Click += c_Click;
this.Controls.Add(c);
}
}

void c_Click(object sender, EventArgs e)


{
Button abc = (Button)sender;
MessageBox.Show(abc.Text);
}
}
}
Zadatak 54

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

namespace Zadatak54
{
public partial class Form1 : Form
{

/*ZADATAK 54
*Napravite windows forms aplikaciju koja sadrži 4 textboxa (T1,T2,T3,T4)
*u koje korisnik unosi brojeve (nije potrebna provjera unosa).
*Pritiskom na tipku korisniku se ispisuje presjek dva intervala ( [T1, T2] i
[T3, T4]) u obliku messageboxa */

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
int a;
int b;
int c;
int d;

if ((txtT1.Text == "") || (txtT2.Text == "") || (txtT3.Text == "") ||


(txtT4.Text == ""))
{
MessageBox.Show("Nedostaju brojevi");
}

else
{
a = Convert.ToInt16(txtT1.Text);
b = Convert.ToInt16(txtT2.Text);
c = Convert.ToInt16(txtT3.Text);
d = Convert.ToInt16(txtT4.Text);

if ((a == c) && (c == d) || (a == c) && (c == d) && (a == b))


{
MessageBox.Show("Presjek: " + a);
}

else if ((b == d) && (b == c) && (c == d))


{
MessageBox.Show("Presjek: " + b);
}
else if ((c == d) && (a == b))
{
MessageBox.Show("Presjek: " + c + " " + a);
}
else if ((c == b) && (d == a))
{
MessageBox.Show("Presjek: " + c + " " + d);
}
else if ((c == a) && (d == b))
{
MessageBox.Show("Presjek: " + c + " " + d);
}
else if ((c == d) && (a != b))
{
MessageBox.Show("Presjek: " + c);
}
else if ((a == b) && (c != d))
{
MessageBox.Show("Presjek: " + a);
}
else if ((b == c) && (a != d))
{
MessageBox.Show("Presjek: " + b);
}
else if ((a == d) && (b != c))
{
MessageBox.Show("Presjek: " + a);
}
else if ((a == c) && (b != d))
{
MessageBox.Show("Presjek: " + a);
}
else
{
MessageBox.Show("Presjek je prazan skup!");
}
}
}
}
}
Zadatak 55

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 Zadatak55
{
public partial class Form1 : Form
{

/* ZADATAK 55
* Napravite windows aplikaciju koja sluzi kao brojač klikova (sadrži gumb,
textbox), klikom na gumb broji se broj klikova, nakon X klikova se vrijednost
resetira. X vrijednost korisnik unosi preko textboxa. Prilikom pritiska na tipku
potrebno je promijeniti boju pozadine tipke, pocetku (i nakon resitiranja) boja
pozadine je siva, što se broj klikova približava vrijednosti X boja pozadine tipke
postaje sve crvenija. u Text tipke treba ispisati trenutno stanje klikova u obliku:
broj_klikova/X*/

int Brojac = -1;


Color curr;
public Form1()
{
InitializeComponent();
curr= this.button1.BackColor;
}

private void button1_Click(object sender, EventArgs e)


{
int max = int.Parse(textBox1.Text);

if (Brojac <= max)


{
Brojac++;
this.button1.Text = Brojac.ToString() + "/" + max.ToString();

this.button1.BackColor = Color.FromArgb(this.button1.BackColor.R ,
this.button1.BackColor.G-10, this.button1.BackColor.B-10);
}
if (Brojac == max)
{
Brojac = 0;
this.button1.BackColor = curr;
}
}
}
}
Zadatak 56

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 Zadatak56
{
public partial class Form1 : Form
{

/* ZADATAK 56
* Napravite windows forms aplikaciju koja slučajnim odabirom izbacuje loto
brojeve za X/39 slučajnim odabirom. Brojeve treba prikazati u X label kontrola
(smještene u FlowLayoutPanel). Brojevi se odabiru pritiskom na tipku, broj X se unosi
preko textboxa. Napomena: brojevi se ne smiju ponavljati, npr. ne mogu biti dva ista
odabrana broja. HINT (Random klasa)*/

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
this.flowLayoutPanel1.Controls.Clear();
int brojbrojeva = int.Parse(this.textBox1.Text);
Random a = new Random();
int[] brojevi = new int[brojbrojeva];
int trenutni;
bool postoji = false;
for (int i = 0; i < brojbrojeva; i++)
{
postoji=false;
trenutni = a.Next(0, 39);
for (int j = 0; j < i; j++)
{
if (brojevi[j] == trenutni)
{
postoji = true;
i--;
}
}
if (postoji == false)
{
brojevi[i] = trenutni;
Label labela = new Label();
labela.Text = trenutni.ToString();
this.flowLayoutPanel1.Controls.Add(labela);
}

}
}
}
}

You might also like