online: 4; azi: 1318; total: 53324 Manual clasa a x a - Realizarea aplicatiilor - Aplicatii

Manual clasa a X a

Realizarea aplicatiilor

Aplicatii

Ex 2 -23 7 -Xa
Să se realizeze o aplicație care să țină evidenţa evoluției cursului leu - euro din luna precedentă. Pentru fiecare zi din lună se vor păstra următoarele informații:
Aplicația trebuie să asigure afişarea următoarelor informații:
În acest caz, dacă nu avem voie să folosim funcții din librării externe, putem rezolva problema folosind doar structurile de control și variabilele standard din limbajul C++ . vreau programul in c++ functional , cu date generate
Pentru a rezolva această problemă, vom crea o structură pentru a păstra informațiile despre cursul valutar pentru fiecare zi și vom folosi un vector pentru a stoca aceste informații pentru întreaga lună. Apoi, vom calcula și afișa informațiile cerute despre cursul valutar. În acest exemplu, voi genera datele cursului valutar pentru 30 de zile.
# include < iostream >
# include <vector>
# include < ctime >
# include < cstdlib >
# include < cmath >
struct Curs {
int zi;
double curs;
double indice_baza_fixa ;
double indice_baza_lant ;
double spor_baza_fixa ;
double spor_baza_lant ;
};
int main () {
srand ( time ( 0 ));
int nr_zile = 30 ;
std ::vector<Curs> cursuri ( nr_zile ) ;
double curs_initial = 4.5 ;
// Generarea datelor cursului valutar pentru 30 de zile
for ( int i = 0 ; i < nr_zile ; ++i) {
cursuri[i].zi = i + 1 ;
cursuri[i].curs = curs_initial + static_cast < double >( rand ()) / RAND_MAX;
cursuri[i]. indice_baza_fixa = cursuri[i].curs / curs_initial ;
cursuri[i]. indice_baza_lant = (i == 0 ) ? 1.0 : cursuri[i].curs / cursuri[i - 1 ].curs;
cursuri[i]. spor_baza_fixa = cursuri[i].curs - curs_initial ;
cursuri[i]. spor_baza_lant = (i == 0 ) ? 0.0 : cursuri[i].curs - cursuri[i - 1 ].curs;
}
int zi_min = 0 , zi_max = 0 ;
double suma = 0 , media = 0 , abatere_medie_patratica = 0 ;
for ( int i = 0 ; i < nr_zile ; ++i) {
suma += cursuri[i].curs;
if (cursuri[i].curs < cursuri[ zi_min ].curs) {
zi_min = i;
}
if (cursuri[i].curs > cursuri[ zi_max ].curs) {
zi_max = i;
}
}
media = suma / nr_zile ;
for ( int i = 0 ; i < nr_zile ; ++i) {
abatere_medie_patratica += pow (cursuri[i].curs - media, 2 );
}
abatere_medie_patratica = sqrt ( abatere_medie_patratica / nr_zile );
std :: cout << "Ziua cu cel mai mare curs: " << cursuri[ zi_max ].zi << " (curs: " << cursuri[ zi_max ].curs << ")\n" ;
std :: cout << "Ziua cu cel mai mic curs: " << cursuri[ zi_min ].zi << " (curs: " << cursuri[ zi_min ].curs << ")\n" ;
std :: cout << "Media aritmetica a cursului: " << media << "\n" ;
std :: cout << "Abaterea medie patratica a cursului: " << abatere_medie_patratica << "\n" ;
return 0 ;
}

Dacă doriți să adăugați funcționalitate suplimentară sau să vă îmbunătățiți codul, puteți lua în considerare următoarele idei:
Luați în considerare aceste sugestii și adaptați codul în funcție de nevoile dvs. specifice.