#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define dim 20
void inserisci_nome(char *ptr){
puts("inserisci nome");
fgets(ptr,dim,stdin);
}
void inserisci_cognome(char *str){
puts("inserisci cognome");
fgets(str, dim, stdin);
}
void stampa_nome(char *ptr){
puts(ptr);}
void stampa_cognome(char *str){
puts(str);}
void ordinamento_alfabetico(char *s){
int temp;
int i,y;
for (i=0; i<sizeof(s)-1; i++) {
for (y=0; y<sizeof(s); y++)
if (s[y]<s) {
temp=s[y];
s[y]=s;
s=temp;}}
for (i=0;i<sizeof(s); i++) {
printf("%d\n",s);}
}
void inserisci_matricola(int mtr){
printf("inserisci numero di matricola studente");
scanf("%d1\n",&mtr);
}
struct lista1{
char nome[20];
char cognome[20];
int matricola;
struct lista1 *next;};
struct lista2{
char nome[20];
char cognome[20];
int matricola;
struct lista2 *next;
};
struct lista3{
char nome[20];
char cognome[20];
int matricola;
struct lista3 *next;
};
int main(){
int ripeti1=1;
int ripeti2=1;
int ripeti3=1;
struct lista1 *inizio=NULL;
struct lista2 *inizio2 = NULL;
struct lista2 *inizio3=NULL;
struct lista1 *n1;
struct lista2 *p1;
struct lista3 *v1;
while (ripeti1!=0) {
n1=(struct lista1*)malloc(sizeof(struct lista1));
inserisci_matricola(n1->matricola);
inserisci_nome(n1->nome);
stampa_nome(n1->nome);
inserisci_cognome(n1->cognome);
stampa_cognome(n1->cognome);
printf("inserisci altro alunno=1...termina inserimento=0");
scanf("%d\n",&ripeti1);
}
if (ripeti1==0) {
printf("inserimento terminato");
}
while (inizio!=NULL) {
printf("%s\n-----%s\n----%d\n",inizio->cognome,inizio->nome,inizio->matricola);
inizio=inizio->next;
}
while (ripeti2!=0) {
p1=(struct lista2*)malloc(sizeof(struct lista2));
inserisci_matricola(p1->matricola);
inserisci_nome(p1->nome);
stampa_nome(p1->nome);
inserisci_cognome(p1->cognome);
stampa_cognome(p1->cognome);
printf("inserisci altro alunno=1...termina inserimento=0");
scanf("%d\n",&ripeti2);}
if (ripeti2==0) {
printf("inserimento terminato");
}
while (inizio!=NULL) {
printf("%s\n-----%s\n----%d\n",inizio2->cognome,inizio2->nome,inizio2->matricola);
inizio2=inizio2->next;
}
while (ripeti3!=0) {
v1=(struct lista3*)malloc(sizeof(struct lista3));
inserisci_matricola(v1->matricola);
inserisci_nome(v1->nome);
stampa_nome(v1->nome);
inserisci_cognome(v1->cognome);
stampa_cognome(v1->cognome);
v1->next=NULL;
printf("inserisci altro alunno=1...termina inserimento=0");
scanf("%d\n",&ripeti3);}
if (ripeti3==0) {
printf("inserimento terminato");
}
while (inizio3!=NULL) {
printf("%s\n-----%s\n----%d\n",inizio3->cognome,inizio3->nome,inizio3->matricola);
inizio3=inizio3->next;}
return 0;
}