Detyra 2.1
unknown
plain_text
4 years ago
7.5 kB
8
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...