PROGRAMSKE KODE 2. stran



Kode si lahko skopirate in prilepite v beležko ali direktno v prevajalnik. Lahko pa si jih snamete s strani PROGRAMI v zip formatu, skupaj s programi, ki so v exe formatu.

Če v kodah ali programih odkrijete kakšne nepravilnosti, mi prosim to sporočite po e-mailu:  moj e-mail

Seznam kod na tej strani:

Dve_stevili.cpp
Kvader1.cpp
Sestevanje_EN.cpp
Vsota_vrste.cpp
1_16062003_Znakovni_niz_.cpp
2_1_16062003_Ocene.cpp
2_2_16062003_Ocene.cpp
3_16062003_Stop_v_gone.cpp
1_19092003_Prepis_datotek.cpp, Datoteka_za_prepis.txt
2_19092003_Razdalje_med_tockama.cpp, Datoteka_koordinate_tock.txt
3_19092003_Vsota_vrste.cpp
1_26082003_Ploscina_elipse.cpp
2_26082003_Potenca_realnega_stevila.cpp
3_26082003_Razd_visKot_Hrazl_tock.cpp, Datoteka_koordinate_tock.txt


Dve_stevili.cpp:


#include <iostream> // omogocimo uporabo V/I tokov


int Sestej(int SteviloA, int SteviloB)
{
     return(SteviloA + SteviloB);
}

int Odstej(int SteviloA, int SteviloB)
{
     return(SteviloA - SteviloB);
}

int Mnozi(int SteviloA, int SteviloB)
{
     return(SteviloA * SteviloB);
}

float Deli(int SteviloA, int SteviloB)
{
     return((float)SteviloA / SteviloB);
}


int main() // funkcija main
{
     using namespace std; // uporabljamo imenski prostor "std"
     
     int SteviloA, SteviloB, Rezultat; // potrebujemo tri spremenljivke      
     float RezultatD;

     cout << "Program za sestevanje in odstevanje stevil!" << endl; // pozdrav
     
     cout << "Vnesite stevilo A, ter pritisnite ENTER:"; // vpisujemo prvo stevilo
     cin  >> SteviloA;
     
     cout << "Vnesite stevilo B, ter pritisnite ENTER:"; // vpisujemo drugo stevilo
     cin  >> SteviloB;
     
     Rezultat = Sestej(SteviloA, SteviloB); // sestejemo
     cout << "Vsota= " << Rezultat << endl;
     
     Rezultat = Odstej(SteviloA, SteviloB); // odstevamo
     cout << "Razlika= " << Rezultat << endl;

     Rezultat = Mnozi(SteviloA, SteviloB); // mnozimo
     cout << "Produkt= " << Rezultat << endl;

     RezultatD =  Deli(SteviloA, SteviloB); // mnozimo
     cout << "Kvocient= " << RezultatD << endl;

     cout << "Pritisnite ENTER za izhod... " ;
     cin.ignore(); //ignore() poskrbi, da se trenutni vhodni tok pocisti (ignorira)
     cin.get(); //get() caka uporabnikov vnos znaka
     
     return(0); // vrnemo nic
}

    

gorNa vrh


Kvader1.cpp:


/* Program za izracun kvadra - povrsine in prostornine kvadra */

#include <iostream.h>
#include <stdio.h>

main()  
{
   float a, b, c;
   double P, V;
   
   cout << "\n\t*******************************************************";
   cout << "\n\t*                   K  V  A  D  E  R                  *";
   cout << "\n\t*  PROGRAM ZA IZRACUN POVRSINE IN PROSTORNINE KVADRA  *";
   cout << "\n\t*             Verzija 1.0, december 2001              *";
   cout << "\n\t* Avtor: Bojan Dreu, Leskovec 12, 2331 Pragersko, SLO *";
   cout << "\n\t*******************************************************";
   
   cout << "\n\n\n\n\t\t    ______________________________";
   cout << "\n\t\t   |\\                             \\";
   cout << "\n\t\t   | \\                             \\";
   cout << "\n\t\t   |  \\ ____________________________\\";
   cout << "\n\t\t   |   |                             |";
   cout << "\n\t\t   |   |                             |";
   cout << "\n\t\t   |   |                             |";
   cout << "\n\t\t    \\  |                             | c";
   cout << "\n\t\t    a\\ |                             |";
   cout << "\n\t\t      \\|_____________________________|";
   cout << "\n\t\t                       b";

   cout << "\n\n\n\t\t  Vtipkaj dolzino stranice a [m] >>> ";
   cin >> a;    
  
   if(a <= 0)
   {
   		cout << "\a\t\t  NAPACEN VNOS podatkov za stranico a !"<<endl;
   }
 
   cout << "\n\t\t  Vtipkaj dolzino stranice b [m] >>> ";
   cin >> b;
   
   if(b <= 0)
   {
   		cout << "\a\t\t  NAPACEN VNOS podatkov za stranico b !"<<endl;
   }
   
   cout << "\n\t\t  Vtipkaj dolzino stranice c [m] >>> ";
   cin >> c;
   
   if(c <= 0)
   {
   cout << "\a\t\t  NAPACEN VNOS podatkov za stranico c !"<<endl;
   }
   
   P = 2. * ( a * b + a * c + b * c);
   V = a * b * c;
   
   
   if(P <= 0 || V <= 0)
   {
   		cout << "\a\a\a\n\n\t   POVRSINO IN PROSTORNINO KVADRA NI MOZNO IZRACUNATI !!!";
   }
   else	
   {
   		cout <<"\n\n\t\t       POVRSINA kvadra    =   "<< P << " m2 !" ;
   		cout <<"\n\t\t       PROSTORNINA kvadra =  " << V << " m3 ! ";
   }
   
   cout << "\n\n\n\t\t   *************** KONEC *************** Pritisni tipko Enter !";
   cout << endl;
   
   getchar();
   
   return 0;																					  
}

    

gorNa vrh


Sestevanje_EN.cpp:


//PROGRAM FOR CALCULATING SUM AND AVERAGE OF TWO NUMBERS

#include <iostream>
#include <stdio.h>

int main ()
{
 float num_1, num_2;
 double sum, average;

 cout << "\n\t\t******************************************* ";
 cout << "\n\t\t* PROGRAM FOR CALCULATING SUM AND AVERAGE * ";
 cout << "\n\t\t*              OF TWO NUMBERS             * ";
 cout << "\n\t\t*       Version 1.0, February, 2004       * ";
 cout << "\n\t\t******************************************* ";

 cout << "\n\n\n\n\n Enter first number:  ";
 cin >> num_1;
 cout << "\n Enter second number: ";
 cin >> num_2;

 sum = num_1 + num_2;
 average = sum / 2.0;

 cout << "\n\n Calculated sum is: " << sum << endl;
 cout << "\n Calculated average is: " << average << endl;

 cout << "\n\n\n\n\n For exit from program press [Enter] >>>>> ";

 getchar();
 return (0);
}

    

gorNa vrh


Vsota_vrste.cpp:


/* vsota.c: Izracuna vsoto celostevilske vrste. */


#include <stdio.h>

/* Program pogovorno prebere dolzino vrste, prebere njene elemente
  in izracuna vsoto, ki jo na koncu izpise na zaslon
*/

main() {
   int i,n, stevilo, vsota=0;

   printf( "Podaj dolzino vrste: " );          
   scanf( "%d", &n );

   for( i=1; i<=n; i++ ) {
      printf( "\nPodaj %d. element: ", i );
      scanf( "%d", &stevilo );

      vsota = vsota + stevilo;
   }

   printf( "\nVsota = %d", vsota );
getchar();//dodal
getchar();//dodal
   return 0;
}

    

gorNa vrh


1_16062003_Znakovni_niz_.cpp:


/*
Sestavi vse potrebne programske stavke v jeziku C++ za naslednji problem. Preberi
z zaslona vrstico besedila v ustrezno veliko znakovno polje. Izpisi na zaslon celotno
prebrano besedilo. Nato izpisi besedilo na zaslon se znak po znak, pri cemer med
izpisom zamenjaj vse presledke v besedilu z vezlajem (znak'_').

Nato sestavi ustrezno lastno funkcijo, ki doloci dejansko dolzino znakovnega niza.
Izgled prototipa funkcije je denimo naslednji:

int dolzina(char niz[]);

Prikazi primer uporabe razvite funkcije v glavni funkciji main() in nato se izpisi
rezultat taksne funkcije.
*/

#include<stdio.h>
#include<ctype.h>

int dolzina(char niz[]);

main()
{
 char niz[333];
 int i, n;

 printf("\n\n PODAJ BESEDILO:\n\n ");
 gets(niz);

 printf("\n\n PODANO BESEDILO JE:\n\n ");
 puts(niz);

 printf("\n\n PODANO BESEDILO Z VEZLJAJI _ NAMESTO PRESLEDKOV   JE:\n\n ");

 n = dolzina(niz);

 for(i = 0; i < n; i++)
 {
       if(niz[i] == ' ')
	   {
	    niz[i] = toascii('_');
	   }
  printf("%c", niz[i]);
 }
 printf("\n\n\n DOLZINA BESEDILA JE %d ZNAKOV.\n ", n);

 getchar();
 return (0);
}


int dolzina(char niz[])
{
 int i = 0, n = 0;

 do
 {
  i = i+1;
 }
  while(niz[i]);
  n = i;
}

    

gorNa vrh


2_1_16062003_Ocene.cpp:


/*
Sestavi vse potrebne programske stavke v jeziku C++ za naslednji problem. Napisi
ustrezni switch stavek, ki bo glede na vrednost cele spremenljivke ocena, izpisal
na zaslon naslednja sporocila:
"Ocena je nezadostno." v primeru vrednosti 1,2,3,4 in 5,
"Ocena je zadostno." v primeru vrednosti 6,
"Ocena je dobro." v primeru vrednosti 7,
"Ocena je prav dobro." v primeru vrednosti 8 in 9,
"Ocena je odlino." v primeru vrednosti 10,
"Ocena je nedefinirana." v primeru vrednosti 0 in za vse ostale vrednosti.

Nato posebej dodaj tudi enakovredno resitev s pomocjo if else bloka.
*/

/*
SWITCH stavek
*/

#include<stdio.h>

main()
{
	int ocena;

	printf("\n Vnesi stevilko ocene (od 1 do 10): ");
	scanf("%d", &ocena);

	printf("\n\n Vtipkal si steviko ocene %d.", ocena);

	switch (ocena)
    {
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
      printf("\n\n\n Ocena je nezadostno.\n ");
      break;

	case 6:
      printf("\n\n\n Ocena je zadostno.\n ");
      break;

	case 7:
      printf("\n\n\n Ocena je dobro.\n ");
      break;

	case 8:
	case 9:
      printf("\n\n\n Ocena je pravdobro.\n ");
      break;

	case 10:
      printf("\n\n\n Ocena je odlicno.\n ");
      break;

	case 0:
      printf("\a\n\n\n\n Ocena je nedefinirana.\n ");
      break;

	default:
         printf("\a\n\n\n\n Ocena je nedefinirana.\n ");
	}

 getchar();
 getchar();
 return (0);
}

    

gorNa vrh


2_2_16062003_Ocene.cpp:


/*
Sestavi vse potrebne programske stavke v jeziku C++ za naslednji problem. Napisi
ustrezni switch stavek, ki bo glede na vrednost cele spremenljivke ocena, izpisal
na zaslon naslednja sporocila:
"Ocena je nezadostno." v primeru vrednosti 1,2,3,4 in 5,
"Ocena je zadostno." v primeru vrednosti 6,
"Ocena je dobro." v primeru vrednosti 7,
"Ocena je prav dobro." v primeru vrednosti 8 in 9,
"Ocena je odlino." v primeru vrednosti 10,
"Ocena je nedefinirana." v primeru vrednosti 0 in za vse ostale vrednosti.

Nato posebej dodaj tudi enakovredno resitev s pomocjo if else bloka.
*/

/*
IF-ELSE stavek
*/

#include <stdio.h>

main()
{
	int ocena;

	printf("\n Vnesi stevilko ocene (od 1 do 10): ");
	scanf("%d", &ocena);

	printf("\n\n Vtipkal si steviko ocene %d. ", ocena);


	if (ocena == 1 || ocena == 2 || ocena == 3 || ocena == 4 || ocena == 5)
    {
	 printf("\n\n\n Ocena je nezadostno.\n ");
    }

 	else if (ocena == 6)
    {
     printf("\n\n\n Ocena je zadostno.\n ");
    }

	else if (ocena == 7)
    {
	 printf("\n\n\n Ocena je dobro.\n ");
    }

	else if (ocena == 8 || ocena == 9)
    {
	 printf("\n\n\n Ocena je prav dobro.\n ");
    }

	else if (ocena == 10)
    {
	 printf("\n\n\n Ocena je odlicno.\n ");
    }

	else if (ocena == 0)
    {
	 printf("\a\n\n\n\n Ocena je nedefinirana.\n ");
    }

	else
    {
	 printf("\a\n\n\n\n Ocena je nedefinirana.\n ");
    }

getchar();
getchar();
return (0);
}

    

gorNa vrh


3_16062003_Stop_v_gone.cpp:


/*
Sestavi funkcijo v C++, ki pretvori v sestdesetiskih stopinjah, minutah in sekundah
podani kot v gone. Prikazi primer klica oziroma uporabo taksne funkcije iz neke
druge funkcije, na primer iz glavne funkcije main(). Preberi ustrezne vrednosti
podanega kota preko tipkovnice. Pazi na negativne kote! Prototip funkcije je denimo
naslednji:
double gradi(short int stop, short min, float sek);
*/

#include <stdio.h>

double gradi(int, int, float);

main()
{
	int stop, min;
	float sek;
    double rezultat;

	printf("\n Podaj kot (stop min sek): ");
	scanf("%d %d %f", &stop, &min, &sek);

    if((stop < 0 || min < 00 || sek < 00) || (stop == 0 && min == 00 && sek == 00) || (stop > 360))
    {
    printf("\n\n\n\a Nepravilni podatki !");
    printf("\n\n\n IZRACUN NI MOZEN !!!");
    exit (0);
    }

    printf("\n\n Podani kot v stopinjah  = %3d%02d'%04.1f\". \n", stop, min, sek);

    rezultat = gradi(stop, min, sek);

	printf("\n\n Izracunani kot v gonih  = %12.8f gonov.\n\n", rezultat);

getchar();
getchar();
return(0);
}

double gradi(int stop, int min, float sek)
{
    double rezultat;

    rezultat = (stop + min / 60 + sek / 3600) * 10.0 / 9.0;

	return(rezultat);
}

    

gorNa vrh


1_19092003_Prepis_datotek.cpp:


/*
V C++ sestavi ustrezen program za kopiranje datotek. Program naj odpre
dve izbrani datoteki in sicer eno za citanje ter eno za pisanje. Testiraj uspesnost
odpiranja obeh datotek.

Podatki oziroma znaki se naj berejo iz izbrane vhodne datoteke in se prepisujejo
na izbrano odprto izhodno datoteko. Na koncu programa se zapri obe uporabljeni
datoteki.
*/

#include<stdio.h>
#include<stdlib.h>

void napaka(char*);

main()
{
FILE *f_kaz_1, *f_kaz_2;
char vhodna[80], izhodna[80];

char tekst;

printf("\n\n\n\n Podaj ime vhodne datoteke:");
printf("\n >>> ");
gets(vhodna);
if((f_kaz_1 = fopen(vhodna, "r")) == NULL)
napaka(vhodna);

printf("\n\n Podaj ime izhodne datoteke: ");
printf("\n >>> ");
gets(izhodna);
if((f_kaz_2 = fopen(izhodna, "w")) == NULL)
napaka(izhodna);

while((tekst = fgetc(f_kaz_1)) != EOF)

fputc(tekst, f_kaz_2);

fclose(f_kaz_1);
fclose(f_kaz_2);
return 0;
}
void napaka(char *dat)
{
printf("\n\n\n\n\n Ne morem odpreti datoteke >>> %s   !!!", dat);
exit(0);
}

    

Datoteka_za_prepis.txt:


TO bi moral PREPISATI
od 0 do 123456789
od zaetka do konca,
od . , : ; - _ ? = "
# $ % & / () \||@ in !

    

gorNa vrh


2_19092003_Razdalje_med_tockama.cpp:


/*
Sestavi C++ program, ki iz datoteke prebere kartezicne koordinate (x, y, z) po dveh tock
hkrati in izracuna dolzini vektorjev med izhodiscem koordinatnega sistema in
podanima tockama, ter tudi poševno in horizontalno razdaljo med obema tockama.

Citanje podatkov in izpis rezultatov naj bo izvedeno preko ustreznih vhodnih in
izhodnih datotek. Kontroliraj uspesnost odpiranja datotek! Program mora omogocati
izracun poljubnega stevila nalog.
*/

#include<stdio.h>
#include<stdlib.h>
#include <iostream.h>
#include<conio.h>
#include <math.h>

main()
{
 float X1, Y1, Z1, X2, Y2, Z2;
 float delta_x, delta_y, delta_z;
 double hor_dolzina, pos_dolzina;
 double vektor_0T1, vektor_0T2;

 int stevec_nalog=1;
 FILE *f_vhod, *f_izhod;
 char vhodna[80], izhodna[80];

 cout << "\n Podaj vhodno datoteko: ";
 cout << "\n\n vnos >>> ";

 cin >> vhodna;
 f_vhod = fopen(vhodna, "r");

 if(f_vhod == NULL)
 {
  cout << "\a\n\n\n\n\n\n Vtipkal si ime datoteke s podatki: ";
  cout << "\n\n >>>>>  " << vhodna << " !!! \n";
  cout << "\n\n\n\n NE MOREM ODPRETI TE VHODNE DATOTEKE, KER NE OBSTAJA !!! ";
  exit(0);
 }

 cout << "\n\n\n\n Podaj izhodno datoteko: ";
 cout << "\n\n vnos >>> ";

 cin >> izhodna;
 f_izhod = fopen(izhodna, "w");

 if(f_izhod == NULL)
 {
  system("cls");
  cout << "\a\n\n\n\n\n\n Vtipkal si ime datoteke za zapis rezultatov: ";
  cout << "\n\n >>>>>  " << izhodna << " !!! \n";
  cout << "\n\n\n\n PODANE IZHODNE DATOTEKE NE MOREM USTVARITI !!! ";
  exit(0);
 }

 while ((fscanf(f_vhod, "%f %f %f %f %f %f", &X1,&Y1,&Z1,&X2,&Y2,&Z2)) != EOF)
 {
  system("cls");
  printf("\n\n PODATKI %d. para tock:", stevec_nalog);
  printf("\n\n Koordinate 1. Tocke:");
  printf("\n\n X1 = %6.3f   Y1 = %6.3f   Z1 = %6.3f", X1, Y1, Z1);
  printf("\n\n Koordinate 2. Tocke:");
  printf("\n\n X2 = %6.3f   Y2 = %6.3f   Z2 = %6.3f", X2, Y2, Z2);

  fprintf(f_izhod, "\n\n\n PODATKI %d. para tock:", stevec_nalog);
  fprintf(f_izhod, "\n\n Koordinate 1. Tocke:");
  fprintf(f_izhod, "\n\n X1 = %6.3f   Y1 = %6.3f   Z1 = %6.3f", X1, Y1, Z1);
  fprintf(f_izhod, "\n\n Koordinate 2. Tocke:");
  fprintf(f_izhod, "\n\n X2 = %6.3f   Y2 = %6.3f   Z2 = %6.3f", X2, Y2, Z2);

  delta_x = (X2 - X1);
  delta_y = (Y2 - Y1);
  delta_z = (Z2 - Z1);

  hor_dolzina = sqrt( (delta_x * delta_x) + (delta_y * delta_y) );
  pos_dolzina = sqrt( (hor_dolzina * hor_dolzina) + (delta_z * delta_z) );

  vektor_0T1 = sqrt( (X1 * X1) + (Y1 * Y1) + (Z1 * Z1) );
  vektor_0T2 = sqrt( (X2 * X2) + (Y2 * Y2) + (Z2 * Z2) );

  printf("\n\n\n REZULTATI %d. para tock:", stevec_nalog);
  fprintf(f_izhod, "\n\n\n REZULTATI %d. para tock:", stevec_nalog);

  if (X1 == X2 &&  Y1 == Y2 && Z1 == Z2)
  {
   cout << "\a\n\n\n N A P A K A   V   P O D A T K I H   T O C K   ! ";
   cout << "\n\n\n IZRACUN RAZDALJ MED TEMA TOCKAMA NI MOZEN, KER STA IDENTICNI !!! ";
   fprintf(f_izhod, "\n\n N A P A K A   V   P O D A T K I H   T O C K   ! ");
   fprintf(f_izhod, "\n\n IZRACUN RAZDALJ MED TEMA TOCKAMA NI MOZEN, KER STA IDENTICNI !!! ");
   printf("\n\n DOLZINI VEKTORJEV STA IDENTICNI 0T1 = 0T2  =  %.3f", vektor_0T1, vektor_0T2);
   fprintf(f_izhod, "\n\n DOLZINI VEKTORJEV STA IDENTICNI 0T1 = 0T2  =  %.3f", vektor_0T1, vektor_0T2);
  }

  else
  {
  printf("\n\n Horizontalna razdalja med tockama = %.3f", hor_dolzina);
  fprintf(f_izhod, "\n\n Horizontalna razdalja med tockama = %.3f", hor_dolzina);
  printf("\n\n Posevna razdalja med tockama = %.3f", pos_dolzina);
  fprintf(f_izhod, "\n\n Posevna razdalja med tockama = %.3f", pos_dolzina);
  printf("\n\n Dolzina vektorja 0T1 = %.3f", vektor_0T1);
  fprintf(f_izhod, "\n\n Dolzina vektorja 0T1 = %.3f", vektor_0T1);
  printf("\n\n Dolzina vektorja 0T2 = %.3f\n\n", vektor_0T2);
  fprintf(f_izhod, "\n\n Dolzina vektorja 0T2 = %.3f", vektor_0T2);
  }

  stevec_nalog++;
  }

  fclose (f_vhod);
  fclose (f_izhod);

getchar();
return(0);
}

    

Datoteka_koordinate_tock.txt:


10 10 10   20 15 20
10 10 10   10 10 10
18.5 19.5 17.5   12.235 15.122 13.001

    

gorNa vrh


3_19092003_Vsota_vrste.cpp:


/*
Sestavi C++ program, ki izracuna vsoto naslednje vrste:
y = 1 + 1/2 + 1/4 + 1/9 + 1/16 + 1/25 + ...
                                         -8
Natancnost izracuna vsote vrste naj bo 10  . Izpisi tudi koliko clenov vrste je
potrebno upostevati, da se doseze taksna natancnost (stej ponavljanja). Rezultati
naj se ustrezno opremljeni izpisejo na zaslon!
*/

#include <stdio.h>
#include <iostream.h>

int main ()
{
    int i;
	int n;
	double vsota=0;

	cout <<"\n\n Koliko ponavljanj zelis ? >>> ";
	cin >>n;

//Verjetno napaka v besedilu naloge : y = 1 + 1/2 + 1/4 + 1/9 + 1/ 16 + 1/25 ...
// 1/1*1 = 1   1/2*2 = 1/4  1/3*3 = 1/9  1/4*4 = 1/16  1/5*5 = 1/25....
//	i=1;                      //   1/2 NE SPADA V TO VRSTO (1 + 1/n*n)  !!!
//  vsota = vsota + 1./2.;    //   1/2 NE SPADA V TO VRSTO (1 + 1/n*n)  !!!
// Lahko pa za izracun odstrani znake za komentar.

    for(i=1; i<=n; i++)

    vsota += 1. /((float)i*(float)i);    // 1/1/1=1   1/2/2=1/4  1/3/3=1/9  1/4/4=1/16 1/5/5=1/25

	printf("\n\n\n\n VSOTA VRSTE  =  %.8f\n\n", vsota);

    double x;
    x = 1./((float)i*(float)i);
    printf("\n\n\n Trenutna natancnost = %.8f in je manjsa od zahtevane.", x);
    if(x <= 0.00000001)
    {
    printf("\n\n\n Dosezena je potrebna natancnost 0.00000001,");
    printf("\n\n zagotavlja jo %d. ponavljanje !\n\n", n);
    }

    cout << "\n\n\n\n\n\n\n Pritisni tipko [Enter] za izhod >>> ";

 getchar();
 return 0;
}

    

gorNa vrh


1_26082003_Ploscina_elipse.cpp:


/*
Sestavi c++ program, ki izracuna ploscino elipse, enacba je pl = Pi*a*b
Pol osi naj bere iz zaslona in rezultate izpise na zaslon.
Program naj resi poljubno stevilo nalog, ki so tudi ostevilcene.
Uvedi stevec nalog.
*/

#include<stdio.h>
#include<stdlib.h>

main()
{
 int stevec_nalog = 1;
 double PI = 3.14159265359;
 float a, b;
 double pl;
 char odgovor;

 do
 {
  system("cls");
  printf("\n\n Vnesi podatke za %d. elipso: ", stevec_nalog);
  printf("\n\n Polos a: ");
  scanf("%f",&a);
  printf("\n Polos b: ");
  scanf("%f",&b);

  printf("\n\n\n REZULTATI %d. elipse: ", stevec_nalog);
  printf("\n\n\n Polos a = %f ", a);
  printf("\n\n Polos b = %f ", b);

  pl = a * b * PI;

  printf("\n\n\n Ploscina = %f\n ", pl);

  stevec_nalog++;

	do
	{
      printf("\n\n\n Zelis izracunat se eno nalogo ( d ali D / n ali N ) ? >>> ");
      scanf("%s", &odgovor);
    }
   	while(odgovor != 'n' && odgovor !='N' && odgovor != 'd' && odgovor != 'D');
 }
 while (odgovor == 'd' || odgovor == 'D');

 return(0);
}

    

gorNa vrh


2_26082003_Potenca_realnega_stevila.cpp:


/*
Sestavi ustrezno C++ funkcijo, ki izracuna produkt za realno stevilo (double)
                          t
na izbrano celo potenco (i ).
Funkcija naj vrne produkt potenciranja kot realno stevilo (double).
                                                                      n
Prototip funkcije: double potenca(double x, int);  // fukcija za y = x.
                                    n
Za potenciranje uporabi enacbo y = x  in ustrezno zanko.
Doloci razpon moznih vrednosti za x in zlasti za n ter v funkciji uvedi test za
njihove spremenljive vrednosti.
Sestavi program za test funkcije potenca. Branje naj bo preko tipkovnice, izpis
na zaslon.
*/

#include <stdio.h>
#include <iostream.h>
double potenca(double, int);

int main()
{
  int eksponent;
  double osnova, produkt;

  cout << "\n\n Podaj osnovo a za potenciranje: ";
  cin >> osnova;
  cout << "\n Podaj eksponent n: ";
  cin >> eksponent;

  produkt = potenca(osnova, eksponent);

  printf("\n\n\n %f na %d potenco = %f", osnova, eksponent, produkt);

  cout << "\n\n\n\n\n\n\n\n\n Konec izracuna. Pritisni tipko [Enter] za izhod >>> ";

getchar();//dodal
return (0); //dodal
}

double potenca(double x, int n)
{
 if ( n == 0 )
 {
  return 1.0;
 }

 else if ( n < 0 )
 {
  return ((1./(x*potenca(x, -(++n)))));
 }

 else

 return x * potenca(x, --n);
}

    

gorNa vrh


3_26082003_Razd_visKot_Hrazl_tock.cpp:


/*
Sestavi C++ program, ki iz odprte datoteke prebere za po dve tocki 3D koordinate
y, x in h in izracuna posevno in horizontalno razdaljo med njima, visinski kot
med 1. in 2. tocko ter nato se visinsko razliko med tockama.
Branje podatkov in izpis rezultatov naj bo izvedeno preko ustreznih vhodnih in
izhodnih datotek. Kontroliraj uspesnost odpiranja datotek!
Program mora omogocati izracun poljubnega stevila nalog.
*/

#include<stdio.h>
#include<stdlib.h>
#include <iostream.h>
#include<conio.h>
#include <math.h>

#define PI 3.14159265359

void pretv(double, int *, int *, float *);
void visinski_kot(float, double, double *);

main()
{
 float Y1, X1, H1, Y2, X2, H2;
 float delta_y, delta_x, delta_h;
 double hor_dolzina, pos_dolzina;
 double alfa;

 float sek;
 int stop, min;

 int stevec_nalog = 1;

 FILE *f_vhod, *f_izhod;
 char vhodna[80], izhodna[80];

 cout << "\n Podaj vhodno datoteko: ";
 cout << "\n\n vnos >>> ";

 cin >> vhodna;
 f_vhod = fopen(vhodna, "r");

 if(f_vhod == NULL)
 {
  system("cls");
  cout << "\a\n\n\n\n\n\n Vtipkal si ime datoteke s podatki: ";
  cout << "\n\n >>>>>  " << vhodna << " !!! \n";
  cout << "\n\n\n\n NE MOREM ODPRETI TE VHODNE DATOTEKE, KER NE OBSTAJA !!! ";
  exit(0);
 }

 cout << "\n\n\n\n Podaj izhodno datoteko: ";
 cout << "\n\n vnos >>> ";

 cin >> izhodna;
 f_izhod = fopen(izhodna, "w");

 if(f_izhod == NULL)
 {
  system("cls");
  cout << "\a\n\n\n\n\n\n Vtipkal si ime datoteke za zapis rezultatov: ";
  cout << "\n\n >>>>>  " << izhodna << " !!! \n";
  cout << "\n\n\n\n PODANE IZHODNE DATOTEKE NE MOREM USTVARITI !!! ";
  exit(0);
 }

 while ((fscanf(f_vhod, "%f %f %f %f %f %f", &Y1,&X1,&H1,&Y2,&X2,&H2)) != EOF)
 {
  system("cls");
  printf("\n\n PODATKI %d. para tock:", stevec_nalog);
  printf("\n\n Koordinate tocke 1:");
  printf("\n\n Y1 = %6.3f   X1 = %6.3f   H1 = %6.3f", Y1, X1, H1);
  printf("\n\n Koordinate tocke 2:");
  printf("\n\n Y2 = %6.3f   X2 = %6.3f   H2 = %6.3f", Y2, X2, H2);

  fprintf(f_izhod, "\n\n\n PODATKI %d. para tock:", stevec_nalog);
  fprintf(f_izhod, "\n\n Koordinate tocke 1:");
  fprintf(f_izhod, "\n\n Y1 = %6.3f   X1 = %6.3f   H1 = %6.3f", Y1, X1, H1);
  fprintf(f_izhod, "\n\n Koordinate tocke 2:");
  fprintf(f_izhod, "\n\n Y2 = %6.3f   X2 = %6.3f   H2 = %6.3f", Y2, X2, H2);

  delta_y = (Y2 - Y1);
  delta_x = (X2 - X1);
  delta_h = (H2 - H1);

  hor_dolzina = sqrt((delta_x * delta_x) + (delta_y * delta_y));
  pos_dolzina = sqrt((hor_dolzina * hor_dolzina) + (delta_h * delta_h));

  printf("\n\n\n REZULTATI %d. para tock:", stevec_nalog);
  fprintf(f_izhod, "\n\n\n REZULTATI %d. para tock:", stevec_nalog);

  if (Y1 == Y2 &&  X1 == X2 && H1 == H2)
  {
   cout << "\a\n\n\n N A P A K A   V   P O D A T K I H   T O C K   ! ";
   cout << "\n\n\n IZRACUNI NISO MOZNI, KER STA TOCKI IDENTICNI !!!\n\n ";
   fprintf(f_izhod, "\n\n\n N A P A K A   V   P O D A T K I H   T O C K   ! ");
   fprintf(f_izhod, "\n\n\n IZRACUNI NISO MOZNI, KER STA TOCKI IDENTICNI !!!\n\n ");
  }

  else
  {
  visinski_kot(delta_h, hor_dolzina, &alfa);
  pretv(alfa, &stop, &min, &sek);

  printf("\n\n Horizontalna razdalja med tockama d = %.3f m.", hor_dolzina);
  fprintf(f_izhod, "\n\n Horizontalna razdalja med tockama d = %.3f m.", hor_dolzina);
  printf("\n\n Posevna razdalja med tockama d' = %.3f m.", pos_dolzina);
  fprintf(f_izhod, "\n\n Posevna razdalja med tockama d' = %.3f m.", pos_dolzina);
  printf("\n\n Visinski kot med tockama alfa = %3d%02d'%04.1f\" ", stop, min, sek);
  fprintf(f_izhod, "\n\n Visinski kot med tockama alfa = %3d%02d'%04.1f\" ", stop, min, sek);

  if(delta_h < 0)
  delta_h *= (-1.);

  printf("\n\n Visinska razlika med tockama delta_h = %.3f m.\n\n ", delta_h);
  fprintf(f_izhod, "\n\n Visinska razlika med tockama delta_h = %.3f m.\n\n ", delta_h);
  }

  stevec_nalog++;
  }

  fclose (f_vhod);
  fclose (f_izhod);

 getchar();
 return(0);
}


void pretv(double alfa, int *stop, int *min, float *sek)
{
 *stop = int(alfa);
 *sek = alfa - *stop;
 *sek *= 60.0;

 *min = int(*sek);

 *sek = (*sek - *min) * 60.0;
 *sek = floor(*sek * 10.0 + 0.5) / 10.0;

 if(*sek >= 60.0)
 {
  *sek = *sek - 60.0;
  *min = *min + 1;
 }

 if(*min >= 60)
 {
  *min -= 60;
  *stop += 1;
 }

 if(*stop >= 180)
 {
  *stop -= 180;
 }
}


void visinski_kot(float delta_h, double hor_dolzina, double *vk_alfa)
{
 if((floor(delta_h * 100000.0 )) == 0.0)
 {
  *vk_alfa = 0.0;
 }

 else
 {
  if(delta_h < 0)
  delta_h *= (-1.);

  *vk_alfa = asin(delta_h / hor_dolzina);
 }

 *vk_alfa = *vk_alfa * (180.0 / PI);
}

    

Datoteka_koordinate_tock.txt:


10 10 10   20 15 20
10 10 10   10 10 10
18.5 19.5 17.5   12.235 15.122 13.001

    

DomovNA MENI « Prejšnja  1   2   3   4   5   Naslednja »


Vi ste   .  obiskovalec te strani.

gorNa vrh


Datum zadnje spremembe: 19.03.2008.       Copyright © 2006-2012 dr.eu.       Vse pravice pridržane.       Valid HTML 4.01 Transitional