Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
RAPORT
Lucrare de laborator Nr.7
la Programarea orientata pe obiect
Chişinău 2017
Tema: Prelucrarea excepţiilor. Blocul try{…} throw() catch()…
Scrieţi un program care determină numărul maximal şi cel minimal dintr-un şir de numere
aleatoare dintr-un fişier. Subconsecutivitatea de elemente dintre numărul maximal şi cel minimal
determinat să se înregistreze într-un nou fişier.
Listingul programului:
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main(){
float a[100];
int i, j, min, max, locmin, locmax, start,r=0,u=0, end;
ofstream f1("file1.txt");
for (i=0; i<10; i++){
for (j=0; j<10; j++)
{f1<<" "<<(rand()%250+-120)<<" ";}
f1<<"\n";
}
cout<<"100 de numere au fost adaugate in file1.txt prin random.\n";
f1.close();
fstream f3("file1.txt",ios::in);
if(f3.fail()){
cout<<"Eroare la deschidere! \n ";
exit(0);
}
else
for(i=0;i<100;i++){
f3>>a[i];
}
cout<<"Datele au fost citite din file1.txt\n\n";
min=max=a[0];
for (i=0; i<100; i++){
try {
if (a[i]<min) {
min=a[i];
locmin=i;
}
if (a[i] < -100)
{
throw -100;
}
if (a[i]>max) {
max=a[i];
locmax=i;
}
if (a[i] > 100)
{
throw 100;
}
}
catch (int x) {
if(x == -100){
a[i] = -99;
r++;
cout << "Sunt generate cifre mai mici ca:"<< x <<" de "<<r<<" ori. Si
inlocuite cu -99."<< endl;}