oregon ha scritto:
Proponi una soluzione e vediamo cosa sbagli.
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void visualizza(studente *pt, int posizione) {
printf("\n---------------\n");
printf("Cognome: %s\n", pt->cognome);
printf("Nome: %s\n", pt->nome);
printf("Numero matricola: %d\n", pt->matricola);
printf("---------------\n");
}
////////////////////////////////////////////////////////////////////////////////
int visualizza_tutto(int pos){
int i=0;
studente *ps= &studenti[0];
for(i=0; i<pos;i++)
visualizza(ps++, pos);
}
////////////////////////////////////////////////////////////////////////////////
int aggiungi_studente(int posizione){
printf("\n\t\tINSERIMENTO STUDENTE.\n\n");
printf("Inserisci il cognome dello studente: "); scanf("%s",studenti[posizione].cognome);
printf("Inserisci il nome dello studente: "); scanf("%s",studenti[posizione].nome);
printf("Inserisci il numero della matricola: "); scanf("%d", &studenti[posizione].matricola);
posizione++;
return(posizione);
}
////////////////////////////////////////////////////////////////////////////////
void ricerca(n) {
int i, matricola;
studente *ps;
printf("\n\t\tRICERCA DELLO STUDENTE.\n\n");
printf("Inserisci il numero della matricola da ricercare: ");
scanf("%d", &matricola);
*ps=cerca(matricola, n);
//if(ps==NULL)
//printf("Lo studente non e' presente in archivio.\n");
//visualizza(ps, posizione);
}
////////////////////////////////////////////////////////////////////////////////
studente *cerca(int mat, int posizione) {
int i;
for(i=0; i<posizione; i++)
if(studenti
.matricola==mat)
return(&studenti);
else
return(NULL);
}