19/05/2018, 13:30
void Calc_Med(int matr_A[20][N], int v[20],float med[20]);
20/05/2018, 17:42
/*
Simulazione scrutini di una classe di M(a input) studenti con N(costante) materie.
Il programma deve mostrare a vieo :
i voti di tutta la classe;
la media di ogni studente;
i voti insufficienti di ogni studente;
*/
#include <iostream>
#include <cstdlib>
#include <iomanip>//manipolatore dell'output stream
using namespace std;
const int N=3;//Materie
int M;//studenti
// -- PROTOTIPI -- //
void carica_Matr(int matr_A[20][N]);
void stampa_Matr (int matr_A[20][N]);
void Calc_Med(int matr_A[20][N], int v[N],float med[N]);
void insuff(int matr_A[20][N],float med[N]);
// -- FUNZIONI -- //
void carica_Matr (int matr_A[20][N]){
int i, j;
cout<<"\n\nScelta numero studenti max 20:";
cin>>M;
for (i=0 ; i<M ; i++){
for(j=0 ; j<N ; j++){
cout<<"Inserisci il voto dello studente "<<i+1<<" nella materia "<<j+1<<" :";
cin >> matr_A[i][j];
}
}
return;
}
void stampa_Matr (int matr_A[20][N]){
int i, j;
for(i=0;i<N;i++){
cout<<"\n materia_"<<i+1<<" =";
for(j=0;j<M;j++){
cout<<setw(4)<<matr_A[j][i]<<";";
}
}
return;
}
void Calc_Med(int matr_A[20][N]){
int v[N];float med[N];
cout<<"\n\nMEDIA dei VOTI per ogni STUDENTE"<<endl;
int i, j;
for (j=0 ; j<M ; j++)
{
v[j]=0;//Azzero il vettore delle somme (v[j])dei voti per ogni studente.
for (i=0; i<N ; i++)
v[j] += matr_A[j][i];//Carico (v[j]):per ogni studente "j" sommo i voti "i" delle materie N
}
for (j=0 ; j<M; j++){
med[j]=(float)v[j]/N;//Media = somma dei voti diviso N (materie)
cout<<setprecision(3)<<"\nLa MEDIA dei voti dello studente "<<j+1<<" = "<< med[j]<<" ";
}
}
void insuff(int matr_A[20][N], int inf[20][N]){
int i, j;
int insuf=6;
for (i=0; i<M ; i++){
cout<<setw(4)<<"\nStudente "<<i+1<<" con insufficenza =";
int inf[20][N]={0};
for (j=0; j<N ; j++)
if (matr_A[j][i]<insuf){
inf[j][i]=matr_A[j][i];
cout<<inf[j][i]<<";";
}
}
}
int main () {
int matr_A[20][N];
int inf[20][N];
float med[N];
cout<<"\n Mat con dimensione massima 20x7 ";
carica_Matr(matr_A);
stampa_Matr(matr_A);
Calc_Med(matr_A);
insuff(matr_A,inf);
}
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.