Ragazzi devo fare un programma in C che caricando in una matrice composta da alunni in ogni classe, a mia scelta possa fare o una ricerca del nome e ci siamo, o trovare tutti i nomi uguali che ci sono e qui ho dei problemi... il programma mi funziona solo in parte, e non so dove sbaglio...
Il problema da risolvere è nel case 2...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int r,c,i,j,scelta,pas,k,z;
char alunni[50][50][50],classe[50][50],ric[50],sez[50];
printf("Inserisci numero di classi\n");
scanf("%d",&r);
printf("Inserisci numero di alunni per classe\n");
scanf("%d",&c);
for(i=0;i<r;i++){
printf("Inserisci il nome della sezione della classe %d\n",i+1);
scanf("%s",&classe[i]);
for(j=0;j<c;j++){
printf("Inserisci nome dell'alunno %d della sezione %s\n",j+1,classe[i]);
scanf("%s",&alunni[i][j]);
}
}
printf("Cosa vuoi fare?\n");
printf("1)Cercare un nome di un alunno nella scuola\n");
printf("2)Cercare alunni con uno stesso nome\n");
scanf("%d",&scelta);
switch(scelta) {
case 1:
printf("\n\nInserire nominativo da ricercare : ");
scanf("%s",&ric);
pas=0;
for(i=0;i<r;i++){
for(j=0;j<c;j++){
if(strcmp(ric,alunni[i][j])==0) {
strcpy(sez,classe[i]);
pas=1;
}
}
}
if(pas==1) printf("\n\nL'alunno %s da lei ricercato e' presente nella scuola, nella sezione %s\n",ric,sez);
else printf("\n\nL'alunno %s non e' presente nella scuola\n\n",ric);
case 2:
for(i=0;i<r;i++){
for(j=0;j<c;j++){
for(k=i+1;k<r;k++){
for(z=0;z<c;z++){
if(strcmp(alunni[i][j],alunni[k][z])==0){
printf("%s\n",alunni[k][z]);
}
}
}
}
}
}
system("pause");
return 0;
}