Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Header
- #define delta(A,B,C) (B)*(B)-4*(A)*(C)
- extern float dodawanie(float a,float b);
- extern float odejmowanie(float a,float b);
- extern float mnozenie(float a,float b);
- extern float dzielenie(float a,float b);
- extern float potegowanie(float a,float b);
- //extern float x1(float a,float b,delta);
- extern float x0(float a,float b);
- extern void(*pola_figur)(float,float);
- extern void pole_trojkata(float a,float h);
- extern void pole_prostokata(float a,float b);
- extern void pole_stozka(float r, float h);
- extern void pole_walca(float R, float h);
- extern void pole_ostroslupa_prawidlowego_czworokatnego(float a,float h);
- //Funkcje
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- #include "naglowek.h"
- float dodawanie(float a,float b){
- float suma;
- suma=a+b;
- printf("%g + %g = %g\n\n",a,b,suma);
- }
- float odejmowanie(float a,float b){
- float roznica;
- roznica=a-b;
- printf("%g - %g = %g\n\n",a,b,roznica);
- }
- float mnozenie(float a, float b){
- float iloczyn;
- iloczyn=a*b;
- printf("%g * %g = %g\n\n",a,b,iloczyn);
- }
- float dzielenie(float a, float b){
- float iloraz;
- iloraz=a/b;
- if(b==0){
- printf("Nie wolno dzielic przez 0!\n");
- }else{
- printf("%g : %g = %g\n\n",a,b,iloraz);
- }
- }
- float potegowanie(float a, float b){
- float potega;
- potega=pow(a,b);
- printf("%g ^ %g = %g\n\n",a,b,potega);
- }
- void (*pola_figur)(float,float);
- void pole_prostokata(float a,float b){
- float Pc=(a)*(b);
- if(a<0||b<0){
- printf("Wymiary figury nie moga byc mniejsze od zera!\n");
- }else{
- printf("Pole prostokata wynosi %g\n\n",Pc);
- }
- }
- void pole_trojkata(float a,float h){
- float Pc=((a)*(h))/2;
- if(a<0||h<0){
- printf("Wymiary figury nie moga byc mniejsze od zera!\n");
- }else{
- printf("Pole trojkata wynosi %g\n\n",Pc);
- }
- }
- void pole_stozka(float r, float H){
- float pi=3.14;
- float l=sqrt(pow(H,2)+pow(r,2));
- float Pc=pi*pow(r,2)+(pi*r*l);
- if(r<0||H<0){
- printf("Wymiary figury nie moga byc mniejsze od zera!\n");
- }else{
- printf("Pole stozka wynosi %g\n\n",Pc);
- }
- }
- void pole_walca(float r, float H){
- float pi=3.14;
- float Pp=pow(r,2)*pi;
- float Pb=2*pi*r*H;
- float Pc=2*Pp+Pb;
- if(r<0||H<0){
- printf("Wymiary figury nie moga byc mniejsze od zera!\n");
- }else{
- printf("Pole walca wynosi %g\n\n",Pc);
- }
- }
- void pole_ostroslupa_prawidlowego_czworokatnego(float a,float h){
- float Pp=pow(a,2);
- float Psb=1/2*a*h;
- float Pc=(Pp+(4*Psb));
- if(a<0||h<0){
- printf("Wymiary figury nie moga byc mniejsze od zera!\n");
- }else{
- printf("Pole ostroslupa prawidlowego wynosi %g\n\n",Pc);
- }
- }
- //Main
- #include <stdio.h>
- #include <stdlib.h>
- #include "naglowek.h"
- int main(void) {
- int wybor;
- char opcja,opcja2;
- printf("*******EGZAMIN*********\n\n");
- printf("Kalkulator\n\n");
- printf("1. Proste operacje arytmetyczne\n");
- printf("2. Funkcja kwadratowa\n");
- printf("3. Obliczanie pola wybranych figur\n");
- printf("9. Wyjscie\n");
- scanf("%d",&wybor);
- fflush(stdin);
- switch(wybor){
- case 1:
- system("cls");
- printf("***** Kalkulator wykonuje obliczenia jedynie dla 2 liczb *****\n***** Miedzy ktorymi znajduje sie znak zadanej operacji! *****\n\n\n");
- system("pause");
- do{
- system("cls");
- printf("1. Wykonywanie obliczen\n");
- printf("2. Dostepne operacje arytmetyczne\n");
- printf("3. Powrot\n");
- printf("0. Wyjscie\n");
- float m,n;
- char znak,opcja1;
- int wybor2;
- scanf("%d",&wybor2);
- fflush(stdin);
- switch(wybor2){
- case 1:
- do{
- system("cls");
- printf("Wykonaj dzialanie w formacie: <a><znak_dzialania><b> \n\n");
- scanf("%f%c%f",&m,&znak,&n);
- fflush(stdin);
- if(znak=='+'){
- dodawanie(m,n);
- }else if(znak=='-'){
- odejmowanie(m,n);
- }else if(znak=='*'){
- mnozenie(m,n);
- }else if(znak=='/'){
- dzielenie(m,n);
- }else if(znak=='^'){
- potegowanie(m,n);
- }else{
- printf("Wybrano nieprawidlowy znak dzialania!\nSprawdz dostepne operacje.\n\n");
- system("pause");
- system("cls");
- return main();
- }
- printf("Kontynuowac?\n(t/n)\n");
- scanf("%c",&opcja1);
- fflush(stdin);
- }while(opcja1=='t');
- system("cls");
- break;
- case 2:
- system("cls");
- printf("Dodawanie '+'\n");
- printf("Odejmowanie '-'\n");
- printf("Mnozenie '*'\n");
- printf("Dzielenie '/'\n");
- printf("Potegowanie '^'\n\n");
- break;
- case 3:
- system("cls");
- return main();
- case 0:
- system("cls");
- printf("Koniec pracy programu!");
- return 0;
- default :
- printf("Wybrano nieprawidlowy numer!\n");
- break;
- }
- printf("Nacisnij t, aby powrocic do menu obliczen.\n");
- printf("Nacisnij dowolny klawisz, aby powrocic do glownego menu\n");
- scanf("%c",&opcja);
- fflush(stdin);
- }while(opcja=='t');
- system("cls");
- return main();
- break;
- case 2:
- break;
- case 3:
- do{
- system("cls");
- int wybor4;
- float a,b,h,r,H;
- printf("1. Obliczanie pola prostokata\n");
- printf("2. Obliczanie pola trojkata\n");
- printf("3. Obliczanie pola stozka\n");
- printf("4. Obliczanie pola walca\n");
- printf("5. Obliczanie pola ostroslupa prawidlowego\n");
- printf("6. Powrot do menu\n");
- printf("0. Wyjscie\n");
- scanf("%d",&wybor4);
- fflush(stdin);
- switch(wybor4){
- case 1:
- system("cls");
- pola_figur=&pole_prostokata;
- printf("Podaj dlugosc boku a prostokata: \n");
- scanf("%f",&a);
- fflush(stdin);
- printf("Podaj dlugosc boku b prostokata: \n");
- scanf("%f",&b);
- fflush(stdin);
- (*pola_figur)(a,b);
- break;
- case 2:
- system("cls");
- pola_figur=&pole_trojkata;
- printf("Podaj dlugosc boku a trojkata: \n");
- scanf("%f",&a);
- fflush(stdin);
- printf("Podaj wysokosc h trojkata: \n");
- scanf("%f",&h);
- fflush(stdin);
- (*pola_figur)(a,h);
- break;
- case 3:
- system("cls");
- pola_figur=&pole_stozka;
- printf("Podaj promien podstawy r stozka: \n");
- scanf("%f",&r);
- fflush(stdin);
- printf("Podaj wysokosc H stozka: \n");
- scanf("%f",&H);
- fflush(stdin);
- (*pola_figur)(r,H);
- break;
- case 4:
- system("cls");
- pola_figur=&pole_walca;
- printf("Podaj promien podstawy r walca: \n");
- scanf("%f",&r);
- fflush(stdin);
- printf("Podaj wysokosc H walca: \n");
- scanf("%f",&H);
- fflush(stdin);
- (*pola_figur)(r,H);
- break;
- case 5:
- system("cls");
- pola_figur=&pole_ostroslupa_prawidlowego_czworokatnego;
- printf("Podaj dlugosc boku podstawy a ostroslupa prawidlowego trojkatnego: \n");
- scanf("%f",&a);
- fflush(stdin);
- printf("Podaj wysokosc sciany bocznej h ostroslupa prawidlowego trojkatnego: \n");
- scanf("%f",&h);
- fflush(stdin);
- (*pola_figur)(a,h);
- break;
- case 6:
- system("cls");
- return main();
- break;
- case 0:
- system("cls");
- printf("Koniec pracy programu!");
- return 0;
- }
- printf("Nacisnij t, aby powrocic do menu obliczania pol.\n");
- printf("Nacisnij dowolny klawisz, aby powrocic do glownego menu\n");
- scanf("%c",&opcja2);
- fflush(stdin);
- }while(opcja2=='t');
- system("cls");
- return main();
- break;
- case 9:
- system("cls");
- printf("Koniec pracy programu!");
- return 0;
- default :
- system("cls");
- printf("Wybrano nieprawidlowa opcje!\n");
- system("pause");
- system("cls");
- return main();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement