CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Kalkulator

Kalkulator

dział ogólny

Kalkulator

Nowy postprzez Frytek18 » poniedziałek, 4 czerwca 2012, 18:24

Chce zrobic cos takiego ze mamy button3 ale najpierw wypełniamy Edit1 i Edit2 liczbami. Chodzi o to ze gdy wpiszemy do Edit1 = 2 a do edit2 = 3 to zeby wyszło 2*3*4*5; chodzi ze ta pierwsza liczba jest startem a ostatnia to ile razy ma pomnożyć o n+1
KOD cpp:     UKRYJ  
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float *a = new float;
float *b = new float;
float *wynik = new float;
float mnoz (TEdit *a, TEdit *b)
{
 float liczba1 = a->Text.ToDouble();
 float liczba2 = b->Text.ToDouble();

 return liczba1 * liczba2;
}
float dziel (TEdit *a, TEdit *b)
{
 float liczba1 = a->Text.ToDouble();
 float liczba2 = b->Text.ToDouble();
 return liczba1/liczba2;
}
float takiecos(TEdit *a, TEdit *b)
{
//tutaj ma byc ta funkcja która opisałem wyżej.

}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{

}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
try {
        *a = Edit1->Text.ToDouble();
        *b = Edit2->Text.ToDouble();
} catch (...) {
        MessageBox(NULL,"Upewnij sie czy aby napewno wpisałes liczbe!!!",NULL,MB_ICONWARNING);
}

*wynik = *a + *b;
Edit3->Text = *wynik;
delete a,b,wynik;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try {
        *a = Edit1->Text.ToDouble();
        *b = Edit2->Text.ToDouble();
} catch (...) {
        MessageBox(NULL,"Upewnij sie czy aby napewno wpisałes liczbe!!!",NULL,MB_ICONWARNING);
}

*wynik = *a - *b;
Edit3->Text = *wynik;
delete a,b,wynik;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Edit3->Text = (String)mnoz( Edit1, Edit2 );
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
try {
                  Edit3->Text = (String)dziel( Edit1, Edit2 );
           }
        catch(...){
                MessageBox(NULL,"Dzielenie nie możliwe",NULL,MB_ICONWARNING);
           }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
Edit3->Text = (String)takiecos( Edit1, Edit2 );
}
//---------------------------------------------------------------------------
 
Avatar użytkownika
Frytek18
Homos antropiczny
Homos antropiczny
 
Posty: 60
Dołączył(a): czwartek, 17 maja 2012, 19:05
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: WIN XP 32 bit
Kompilator: Embarcadero RAD Studio 2010 C++
Gadu Gadu: 5032466
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Cyfrowy Baron » poniedziałek, 4 czerwca 2012, 19:15

Frytek18 napisał(a): zeby wyszło 2*3*4*5;


Chcesz takie równanie wprowadzić do jednego pola Edit?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Frytek18 » poniedziałek, 4 czerwca 2012, 19:30

chce zeby w edit3 wyswietlił wynik czegos takiego:
np; wpisujemy w EDIT1 jakas liczbe np 2 a w EDIT2 np 3 i w Edit# ma wyswietlic wynik 2*3*4*5 gdzie 2 to liczba od której startujemy a 3 liczba to jest wiadomość ze liczba 2 zostanie pomnożona 3 razy za każdym razem zwiększona o jedno. chodzi o to dokładniej ze a to początek b to liczba która oznacza ze liczba a zostanie pomnożone przez a+1 tyle razy ile b wynośi np wpisujemy a=3 , b= 4 wynik równa sie 3*4*5*6*7, np a=7, b=3 wynik 7*8*9*10;
Avatar użytkownika
Frytek18
Homos antropiczny
Homos antropiczny
 
Posty: 60
Dołączył(a): czwartek, 17 maja 2012, 19:05
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: WIN XP 32 bit
Kompilator: Embarcadero RAD Studio 2010 C++
Gadu Gadu: 5032466
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Cyfrowy Baron » poniedziałek, 4 czerwca 2012, 19:46

KOD cpp:     UKRYJ  
float mnoz (TEdit *a, TEdit *b)
{
 float liczba1 = a->Text.ToDouble();
 float liczba2 = b->Text.ToDouble();

 float wynik = liczba1;


 for(float i = 0; i < liczba2; i++)
 {
  wynik = wynik * (liczba2 + i);
 }

 return wynik;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 Edit3->Text = (String)mnoz( Edit1, Edit2 );
}


Uważaj! Przy takim mnożeniu łatwo przekroczyć maksymalną pojemność zmiennej.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Frytek18 » poniedziałek, 4 czerwca 2012, 20:01

nie działa to tak jak chciałem przy danych a =1 i b= 3 wychodzi wynik 60; a powinno 1*2*3*4 czyli 24 powinno wyjsc
Avatar użytkownika
Frytek18
Homos antropiczny
Homos antropiczny
 
Posty: 60
Dołączył(a): czwartek, 17 maja 2012, 19:05
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: WIN XP 32 bit
Kompilator: Embarcadero RAD Studio 2010 C++
Gadu Gadu: 5032466
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Cyfrowy Baron » poniedziałek, 4 czerwca 2012, 20:07

Bynajmniej! Jeżeli a = 1 a b = 3 to równanie zgodnie z tym co napisałeś wcześniej wygląda tak: 1*3*4*5 = 60. Skąd w tym równaniu wziąłeś 2 skoro b = 3?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Frytek18 » poniedziałek, 4 czerwca 2012, 20:10

no bo chodzi o to ze liczba a jest liczba od której zaczynamy mnożenie a liczba b jest liczba ile razy ma byc pomnożone liczba a o a+1 za kazdym razem np jeżeli a =1 i b=3 to wynik 1*2*3*4 bo b=3 stąd 2*3*4 a 1 dlatego ze a =1
Avatar użytkownika
Frytek18
Homos antropiczny
Homos antropiczny
 
Posty: 60
Dołączył(a): czwartek, 17 maja 2012, 19:05
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: WIN XP 32 bit
Kompilator: Embarcadero RAD Studio 2010 C++
Gadu Gadu: 5032466
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Cyfrowy Baron » poniedziałek, 4 czerwca 2012, 20:32

KOD cpp:     UKRYJ  
float mnoz (TEdit *a, TEdit *b)
{
 float liczba1 = a->Text.ToDouble();
 float liczba2 = b->Text.ToDouble();
 float wynik = liczba1;


 for(float i = liczba1 + 1; i <= liczba1 + liczba2; i++)
 {
  wynik = wynik * i;
 }

 return wynik;
}
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Kalkulator

Nowy postprzez Frytek18 » poniedziałek, 4 czerwca 2012, 20:37

o to mi chodziło dzięki
Avatar użytkownika
Frytek18
Homos antropiczny
Homos antropiczny
 
Posty: 60
Dołączył(a): czwartek, 17 maja 2012, 19:05
Podziękował : 0
Otrzymał podziękowań: 0
System operacyjny: WIN XP 32 bit
Kompilator: Embarcadero RAD Studio 2010 C++
Gadu Gadu: 5032466
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości