ďťż

Ładny brzuch

Witam mam taki o to program :
<code>#include <iostream.h>
#include <math.h>
#include <conio.h>

int main()
{
float a=0;
float b=0;
float c=0;
float delta=0;

cout <<"Podaj a= ";
cin >> a;
cout <<"Podaj b= ";
cin >> b;
cout <<"Podaj c= ";
cin >> c;

if (a==0)
{
if (b==0)
{
if (c==0)
{
cout << endl << "Nieskonczenie wiele rozwiazan " << endl;
}
else
{
cout << endl << "Brak rozwiazan.\n ";
}
}

else
if (c==0)
{
cout<< endl <<"x=0 "<<endl;
}
else
{
cout << endl << " Funkcja liniowa posiadajaca jeden pierwiastek wynoszacy "<< -c/b << endl;
}
}

else
{

delta=(b*B)-4*a*c;
cout << endl << "Delta tego rownania wynosi: " << delta << endl;

if(delta < 0)
{
cout << "Brak pierwiastkow rownania, gdyz delta<0 " << endl;
}

if(delta == 0)
{
cout << "Jeden pierwiastek rownania: " << -b/2*a << endl;
}

if(delta > 0)
{
cout << "Dwa pierwiastki rownania " << "x1= " <<(-b-sqrt(delta))/(2*a) << " i ";
cout << " x2= " << (-b+sqrt(delta))/(2*a) << endl;
}
}

cout << endl << "\aAby zakonczyc program nacisnij dowolny klawisz ";

getch();
return 0;
}
</code>

Program działa dobrze za wyjątkiem tego że trzeba go non stop uruchamiać i problem polega w tym jak zrobić tak aby program np. przy naciścięciu q sie wyłączał a przy naciśnięciu jakiejs innej litery wracał do punktu podawania współczynników. Z góry dzieki za odpowiedzi. Pozdrowienia



Co do klawiszy to musisz zmienną przyrównac do liczby ASCII, która odpowiada za dany klawisz
zamykanie programu: int klawisz; klawisz=getch(); while(klawisz!=27); // w tym przypadku ESC konczy program


przy naciśnięciu jakiejs innej litery wracał do punktu podawania współczynników
podam kawałek mojego kodu
#include <iostream> #include <conio.h> #include <conio.c> #include <stdio.h> #include <winbase.h> using namespace std; int main() { int wybor, akt, kl; void sniadanie(); void obiad(); do { clrscr(); if (akt==1) textbackground(RED); else textbackground(BLUE); cout<<"1. Sniadanie. "<<endl; if (akt==2) textbackground(RED); else textbackground(BLUE); cout<<"2. Obiad. "<<endl; if (akt==3) textbackground(RED); else textbackground(BLUE); cout<<"3. Koniec programu."<<endl; cin>>wybor; if (wybor==1) sniadanie(); // jezeli nacisniej 1 przeniesie cie do opcji sniadanie() else if (wybor==2) obiad(); // jezeli nacisniej 2 przeniesie cie do opcji obiad() }while (wybor=3); void sniadanie(); { textbackground(GREEN); cout<<"Jajecznica"<<endl; kl=getch(); if (kl==0 || kl==224); }
Użytkownik lukasz84 edytował ten post 05 listopad 2006, 18:37
lukasz84: A mógłbyś mi dac headery do tego programu bo coś mi brakuje.


lukasz84: A mógłbyś mi dac headery do tego programu bo coś mi brakuje. Czego Ci brakuje?



Najprawdopodniej Conio.h bo tego nie ma chyba w dev-cpp

Brakuje mi <winbase.h>

To dodaj albo zamień na <windows.h>.
Użytkownik Cyrkiel edytował ten post 05 listopad 2006, 21:10

Brakuje mi <winbase.h>
Niestety nie mam tej biblioteki i nie pamietam do czego ona słuzy.

A wie ktos jak rozwiązać mój problem ?


A wie ktos jak rozwiązać mój problem ?

Cyrkiel dał odpowiedź 3 posty wyżej <_<

Kod zgodny z DevCpp(swoją drogą nie potrafie pojąć jak można z czymś takim isć na forum...)
#include <iostream> #include <math.h> using namespace std; int main() { float a=0; float b=0; float c=0; float delta=0; while(1){ cout <<"Podaj a= "; cin >> a; cout <<"Podaj b= "; cin >> b; cout <<"Podaj c= "; cin >> c; if (a==0) { if (b==0) { if (c==0) { cout << endl << "Nieskonczenie wiele rozwiazan " << endl; } else { cout << endl << "Brak rozwiazan.\n "; } } else if (c==0) { cout<< endl <<"x=0 "<<endl; } else { cout << endl << " Funkcja liniowa posiadajaca jeden pierwiastek wynoszacy "<< -c/b << endl; } } else { delta=(b*-b-4*a*c); cout << endl << "Delta tego rownania wynosi: " << delta << endl; if(delta < 0) { cout << "Brak pierwiastkow rownania, gdyz delta<0 " << endl; } if(delta == 0) { cout << "Jeden pierwiastek rownania: " << -b/2*a << endl; } if(delta > 0) { cout << "Dwa pierwiastki rownania " << "x1= " <<(-b-sqrt(delta))/(2*a) << " i "; cout << " x2= " << (-b+sqrt(delta))/(2*a) << endl; } } cout << "Aby wyjsc nacisnij q, aby powtorzyc wcisnij p. " << endl; char klawisz;cin>>klawisz;if(klawisz == 'q')break; } system("pause"); return 0; }
PS. Pisze to dlatego, że poprosił o rozwiązanie jego problemu, przedstawił dwa na jeden odpowiedzi udzielił cyrkiel, drugi pozostał "Bez odpowiedzi" gdyż tutaj nawet "LOL." jest poprawną odpowiedzią ;). Cóż ja odpowiadam na pierwszy gdyż nie udzielono jednoznacznej odpowiedzi o jaką rzeczowny "programista" prosi...;)

Have a nice day.

//edit
Nigdy nie uznawałem się za speca z jednego prostego powodu - nie jestem nim. ;) Jeśli Cię uraziłem sorry - i pytanie - o jakie (moje) błędy Ci chodziło?
Użytkownik arcktos edytował ten post 06 listopad 2006, 18:39
Dzięki za odpowiedź ja siebie nie nazywam żadnym programistą ponieważ nim nie jestem i sie uczę dopiero ale skoro Ty sie uważasz za takiego speca to nie wiem czy wypada Ci robić takie błędy...Pozdrówka i jeszcze raz dzięki.

delta=(b*-b-4*a*c)
delta=(b*-b-4*a*c)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •