E-gradiva > Računalništvo > Programiranje > Upravljanje s programirljivimi napravami > Funkcije > Primeri > Izris sinusne funkcije v mejah med 0 in 360 stopinj

Prijava


// Podatkovna zbirka: Izrsin.cpp
// Izris sinusne funkcije v mejah med 0 in 360 stopinj

#include <math.h>

#include <iostream>
#include <iomanip>

#include "round.cpp"

void
main ()
{

// lokalne konstante in spremenljivke

const float pi = 3.14159;
const
char zvezdica = '*'; // znak za izris krivulje

const int skal_fakt = 20; // faktor skaliranja
const int min_kot = 0; // zacetni kot

const int max_kot = 360; // koncni kot
const int korak = 18; // korak v stopinjah


int
kot_v_stop; // kot v stopinjah
int pozicija; // pozicija zvezdice pri izrisu *
float kot_v_rad; // kot v kot_v_radih

const float rad_na_stop = pi / 180.0; // kot_v_rad na stopinjah

// Uporabljene funkcije
// Zaokrozitev realnega stevila na N mest

float round
(
float, // vhod: vrednost, ki jo zelimo zaokroziti
int); // vhod: na koliko mest bomo zaokrozili vhodno vrednost

// Izris sinune krivulje
cout << " Kot" << setw (45) << "Izris sinusne krivulje " << endl

<<
endl;
kot_v_stop = min_kot; // zacetna vrednost spremenljivke kot_v_stop
while (kot_v_stop <= max_kot)
{


kot_v_rad = kot_v_stop * rad_na_stop;
pozicija = 4 + int (round (skal_fakt * (1.0 + sin (kot_v_rad)), 0));

cout << setw (4) << kot_v_stop << '|';
cout << setw (pozicija + 1) << zvezdica;// izris * na kolono pozicija

cout << setiosflags (ios::scientific | ios::showpoint)
<<
setprecision (6)
<<
setw(20) << sin(kot_v_rad) << endl;

kot_v_stop += korak; // povecaj kot v stopinjah za korak
}
cout << "---------------------------------------------------------";


return
;
}
// konec izrisa sinusne krivulje