//////////////////////////////////////////////////////////////////////////////
// ITS – Visoka Škola Strukovnih Studija Za Informacione Tehnologije

//
http://www.its.edu.rs/
// Predmet: Osnovi Programiranja – Programski jezik C
//
// Primer: Program izracunava povrsinu i zapreminu trostrane i
//cetvorostrane piramide.
///////////////////////////////////////////////////////////////////////////////

#include <stdio.h>
#include
<math.h>

/* koren iz 3 sam definisao s obzirom da se dosta koristi u izracunavanjima kod trostrane piramide */
#define K3 1.73250808
main ()
{
double a, H, B, h, M, P, V;
int unos;
int izraz = 0;
/* pozdravna poruka */
printf(“#############################################\n”);
printf(“## Program za izracunavanje povrsine i zapremine piramide ##\n”);
printf(“#############################################\n”);
printf(“1. Cetvorostrana pravilna piramida\n”);
printf(“2. Trostrana pravilna piramida\n”);
printf(“\nIzaberite vrstu piramide (1-2): “);
scanf(“%d”, &unos);

switch ( unos ) {
/* cetvorostrana pravilna piramida sa bazom kvadrata */
case 1:

/* pozdravna poruka */
printf(“———————————–\n”);
printf(“| Cetvorostrana pravilna piramida |\n”);
printf(“———————————–\n”);

/* unos vrednosti a */
printf(“Unesite duzinu osnovne ivice (a): “);
scanf(“%lf”, &a);

/* unos vrednosti H */
printf(“Unesite duzinu visine piramide (H): “);
scanf(“%lf”, &H);

/* proveravamo unete vrednosti jer ne smeju biti manje ili jednake 0 */
izraz = (a<=0) || (H<=0);
if(izraz==0)
{

/* racunanje povrsine baze cetvorostrane piramide */
B = a * a;
/* racunanje duzine visine bocne strane */
h = sqrt(pow(H,2)+pow(a/2,2));
/* racunanje povrsine omotaca cetvorostrane piramide */
M = 2 * a * h;
/* racunanje povrsine cetvorostrane piramide */
P = B + M;
/* racunanje zapremine cetvorostrane piramide */
V = (B * H)/3;
/* ispis rezultata */
printf(“\nDuzina visine bocne strane (h) je: %.2f cm\n”, h);
printf(“Povrsina omotaca (M) je: %.2f cm2\n”, M);
printf(“Povrsina baze (B) je: %.2f cm2\n”, B);
printf(“\nPovrsina piramde (P) je: %.2f cm2\n”,P);
printf(“Zapremina piramde (V) je: %.2f cm3\n”,V);
}
else
/* ispis ukoliko je korisnik uneo nepravilne vrednosti */
printf(“Greska!\nDuzina osnovne ivice ili visine ne moze biti manja ili jednaka nuli.\n”);
break;

/* trostrana pravilna piramida */
case 2:
/* pozdravna poruka */
printf(“———————————–\n”);
printf(“| Trostrana pravilna piramida |\n”);
printf(“———————————–\n”);

/* unos vrednosti a */
printf(“Unesite duzinu osnovne ivice (a): “);
scanf(“%lf”, &a);

/* unos vrednosti H */
printf(“Unesite duzinu visine piramide (H): “);
scanf(“%lf”, &H);

/* proveravamo unete vrednosti jer ne smeju biti manje ili jednake 0 */
izraz = (a<=0) || (H<=0);
if(izraz==0)
{
/* racunanje povrsine baze trostrane pravilne piramide */
B = ((a * a) * K3) / 4 ;
/* racunanje duzine visine bocne strane trostrane pravilne piramide*/
h = sqrt(pow(H,2)+pow((a * K3)/6,2));
/* racunanje omotaca trostrane pravilne piramide */
M = 3 * ((a * h)/2);
/* racunanje povrsine trostrane pravilne piramide */
P = B + M;
/* racunanje zapremine trostrane pravilne piramide */
V = (B * H)/3;
/* ispis rezultata */
printf(“\nDuzina visine bocne strane (h) je: %.2f cm\n”, h);
printf(“Povrsina omotaca (M) je: %.2f cm2\n”, M);
printf(“Povrsina baze (B) je: %.2f cm2\n”, B);
printf(“\nPovrsina piramde (P) je: %.2f cm2\n”,P);
printf(“Zapremina piramde (V) je: %.2f cm3\n”,V);
}

else
/* ispis ukoliko je korisnik uneo nepravilne vrednosti */
printf(“Greska!\nDuzina osnovne ivice ili visine ne moze biti manja ili jednaka nuli.\n”);
break;
default:
printf( “Greska!\nNe mozete uneti brojeve manje od 1 ili vece od 2.\n” );
break;
}
}

 

programiranjeC_072