Anteprima
Vedrai una selezione di 1 pagina su 2
Programmi C++ - Struttura a stack Pag. 1
1 su 2
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Struttura a stack per la gestione di una lista di studenti e relativi dati
programmino che fa la struttura a stack per la gestione di una lista.
Estratto del documento

#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;

};

};

Dettagli
Publisher
2 pagine
33 download