Detyra 2.1
unknown
plain_text
4 years ago
7.5 kB
9
Indexable
using System;
using System.Windows.Forms;
namespace Detyra2
{
public partial class Form1 : Form
{
//deklarojme nje variable te tipit array qe do te permbaj vlera decimale per pagatBruto me gjatesi maksimale te elementeve7
decimal[] pagatBruto = new decimal[7];
//deklarojme nje variable te tipit array qe do te permbaj vlera decimale per pagatNeto me gjatesi maksimale te elementeve 7
decimal[] pagatNeto = new decimal[7];
//deklarojme nje variable te tipit int qe do te permbaj numrin e pagave te shtuara
int index = 0;
public Form1()
{
InitializeComponent();
}
private void btnShto_Click(object sender, EventArgs e)
{
//shikojme nese numri i pagave te shtuara eshte me i vogel se 7
if (index < 7)
{
//lexojme vleren e textboxit ku dhe e parsojme ne int si dhe e ruajme te variabla page te tipit int
int paga = Int32.Parse(txbPaga.Text);
//vleren e pages se shtuar e shtojme ne array te pagatBruto
pagatBruto[index] = paga;
//nga paga e shtuar kalkulojme pagen neto duke thirrur metoden PagaNeto, dhe e ruajme ne array te pagatNeto
pagatNeto[index] = PagaNeto(paga);
//fshijme vleren e textboxit te shtuar nga shfrytezuesi
txbPaga.Text = "";
//shikojme nese numri i pagave te shtuara eshte me i madh ose baraz me 1
if (index >= 1)
{
//deklarojme nje variable te tipit string
string vlerat = "";
//deklarojme variabel per te ruajtur totalin e pagave bruto me vlere fillestare 0, te tipit decimal per te qene me preciz
decimal totaliBruto = 0;
//deklarojme nje variabel per te ruajtur numrin e pagave te shtuara
decimal totalPaga = 0;
//lexojme gjatesin e pagatBruto (pasi eshte si array) dhe iterojme ne te
for (int i = 0; i < pagatBruto.Length; i++)
{
// shikojme nese pagaBruto me index specifik eshte me e madhe se 0
if (pagatBruto[i] > 0)
{
//mbushim variablen vlerat duke e formatuar ne forme te duhur per te shfaqur si cmim
vlerat += string.Format("{0:N2} eur\n", pagatBruto[i]);
//rritet vlera e totaliBruto duke u mbledhur me pagen aktuale
totaliBruto += pagatBruto[i];
//rritet numri i iterimeve qe kane vlere me te madhe se 0
totalPaga++;
}
}
//e ndryshojme tekstin e labeles per te i shfaqur vlerat e pagave bruto
lblLista.Text = vlerat;
//deklarojme nje variable te tipit string per te i rujtur pagat neto
string vleratNeto = "";
//deklarojme nje variable te tipit decimal per te i ruajtur totalin e pagave neto
decimal totaliNeto = 0;
//lexojme gjatesin e pagatNeto (pasi eshte si array) dhe iterojme ne te
for (int i = 0; i < pagatNeto.Length; i++)
{
// shikojme nese pagatNeto me index specifik eshte me e madhe se 0
if (pagatNeto[i] > 0)
{
//mbushim variablen vleratNeto duke e formatuar ne forme te duhur per te shfaqur si cmim
vleratNeto += string.Format("{0:N2} eur\n", pagatNeto[i]);
//rritet vlera e totaliNeto duke u mbledhur me pagen aktual
totaliNeto += pagatNeto[i];
}
}
//e ndryshojme tekstin e labeles per te i shfaqur vlerat e pagave neto
lblListaNeto.Text = vleratNeto;
//e ndryshojme tekstin e labeles per te shfaqur totalin e pagave bruto dhe e formatojme ne formen e duhur si cmim
lblTB.Text = string.Format("{0:N2} eur", totaliBruto);
//e ndryshojme tekstin e labeles per te shfaqur totalin e pagave neto dhe e formatojme ne formen e duhur si cmim
lblTN.Text = string.Format("{0:N2} eur", totaliNeto);
//e ndryshojme tekstin e labeles per te shfaqur mesataren e pagave bruto dhe e formatojme ne formen e duhur si cmim
lblMB.Text = string.Format("{0:N2} eur", totaliBruto / totalPaga);
//e ndryshojme tekstin e labeles per te shfaqur mesataren e pagave neto dhe e formatojme ne formen e duhur si cmim
lblMN.Text = string.Format("{0:N2} eur", totaliNeto / totalPaga);
}
//rrisim numrin e index qe paraqet numrin e vlerave te shtuara nga shfrytezuesi
index++;
}
//shikojme nese numri i pagave te shtuara eshte me i madh se 7
else {
//shfaqim nje messagebox qe tregon se eshte arritur numri maksimal i pagave te shtuara
MessageBox.Show("Eshte arritur numri maksimal i pagave");
}
}
//deklarojme metoden per te llogaritur pagen neto nga paga bruto
decimal PagaNeto(int paga)
{
//shikojme nese paga bruto eshte ndermjet 339 dhe 567
if (paga > 339 && paga <= 567)
{
//vlera e 5% ruhet si decimal
decimal perq = (decimal)5 / 100;
//bejme llogaritjen e pages neto nga paga bruto
return paga - paga * perq;
}
//shikojme nese paga bruto eshte ndermjet 567 dhe 1199
else if (paga > 567 && paga <= 1199)
{
//vlera e 11% ruhet si decimal
decimal perq = (decimal)11 / 100;
//bejme llogaritjen e pages neto nga paga bruto
return paga - paga * perq;
}
//shikojme nese paga neto eshte me e madhe se 1199
else if (paga > 1199)
{
//vlera e 13.8% ruhet si decimal
decimal perq = (decimal)13.8 / 100;
//llogaritet paga pas perqindjes se pare
decimal vlera13 = paga - paga * perq;
//vlera e 7% ruhet si decimal
perq = (decimal) 7 / 100;
//llogaritet paga nga vlera paraprake, vlera13, dhe ruhet ne variable te tipit decimal
decimal vlera7 = vlera13 - vlera13 * perq;
//vlera e 4% ruhet si decimal
perq = (decimal)4 / 100;
//llogaritet paga nga vlera paraprake, vlera7, dhe ruhet ne variable te tipit decimal
decimal vlera4 = vlera7 -vlera7 * perq;
//kthehet vlera e llogaritur
return vlera4;
}
//nese paga eshte me e vogel se 339 atehere paga neto dhe bruto eshte e njejte
else {
//kthehet paga bruto
return paga
};
}
}
}
Editor is loading...