Salve a tutti, mi sono bloccato su questo programma:
scrivere un programma C che permetta di gestire la situazione definita qui di seguito.
dichiarare un vettore(dimensione dim- costante definita a piacere) di struct definito questo modo: cognome(char 40), nome char(40), importo(float)
dopo averli inseirli nel vettore,
mediane delle funzioni vengono effettuate le seguenti azioni:
1 azzerare tutti gli elementi del vettore
2 stampare a video,
3 dato il numero di un elemento del vettore, chiesto all'utente, chiedere nome,cognome e importo e caricarlo nel vettore individuato
4 inserire i dati dentro tutto il vettore (pensare alle funzioni 3 e 4 collegate, realizzare una funzione di inserimento del singolo elemento e usarla per entrambi i casi)
5 dato un importo trovare gli elementi con importo minore, uguale e maggiore( e stamparli)
6 fare la somma degli importi di tutti i record presenti nel vettore
praticamente dal punto 2 in poi non so come procedere, come fare gli altri punti? grazie in anticipo
questo è il testo dell'esercizio, e questo e quello che ho fatto:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
struct pers
{
char cognome[40];
char nome[40];
float importo;
};
void inserimento(struct pers p[], int dim)
{
int i;
for(i=0; i<dim; i++)
{
cout<<"PERSONA n"<<i+1<<endl;
cout<<"NOME: ";
cin>>p.nome;
cout<<"COGNOME: ";
cin>>p.cognome;
cout<<"IMPORTO: ";
cin>>p.importo;
cout<<endl;
}
}
void azzeramento(struct pers p[], int dim)
{
int i;
for(i=0; i<dim; i++)
{
strcpy(p.nome, "Nome_Utente");
strcpy(p.cognome,"Cognome_Utente");
p.importo=0;
}
_sleep(500);
cout<<"IL VETTORE E' STATO AZZERATO";
}
void stampa(struct pers p[], int dim)
{
int i;
for(i=0; i<dim; i++)
{
cout<<"PERSONA n"<<i+1<<endl;
cout<<"NOME: "<<p.nome;
cout<<endl;
cout<<"COGNOME: "<<p.cognome;
cout<<endl;
cout<<"IMPORTO: "<<p.importo;
cout<<endl<<endl;
}
}
int main()
{
const int dim=3;
struct pers p[dim];
int scelta;
cout<<"PROGRAMMA STRUCT \n\n";
inserimento(p,dim);
while(scelta!=6)
{
cout<<"1 -AZZERA I DATI INSERITI"<<endl;
cout<<"2 -STAMPA DATI INSERITI"<<endl;
cout<<"3 -IMETTI DATI UTENTE"<<endl;
cout<<" -INSERISCI I DATI NEL VETTORE"<<endl;
cout<<"4 -STAMPA UTENTI CON IMPORTO MINORE"<<endl;
cout<<" -STAMPA UTENTI CON IMPORTO MAGGIORE"<<endl;
cout<<" -STAMPA UTENTI CON IMPORTO UGUALE"<<endl;
cout<<"5 -SOMMA DI TUTTI GLI IMPORTI"<<endl;
cout<<"6 -FINE"<<endl;
cout<<"Scegli un'opzione: ";
cin>>scelta;
cout<<endl;
switch(scelta)
{
case 1:
{
azzeramento(p,dim);
break;
}
case 2:
{
stampa(p,dim);
break;
}
}
}
getchar();
getchar();
return 1;
}