kolor23 Opublikowano 13 Grudnia 2005 Zgłoś Opublikowano 13 Grudnia 2005 Witam. Znowu mam problem i licze że może ktoś mi pomoże :). Mam kod pewnego programu i potrzebuje go tak zmodernizowac aby : " obliczał pole i obwód prostokąta, kwadratu i koła" Za pomoc z góry dziekuję. Ps. dodam że do kompilacji używam dev c++ #include <cstdlib> #include <iostream> using namespace std; void oblicz_pole(char figura); float pobierz_wartosc(); float pole_prostokata(float x, float y); float pole_kola(float x); float pole_trojkata(float x, float y); int main(int argc, char *argv[]) { char decyzja; while(1) { cout << "Wybierz figure: " << endl; cout << "p - prostokat, k - kolo, t - trojkat, 0 - koniec " << endl; cin >> decyzja; if ((decyzja=='p')||(decyzja=='k')||(decyzja=='t')) oblicz_pole(decyzja); else if (decyzja=='0') break; else cout << "Zly wybor" << endl; } cout << endl << endl; system("PAUSE"); return EXIT_SUCCESS; } void oblicz_pole(char figura) { float a,b; cout << "Podaj dlugosc"; switch (figura){ case 'p': cout << "i bokow prostokata: "; a=pobierz_wartosc(); b=pobierz_wartosc(); cout << "Pole prostokata wynosi: " << pole_prostokata (a, B) << endl; break; case 'k': cout << " promienia kola: "; a=pobierz_wartosc(); cout << "Pole kola wynosi: " << pole_kola (a) << endl; break; case 't': cout << " podstawy i wysokosci trojkata: "; a=pobierz_wartosc(); b=pobierz_wartosc(); cout << "Pole trojkata wynosi: " << pole_trojkata (a, B) << endl; break; } } float pobierz_wartosc() { while (1) { float a; cin >> a; if (a > 0) return a; } } float pole_prostokata(float x, float y) { return x*y; } float pole_kola(float x) { return 3.1415*x*x; } float pole_trojkata(float x, float y) { return x*y/2; } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
7U8 Opublikowano 14 Grudnia 2005 Zgłoś Opublikowano 14 Grudnia 2005 Ja proponuje cos takiego: #include <iostream>#include <conio.h>using namespace std;float pobierz_wartosc(){while (1){float a;cin >> a;if (a > 0) return a;}}float pole_prostokata(float x, float y){return x*y;}float obwod_prostokata(float x, float y){return x*2+y*2;}float pole_kola(float x){return 3.1415*x*x;}float obwod_kola(float x){return 3.1415*2*x;}void oblicz_pole(char figura){float a,b;cout << "Podaj dlugosc";switch (figura){case 1: cout << "i bokow prostokata: "; a=pobierz_wartosc(); b=pobierz_wartosc();cout << "Pole prostokata wynosi: " << pole_prostokata (a,b) << endl; break;case 2: cout << "i bokow prostokata: "; a=pobierz_wartosc(); b=pobierz_wartosc();cout << "Obwod prostokata wynosi: " << obwod_prostokata (a,b) << endl; break;case 3: cout << "boku kwadratu: "; a=pobierz_wartosc();cout << "Pole kwadratu wynosi: " << pole_prostokata (a,a) << endl; break;case 4: cout << "boku kwadratu: "; a=pobierz_wartosc();cout << "Obwod kwadratu wynosi: " << obwod_prostokata (a,a) << endl; break;case 5: cout << " promienia kola: "; a=pobierz_wartosc();cout << "Pole kola wynosi: " << pole_kola (a) << endl; break;case 6: cout << " promienia kola: "; a=pobierz_wartosc();cout << "Obwod kola wynosi: " << obwod_kola (a) << endl; break;}}void main(){int decyzja; while(1){cout << "Wybieraj: " << endl;cout << "1 pole prostokatu, 2 obwod prostokatu, 3 pole kwadratu, 4 obwod kwadratu" << endl;cout << "5 pole kola, 6 dlugosc kola, 0 - koniec " << endl;cin >> decyzja;if (decyzja > 0 && decyzja < 7) oblicz_pole(decyzja);else { if (decyzja==0) break; else cout << "Zly wybor" << endl;} cout << endl << endl; getch();}} Nie było calkiem testowane, wiec sam musisz wyprobowac. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kobe2005 Opublikowano 14 Grudnia 2005 Zgłoś Opublikowano 14 Grudnia 2005 Mozna np. tak #include <cstdlib>#include <iostream.h>using namespace std;void oblicz_pole(char figura);float pobierz_wartosc(void);float pole_prostokata(float x, float y);float pole_kola(float x);int main(int argc, char *argv[]){char decyzja;while(1){cout << "Wybierz figure: " << endl;cout << "p - prostokat, k - kolo, s - kwadrat, 0 - koniec " << endl;cin >> decyzja;if ((decyzja=='p')||(decyzja=='k')||(decyzja=='s')) oblicz_pole(decyzja);else if (decyzja=='0') break;else cout << "Zly wybor" << endl;}cout << endl << endl;system("PAUSE");return EXIT_SUCCESS;}void oblicz_pole(char figura){float a=-1.0, b=-1.0;cout << "Podaj dlugosc";switch (figura){case 'p': cout << "i bokow prostokata: "; a=pobierz_wartosc(); b=pobierz_wartosc(); cout << "Pole prostokata wynosi: " << pole_prostokata(a,b) << " a obwod L=" << 2*a+2*b <<endl; break;case 'k': cout << " promienia kola: "; a=pobierz_wartosc(); cout << "Pole kola wynosi: " << pole_kola (a) << " a obwod L=" << 2*3.1415*a << endl; // L=2*(pi)*r break;case 's': cout << " bok kwadratu a="; a=pobierz_wartosc(); cout << "Pole kwadratu wynosi: " << pole_prostokata (a, a) << " obwod L=" << 4*a << endl;break;}}float pobierz_wartosc(void){float x=-1.0;while(x<0) {cin >> x;} //tak chyba lepie bo nie ma warunku if w petlireturn x;}float pole_prostokata(float x, float y){return x*y;}float pole_kola(float x){return 3.1415*x*x;} P.S jak wklejasz kod programu to wez go w tagi code, jak byk pisze podczas pisania postu......:) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kolor23 Opublikowano 14 Grudnia 2005 Zgłoś Opublikowano 14 Grudnia 2005 ok.Dziękuje za odpo i podpowiedzi :) . Przepraszam za pewne niedociągnięcia w pisaniu postów, ale świeżak jestem :) Następnym razem bedzie lepiej, obiecuje. Jeszcze raz dzięki. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...