
C Helpdesk
Prosty kalkulator aby działał pod Windowsem należy zastąpić wszystko Cls() na system("cls"); i usunąć wszystko związane z funkcją Cls
/******************************************************************************
* Program skompilowany pod systemem LINUX open SuSE 10.2 *
* Kompilator gcc 4.1.2 20061115 *
* Autor: E-MAIL *
* Mateusz Dardziński l3niwi3c@gmail.com *
******************************************************************************/
#include <stdio.h>
#include <math.h>
#define DODAWANIE 1
#define ODEJMOWANIE 2
#define MNOZENIE 3
#define DZIELENIE 4
#define POTEGOWANIE 5
#define PIERWIASTEK 6
#define LOGARYTM 7
#define LOGARYTMN 8
#define WYJSCIE 9
/*Prototypy Funkji*/
void ClrScr(void);
void menu(void);
void dodawanie(float,float);
void odejmowanie(float,float);
void mnozenie(float,float);
void dzielenie(float,float);
void potegowanie(float,float);
void pierwiastek(float,float);
void logarytm(float,float);
void logarytmn(float,float);
/*Zmienne Globalne*/
float pierwsza,druga,wynik;
/* GŁÓWNY KOD PROGRAMU */
main(void)
{
menu();
return (0);
} //KONIEC MAIN
/* FUNKCJE */
void menu(void)
{
ClrScr();
printf("\t Kalkulator \xC1\n");
printf("\tDodawanie............%d\n",DODAWANIE);
printf("\tOdejmowanie..........%d\n",ODEJMOWANIE);
printf("\tMnożenie.............%d\n",MNOZENIE);
printf("\tDzielenie............%d\n",DZIELENIE);
printf("\tPotęgowanie..........%d\n",POTEGOWANIE);
printf("\tPierwiastkowanie.....%d\n",PIERWIASTEK);
printf("\tLogarytm.............%d\n",LOGARYTM);
printf("\tLogarytm Naturalny...%d\n",LOGARYTMN);
printf("\tZakończ..............%d\n",WYJSCIE);
printf("\n\t\tWybór: ");
int wybor;
wybor=getchar();
wybor=wybor-48;
switch(wybor)
{
case DODAWANIE : dodawanie(pierwsza,druga);
break;
case ODEJMOWANIE : odejmowanie(pierwsza,druga);
break;
case MNOZENIE : mnozenie(pierwsza,druga);
break;
case DZIELENIE : dzielenie(pierwsza,druga);
break;
case POTEGOWANIE : potegowanie(pierwsza,druga);
break;
case PIERWIASTEK : pierwiastek(pierwsza,druga);
break;
case LOGARYTM : logarytm(pierwsza,druga);
break;
case LOGARYTMN : logarytmn(pierwsza,druga);
break;
case WYJSCIE : ;
break;
default: {ClrScr();
printf("Błędny wybór");
getchar();
getchar();
main();
}
}
return;
} //Koniec MUNU
void dodawanie(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Dodawanie\n\n");
printf(" Podaj pierwsza liczbe: ");
scanf("%f",&pierwsza);
printf(" Podaj drugą liczbe: ");
scanf("%f",&druga);
printf("\twynik: %.2f + %.2f = %.2f",pierwsza,druga,pierwsza + druga);
getchar();
getchar();
menu();
} // KONIEC DODAWANIE
void odejmowanie(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Odejmowanie\n\n");
printf(" Podaj pierwsza liczbe: ");
scanf("%f",&pierwsza);
printf(" Podaj drugą liczbe: ");
scanf("%f",&druga);
printf("\twynik: %.2f - %.2f = %.2f",pierwsza,druga,pierwsza - druga);
getchar();
getchar();
menu();
} //KONIEC ODEJMOWANIE
void mnozenie(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Mnożenie\n\n");
printf(" Podaj pierwsza liczbe: ");
scanf("%f",&pierwsza);
printf(" Podaj drugą liczbe: ");
scanf("%f",&druga);
printf("\twynik: %.2f x %.2f = %.2f",pierwsza,druga,pierwsza * druga);-
getchar();
getchar();
menu();
}// KONIEC MNOZENIE
void dzielenie(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Dzielenie\n\n");
printf(" Podaj pierwsza liczbe: ");
scanf("%f",&pierwsza);
printf(" Podaj drugą liczbe: ");
scanf("%f",&druga);
if (druga == 0) printf("\"Nigdy cholero nie dziel przez 0\"");
else printf("\twynik: %.2f : %.2f = %.2f",pierwsza,druga,pierwsza / druga);-
getchar();
getchar();
menu();
}// KONIEC DZIELENIE
void potegowanie(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Potęgowanie\n\n");
printf(" Podaj podstawę potęgi: ");
scanf("%f",&pierwsza);
printf(" Podaj wykładnik potęgi: ");
scanf("%f",&druga);
printf("\twynik: %.2f ^ %.2f = %.2f",pierwsza,druga,pow(pierwsza,druga));-
getchar();
getchar();
menu();
}// KONIEC POTEGOWANIE
void pierwiastek(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Pierwiastkowanie\n\n");
printf(" Podaj podstawę pierwiasteka: ");
scanf("%f",&druga);
printf(" Podaj stopień pierwiatka: ");
scanf("%f",&pierwsza);
printf("\twynik: pierwiastek stopnia %.2f z %.2f = %.2f",pierwsza,druga,exp(1/pierwsza*log(druga)));-
getchar();
getchar();
menu();
}// KONIEC POTEGOWANIE
void logarytm(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Logarytm\n\n");
printf(" Podaj liczbę logarytmowaną: ");
scanf("%f",&pierwsza);
printf(" Podaj podstawę logarytmu: ");
scanf("%f",&druga);
printf("\twynik: Logarytm liczby %.2f stopnia %.2f= %.2f",pierwsza,druga,log10(pierwsza) / log10 (druga));-
getchar();
getchar();
menu();
} //KONIEC LOGARYTMN
void logarytmn(float pierwsza,float druga)
{
ClrScr();
printf("\t Funkcja Logarytm Naturalny\n\n");
printf(" Podaj liczbę logarytmowaną: ");
scanf("%f",&pierwsza);
printf("\twynik: Logarytm naturalny liczby %.2f = %.2f",pierwsza,log(pierwsza));-
getchar();
getchar();
menu();
} //KONIEC LOGARYTMN
void ClrScr(void)
{
printf("\033[2J"); // Czyci ekran
printf("\033[0;0f"); // Ustawia kursor w lewym, górnym rogu
}// Koniec ClrScrOffline