![c# Seznam forumov](templates/subSilver/images/logo_phpBB.gif) |
c# c#
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 11:27 Naslov sporočila: Varcevanje - dn3 |
|
|
Izvedite okensko aplikacijo, ki bo izračunala privarčevani znesek glede na mesečne
obroke, letno obrestno mero ter trajanjem varčevanja. Za izbiro časovnega pričetka in
zaključka varčevanja uporabite gradnik DateTimePicker. V posebnem tekstovnem oknu
izpišite vmesni izračun števila izbranih mesecev. Minimalni čas trajanja varčevanja je 30
dni (1 mesec). Preverjanje pravilnosti vnesenih parametrov (čas končanja večji od časa
pričetka, decimalno število, prazna vrednost, število v izbranih mejah) naj se preverja v
statičnem razredu. Vse napake naj se izpisujejo v statusni vrstici. Dodajte še gradnik
LinkLabel, ki bo sprožil zagon windows okenske aplikacije kalkulator. V primeru napake
naj se odpre sporočilno okno z opisom napake. |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 11:27 Naslov sporočila: |
|
|
Preverjanje.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace domacaNaloga3
{
public static class Preverjanje
{
public static bool PreveriDatum(Form1 form, DateTime zac, DateTime kon, decimal min, decimal max)
{
bool ok = false;
if (zac!=null && kon!=null && zac.Ticks<kon.Ticks)
{
TimeSpan cas = kon.Date.Subtract(zac.Date);
if (cas.Days >= 30)
ok = true;
else form.statusStrip1.Items[0].Text = "Izbranih je manj kot 30 dni!";
}
else
{
form.statusStrip1.Items[0].Text = "Zacetni datum je kasnejsi od koncnega!";
}
return ok;
}
public static bool Preveri (Form1 form, String podatek, String vrednost, decimal min, decimal max)
{
bool ok = false;
if (vrednost == "")
{
form.statusStrip1.Items[0].Text = "Vnesite podatek; " + podatek;
}
else
{
try
{
decimal stev = Convert.ToDecimal(vrednost);
if(stev<min || stev>max)
{
form.statusStrip1.Items[0].Text = podatek + "mora biti v mejah med " + min.ToString() + " in " + max.ToString();
}
else
{
ok = true;
}
}
catch
{
form.statusStrip1.Items[0].Text = "Vnesite decimalno stevilo: " + podatek;
}
}
return ok;
}
}
} |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 11:28 Naslov sporočila: |
|
|
Status.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace domacaNaloga3
{
public class Status
{
public string opis { get; set; }
bool napaka;
public bool Napaka
{
get { return napaka; }
set { napaka = value; }
}
}
} |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
seesharp Administrator foruma
Pridružen/-a: 27.06. 2017, 18:40 Prispevkov: 43
|
Objavljeno: 28 Jun 2017 11:28 Naslov sporočila: |
|
|
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 domacaNaloga3
{
public partial class Form1 : Form
{
DateTime zacetek;
DateTime konec;
public Form1()
{
InitializeComponent();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
string pname = "calc";
try
{
System.Diagnostics.Process.Start(pname);
}
catch
{
MessageBox.Show("Napaka pri odpiranju programa " + pname, ". Napaka:", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btIzracun_Click(object sender, EventArgs e)
{
zacetek = dateTimePicker1.Value;
konec = dateTimePicker2.Value;
if (Validacija())
{
int let = konec.Year - zacetek.Year;
int mesec = konec.Month - zacetek.Month;
mesec += 12 * let;
textBox4.Text = mesec + "mesecev";
decimal znesek = Convert.ToDecimal(tbMesecniObrok);
decimal obresti = Convert.ToDecimal(tbLetneObresti);
decimal mesobresti = obresti / 12 / 100;
tbPrivarcevaniZnesek.Text = izracun(znesek, mesobresti, mesec).ToString("c");
}
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
tbPrivarcevaniZnesek.Text = "";
textBox4.Text = "";
statusStrip1.Items[0].Text = "";
}
private decimal izracun(decimal znesek, decimal mesobresti, int mesecev)
{
decimal rezultat = 0m;
for (int i=0; i<mesecev; i++)
{
rezultat = (rezultat + znesek) * (1 + mesobresti);
}
return rezultat;
}
private bool Validacija()
{
if (Preverjanje.PreveriDatum(this, zacetek, konec) &&
Preverjanje.Preveri(this, label1.Text, tbLetneObresti.Text, 0, 1000) &&
Preverjanje.Preveri(this, label2.Text, tbMesecniObrok.Text, 0.0m, 15.0m))
return true;
return false;
}
private bool Validacija2()
{
//
}
}
} |
|
Nazaj na vrh |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu
|
|