Help ho un esercizio da fare in c++

di Anonimizzato18097 il
5 risposte
Salve ragazzi,
ho un esercizio da fare in c++ e mi serve il vostro aiuto perchè non riesco a completarlo. L'esercizio è il seguente:
Si scriva un programma che utilizzi la struttura dati piu adatta per gestire un elenco di studenti, il cui generico
elemento deve contenere le seguenti informazioni:

nome dello studente
cognome dello studente
corso di studi
matricola (valore intero)
media degli esami sostenuti (valore reale)

Il programma deve prevedere inizialmente la lettura dell'elenco con tutti i dati per un numero N di studenti specicato dall'utente e la lettura di una valore reale S. Il programma deve quindi eliminare dall'elenco gli studenti la cui media sia inferiore alla soglia S ed ordinare l'elenco cosi modificato in ordine alfabetico crescente secondo il cognome dello studente. In ultimo, stampi l'elenco ordinato

5 Risposte

  • Devi creare un array di struct avente N elementi.
    prendi in input i vari dati dall'utente. scorri l'array dalla prima all'ultima cella, se la media della cella attuale è inferiore ad S, shifti l'array verso sinistra (attenzione: non devi shiftare solo le medie, ma anche tutti gli altri dati).
    infine fai l'ordinamento alfabetico basandoti sul cognome (e ovviamente devi swappare anche tutti gli altri dati, come con lo shift).
    spero di essermi spiegato bene.
  • Perché non riesco a completarlo?

    Cosa hai scritto? Cosa non sai fare?
  • Non so come scrivere il codice per cercare le medie dei voti minori alla soglia
  • Ma hai già impostato il programma? Per la ricerca basta un ciclo for e una if ... Prova ad iniziare a scriverlo e poi si vede dove sbagli...
  • lucke93 ha scritto:


    non so come scrivere il codice per cercare le medie dei voti minori alla soglia
    non devi ricercarle ma devi ORDINARLE (anche se fino a un certo punto è la stessa cosa, dopo si prendono strade diverse).
    l'algoritmo di ordinamento più "stupido" consiste nel fare un ciclo for che parte dalla cella i, che contiene un altro ciclo for che parte dalla cella j (j = i+1) e se i > j swappa i valori (se ti serve un ordinamento decrescente basta fare l'if con i < j).
Devi accedere o registrarti per scrivere nel forum
5 risposte