#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 } |
/* 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; } |
//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); } |
/* 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; } |
/* 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; } |
/* 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); } |
/* 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); } |
/* 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); } |
/* 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); } |
TO bi moral PREPISATI od 0 do 123456789 od zaetka do konca, od . , : ; - _ ? = " # $ % & / () \||@ in ! |
/* 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); } |
10 10 10 20 15 20 10 10 10 10 10 10 18.5 19.5 17.5 12.235 15.122 13.001 |
/* 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; } |
/* 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); } |
/* 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); } |
/* 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); } |
10 10 10 20 15 20 10 10 10 10 10 10 18.5 19.5 17.5 12.235 15.122 13.001 |
NA MENI | « Prejšnja | 1 | 2 | 3 | 4 | 5 | Naslednja » |
Vi ste | . obiskovalec te strani. |
Datum zadnje spremembe: 19.03.2008. Copyright © 2006-2012 dr.eu. Vse pravice pridržane. |