vuoi
o PayPal
tutte le volte che vuoi
#include <iostream.h>
#include <stdio.h>
#include <string.h>
struct persona {
char nome [40];
char cognome [40];
int voto;
persona *next;
};
class lista {
persona *head;
public :
lista () {head=NULL;}; //inizializza la lista a NULL (valore
inesistente 0 '/0')
void add (char*, char*, int);
void show (); //visualizza lista;
void show (char*); //visualizza nomi cercati;
void ordina ();
int media ();
int votomax ();
int votomin ();
};
void lista:: add(char*n, char*c, int v) {
persona *p= new persona;
strcpy (p->nome,n);
strcpy (p->cognome,c);
p->voto=v;
p->next=head;
head=p;
};
void lista:: ordina () { persona *i = head;
persona *j = i->next;
for (i=head; i; i=i->next)
for (j=i->next; j; j=j->next) {
persona *buffer= new persona;// creazione prima
di if altrimenti nn funziona if ((strcmp(i->cognome,j->cognome)>0) ||
(strcmp(i->cognome,j->cognome)==0) &&
(strcmp(i->nome,j->nome)>0)){ strcpy ( buffer->cognome, i->cognome);
strcpy ( buffer->nome, i->nome);
buffer->voto=i->voto;
strcpy ( i->cognome,j->cognome);
strcpy ( i->nome, j->nome);
i->voto=j->voto;
strcpy (j->cognome,buffer->cognome);
strcpy (j->nome,buffer->nome);
j->voto=buffer->voto;
} };
};
void lista:: show () { persona *s=head;
while (s) {
cout << s->cognome<<" "<<s->nome<<" "<<s->voto<<endl;
s=s->next;
};
};