C#-та қосу, азайту, КӨбейту, БӨлу амалдары


ПРОЦЕНТТІК СТАВКАНЫ ЕСЕПТЕЙТІН БАҒДАРЛАМА



бет14/19
Дата14.10.2023
өлшемі0,94 Mb.
#115131
1   ...   11   12   13   14   15   16   17   18   19
ПРОЦЕНТТІК СТАВКАНЫ ЕСЕПТЕЙТІН БАҒДАРЛАМА
Проценттік ставка көлемін есептейтін бағдарлама құрастырамыз, яғни қажетті салымның белгілі бір уақыттан кейін қаншалықты өсетінін есептеп шығаратын бағдарлама.
1. Форма құрастырамыз. 5 Label, 3 NumericUpDown, ComboBox және Button компоненттері қолданылған:

2. Бірінші NumericUpDown компонентін қасиеттер панелінің «Разработка» қалташасындағы атауын  numstartcount деп көрсетеміз:

Сонымен қоса келесі қасиеттерін өзгертеміз:

Мұндағы,
Value бастапқыда енгізілетін санды көрсетеді.
DecimalPlaces үтірден кейінгі цифр санын көрсетеді.
Increment үстіге не астыға басқандағы NumericUpDown мәні қаншалықты өзгеретінін көрсетеді.
Maximum беріліп отырған элементтің өзіне қамти алатын мәнінің максималдылығын көрсетеді.
Minimum беріліп отырған элементтің өзіне қамти алатын мәнінің минималдылығын көрсетеді.
ThousandsSeparator True мәнінде мың деген көрсеткішпен бөліндіні береді.
3. Екінші NumericUpDown компонентін қасиеттер панелінің «Разработка» қалташасындағы атауын numpercent деп көрсетеміз. Оның қасиетінде тек DecimalPlaces мәнін 2 деп өзгертеміз.
4. Келесі NumericUpDown-ның атауы numyears. Бұл жерде қолданушы неше жылға салым салатынын көрсетеді.
5. Одан соң ComboBox компоненті тұр. «Разработке» деген жерде оған comboprocessатауын береміз. Қолданушы бұл компонент арқылы есептеуді күні бойынша, айы, тоқсан, жарты жыл не жылдық деп көрсететін болады.
6. Ол үшін ComboBox компонентінің  батырмасын басамыз. 

7. Терезе ашылып, «Изменить элементы» батырмасын басамыз. Төмендегі терезе ашылып, әр жолға элементтерімізді жазамыз.

8. Оның астында соңғы NumericUpDown орналасқан. Оның «Разработка»-дағы атауы total. Ол жерге қолданушыға қажетті есептеулердің нәтижесі шығарылатын болады.
9. Қасиеттер панелі арқылы келесі өзгерістерді жасаймыз. Алдымен біз қолданушыға әдемі болып көрінуі үшін мәтін қаріпін өзгерттік:

Кейін, бізге белгілі DecimalPlaces, Maximum және ThousandsSeparator қасиеттерін өзгертеміз:

10. «Есептеу» батырмасы ғана қалды. Оның «Разработка»-дағы атауы calc.
11. Форманы ерекшелеп, тышқанның оң жақ батырмасын басып, «Перейти к коду» таңдаймыз.
12. public Form1() функциясын тауып, оның ішіне (InitializeComponent() жолының астына) келесі жолды жазамыз:
total.Controls[0].Visible = false;
13. Формаға оралып, ондағы Button-ды екі рет шертеміз. Ол жерге келесіні теріп жазамыз:
double startcount = Convert.ToDouble(numstartcount.Value);
double rate = Convert.ToDouble(numpercent.Value);
int years = Convert.ToInt32(numyears.Value);
14. Оның астына тіркейміз:
rate = rate / 100;
int periods = 0;
15. Енді, ең қиыны – бізге проценттік ставкаларды есептеп шығаратын формуланы шығару керек. Формуламыздың түрі:
p=c(1+r/n)^nt
Мұндағы,
p – қолданушы алатын қорытынды сомма,
с – қолданушы салатын бастапқы сомма,
r/n – ақшаның түсу күніне бөлінген проценттік ставка
n*t – ақша түсетін күндер санының жылдар санына көбейтіндісі
16. ComboBox компоненті үшін шартты операторларды қолданамыз.
17. Бірінші, қолданушы «Күніне» деп таңдаса келесі кодты жазамыз:
if (comboprocess.SelectedIndex==0)
{
double dayRate = rate / 365;
periods = years * 365;
startcount = startcount * Math.Pow((1 + dayRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
18. «Айына» үшін:
else if (comboprocess.SelectedIndex == 1)
{
double monthRate = rate / 12;
periods = years * 12;
startcount = startcount * Math.Pow((1 + monthRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
19. «Тоқсанына» үшін:
else if (comboprocess.SelectedIndex == 2)
{
double quarterRate = rate / 4;
periods = years * 4;
startcount = startcount * Math.Pow((1 + quarterRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
20. «Жарты жыл бойынша» үшін:
else if (comboprocess.SelectedIndex == 3)
{
double halfyearRate = rate / 2;
periods = years * 2;
startcount = startcount * Math.Pow((1 + halfyearRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
21. «Жылына» үшін:
else if (comboprocess.SelectedIndex == 4)
{
double yearRate = rate;
periods = years;
startcount = startcount * Math.Pow((1 + yearRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
22. Енді біз ComboBox-тың өзі үшін келесіні жазамыз:
else
{
comboprocess.Text = "Процесс таңдалмады";
}
23. Осымен бағдарламамыз дайын. Нәтижесі

24. Бағдарламаның толық листингі:
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 percentCalc
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
total.Controls[0].Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
double startcount = Convert.ToDouble(numstartcount.Value);
double rate = Convert.ToDouble(numpercent.Value);
int years = Convert.ToInt32(numyears.Value);
rate = rate / 100;
int periods = 0;
if (comboprocess.SelectedIndex==0)
{
double dayRate = rate / 365;
periods = years * 365;
startcount = startcount * Math.Pow((1 + dayRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
else if (comboprocess.SelectedIndex == 1)
{
double monthRate = rate / 12;
periods = years * 12;
startcount = startcount * Math.Pow((1 + monthRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
else if (comboprocess.SelectedIndex == 2)
{
double quarterRate = rate / 4;
periods = years * 4;
startcount = startcount * Math.Pow((1 + quarterRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
else if (comboprocess.SelectedIndex == 3)
{
double halfyearRate = rate / 2;
periods = years * 2;
startcount = startcount * Math.Pow((1 + halfyearRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
else if (comboprocess.SelectedIndex == 4)
{
double yearRate = rate;
periods = years;
startcount = startcount * Math.Pow((1 + yearRate), periods);
total.Text = Convert.ToString(Math.Round(startcount, 2));
}
else
{
comboprocess.Text = "Процесс таңдалмады";
}
}
}
}




Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   19




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет