|
/////////////////////////////////////////////////////////////////////// // ITS - Visoka Škola Strukovnih Studija Za Informacione Tehnologije // http://www.its.edu.rs/ // Predmet: Osnovi Programiranja - Programski jezik C // // Primer: Program za izracunavanje sinusa, kosinusa, tangensa // i kotangensa uglova od 0 do 90 stepeni za zadati korak. // Tabelarni prikaz rezultata. /////////////////////////////////////////////////////////////////////// #include <stdio.h> // standardni header #include <math.h> // matematicki header #include <windows.h> // WinApi header za promenu boje
#define PI 3.141592 // definise vrednost za PI int plavaBoja(); // definisanje funkcije za promenu boje karaktera u plavo int crvenaBoja(); // definisanje funkcije za promenu boje karaktera u crveno main() { // definisanje promenljivih double x=0, korak; int znak=219, horLin, prvaLin; plavaBoja(); // poziv funkcije za promenu boje // Poruka korisniku printf("Unestite prirastaj u stepenima: "); // Ucitavanje vrednosti za korak scanf("%lf", &korak); printf("\n\n"); // Pretvaranje stepena u radijane korak=korak/180*PI; crvenaBoja(); // poziv funkcije za promenu boje u crvenu for (prvaLin=1;prvaLin<=80;prvaLin++){printf("%c",176);} // ispis prozirne linije plavaBoja(); // poziv funkcije za promenu boje u plavo // Ispis zaglavlja tabele printf("\t"); for (horLin=1;horLin<=64;horLin++) {printf("%c",znak);} printf("\n\t%c x %c sin(x) %c cos(x) %c tan(x) %c ctg(x) %c\n",znak,znak,znak,znak,znak,znak); printf("\t"); for (horLin=1;horLin<=64;horLin++) {printf("%c",znak);} printf("\n");
// Izracunavanje trigonometrijskih funkcija i ispis u while petlji while(x*180/PI<=90.0000001) // koriscen je uslov <90.0000001, a ne <90 zbog racunanja sa double vrednostima, a ne sa int vrednostima { // Ispis svih potrebnih funkcija za jednu vrednost x u jednom redu printf("\t%c%10.3f %c%11.3f %c%11.3f ",znak , x*180/PI, znak, sin(x), znak, cos(x)); // Ukoliko je kosinus mnogo mali, tangens ce biti beskonacno veliki if (cos(x)<0.00001) { printf("%c + %c ",znak,236); } else { printf("%c%10.3f ",znak, tan(x)); }
// Kotangens ima vrednost inverznu u odnosu na tanges // Ukoliko tangens tezi nuli, kotangens ce teziti beskonacnosti if(tan(x)<0.00001) { printf("%c + %c %c\n",znak,236,znak); } else { printf("%c%11.3f %c\n",znak , 1/tan(x), znak); } // Uvecanje x za zadati korak x+=korak; } // Kraj tabele printf("\t"); for (horLin=1;horLin<=64;horLin++) {printf("%c",znak);} printf("\n"); crvenaBoja(); // poziv funkcije za promenu boje u crvenu for (prvaLin=1;prvaLin<=80;prvaLin++){printf("%c",176);} // ispis prozirne linije plavaBoja(); // poziv funkcije za promenu boje u plavo // Pauza printf("\n\n"); system("PAUSE");
} int plavaBoja() // funkcija za promenu boje u plavo { // menjanje boje HANDLE hConsole; hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, 11); return 0; // povratak } int crvenaBoja() // funkcija za promenu boje u crveno { // menjanje boje HANDLE hConsole; hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, 12); return 0; // povratak }

Broj mesta je ograničen! Prijavite se na vreme.
|