DEVOIR LIBRE : LANGUAGE C Siham ayad CNE :A137005295 année universitaire :2021/

DEVOIR LIBRE : LANGUAGE C Siham ayad CNE :A137005295 année universitaire :2021/2022 Pour 50 étudiants on a : void initialiser(char tableau[200][30]) { tableau[0][0]='\0'; // pour initialiser le tableau } 1 void ajouter_etudiants(char tableau[200][30],char *nom,char *prenom,char *filiere,char *niveau) { int i=0; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } strcpy(tableau[i],nom); strcpy(tableau[i+1],prenom); strcpy(tableau[i+2],filiere); strcpy(tableau[i+3],niveau); tableau[i+4][0]='\0'; } 2 void affichage(char tableau[200][30]) { int i,j,k; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } printf("%15s|%15s|%15s|%15s|\n","nom","Prenom","Filiere","Niveau"); for(k=0;k<i;k) { printf("%15s|%15s|%15s|%15s|\n",tableau[k],tableau[k+1],tableau[k+2],tableau[k+3]); k+=4; } } 3 void affichage_par_niveau(char tableau[200][30],char *niveau) { int i,j,k; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } printf("%15s|%15s|%15s|%15s|\n","nom","Prenom","Filiere","Niveau"); for(k=0;k<i;k) { if(strcmp(tableau[k+3],niveau)==0) { printf("%15s|%15s|%15s|%15s|\n",tableau[k],tableau[k+1],tableau[k+2],tableau[k+3]); } k+=4; } } 4 void affichage_par_filiere(char tableau[200][30],char *filiere) { int i,j,k; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } printf("%15s|%15s|%15s|%15s|\n","nom","Prenom","Filiere","Niveau"); for(k=0;k<i;k) { if(strcmp(tableau[k+2],filiere)==0) { printf("%15s|%15s|%15s|%15s|\n",tableau[k],tableau[k+1],tableau[k+2],tableau[k+3]); } k+=4; } } 5 int comparer(char *A,char *B) { int i; for(i=0;i<strlen(A);i++) { if(A[i]<B[i]) { return 1; break; } if(A[i]>B[i]) { return 0; break; } } } void trier(char tableau[200][30]) { int i,j,k,min; char temp[30]; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } for(j=0;j<i;j) { min=j; for(k=j;k<i;k) { if(comparer(tableau[k],tableau[min])==1) { min=k; } k+=4; } strcpy(temp,tableau[min]); strcpy(tableau[min],tableau[j]); strcpy(tableau[j],temp); //----------------------- strcpy(temp,tableau[min+1]); strcpy(tableau[min+1],tableau[j+1]); strcpy(tableau[j+1],temp); //----------------------- strcpy(temp,tableau[min+2]); strcpy(tableau[min+2],tableau[j+2]); strcpy(tableau[j+2],temp); //----------------------- strcpy(temp,tableau[min+3]); strcpy(tableau[min+3],tableau[j+3]); strcpy(tableau[j+3],temp); j+=4; } } 6 void chercher_par_nom(char tableau[200][30],char *nom) { int i,j,k; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } printf("%15s|%15s|%15s|%15s|\n","nom","Prenom","Filiere","Niveau"); for(k=0;k<i;k) { if(strcmp(tableau[k],nom)==0) { printf("%15s|%15s|%15s|%15s|\n",tableau[k],tableau[k+1],tableau[k+2],tableau[k+3]); } k+=4; } } 7 void corriger(char tableau[200][30],char *nom,char *prenom) { int i,j,k; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } for(k=0;k<i;k) { if(strcmp(tableau[k],nom)==0 && strcmp(tableau[k+1],prenom)==0) { printf("Saisir les nouvelles donnees : NOM|PRENOM|FILIERE|NIVAEU \n"); scanf("%s%s%s%s",tableau[k],tableau[k+1],tableau[k+2],tableau[k+3]); } k+=4; } } 8 void supprimer(char tableau[200][30],char *nom,char *prenom) { int i,j,k,p=0; for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } for(k=0;k<i;k) { if((strcmp(tableau[k],nom)==0)) { p=1; for(j=k;j<i-4;j) { strcpy(tableau[j],tableau[j+4]); strcpy(tableau[j+1],tableau[j+5]); strcpy(tableau[j+2],tableau[j+6]); strcpy(tableau[j+3],tableau[j+7]); k+=4; j+=4; } } k+=4; } if(p==1) { tableau[j][0]='\0'; } } 9 void enregestrer(char tableau[200][30]) { int i,j,k; FILE *P=NULL; P=fopen("liste_etudiants.txt","a"); for(i=0;i<200;i++) { if(tableau[i][0]=='\0') break; } fprintf(P,"%15s|%15s|%15s|%15s|\n","nom","Prenom","Filiere","Niveau"); for(k=0;k<i;k) { fprintf(P,"%15s|%15s|%15s|%15s|\n",tableau[k],tableau[k+1],tableau[k+2],tableau[k+3]) ; k+=4; } fclose(P); } 10 int main() { int i=11; char tab[200][30],nom[30],prenom[30],filiere[30],niveau[30]; initialiser(tab); while(i!=10) { printf("1- Ajouter un etudiant\n"); printf("2- Afficher tous les etudiants\n"); printf("3- Afficher les etudiants par niveau\n"); printf("4- Afficher les etudiants par filiere.\n"); printf("5- Trier tous les etudiants par nom\n"); printf("6- Chercher un etudiant par nom\n"); printf("7- Corriger les données d un etudiant\n"); printf("8- Supprimer un etudiant.\n"); printf("9- Enregistrer toutes les donnees des etudiants dans un fichier.\n"); printf("10- Quitter\n"); scanf("%d",&i); switch (i) { case 1: { printf("Saisir les donnees : NOM|PRENOM|FILIERE|NIVEAU \n"); scanf("%s%s%s%s",nom,prenom,filiere,niveau); ajouter_etudiants(tab,nom,prenom,filiere,niveau); break; } case 2: { affichage(tab); break; } case 3: { printf("saisir le niveau: "); scanf("%s",niveau); affichage_par_niveau(tab,niveau); break; } case 4: { printf("saisir le filiere "); scanf("%s",filiere); affichage_par_filiere(tab,filiere); break; } case 5: { trier(tab); break; } case 6: { printf("entre le nom d'etudiant: "); scanf("%s",nom); chercher_par_nom(tab,nom); break; } case 7: { printf("entre le nom et le prenom d'etudiant: "); scanf("%s%s",nom,prenom); corriger(tab,nom,prenom); break; } case 8: { printf("entre le nom et le prenom d'etudiant: "); scanf("%s%s",nom,prenom); supprimer(tab,nom,prenom); break; } case 9: { enregestrer(tab); break; } case 10: { break; } } } } uploads/Litterature/ devoir-libre 2 .pdf

Documents similaires
Analyse de l'image en bande dessiné 1) Lexique de la bande dessinée La bande de 0 0
LES TROIS DON JUAN PARIS BIBLIOTHÈQUE DES CURIEUX 4, RUE DE FURSTENBERG, 4 MCMX 0 0
La femme hysterique emergence d x27 une representation 0 0
E 09 pdf AVERTISSEMENT POUR L ? ÉDITION DU BAILLY Ce travail est dédié à la mémoire d ? Hugo ChÁvez FRÍas qui a notamment beaucoup ?uvré pour l ? Éducation au Vénézuela et qui disait El primer poder que debe tener el pueblo es el conocimiento ? Après troi 0 0
Ter 2021 22 MASTER ere ann ?ee Math ?ematiques Fondamentales et CEPS CTES ?? Universit ?e d ? Aix-Marseille ?? - Janvier TER Travail d ? E ?tude et de Recherche Cette Unit ?e d ? Enseignement ECTS comporte un travail sur documents envoy ?es par l ? enseig 0 0
1423-1432 Distribution électronique Cairn pour Presses Universitaires de France 0 0
La Ville6N C WALTER BENJAMIN : LE PASSANT, LA TRACE 23 fevrier-23 mai 1994 GALE 0 0
Bibliographie n031 pdf Bibliographie du N ?? Tes émotions ont-elles raison Lectures conseillées par Le WOLF Maison de la Littérature de Jeunesse Bruxelles Nathalie Paulhiac Qui suis-je éd Winioux Jean-Marie Ru ?eux La jeunesse d ? Achille éd l ? école des 0 0
Introduction Dissertation en fin de semestre = sur le roman Développement 3x3 C 0 0
Corbeau renard bdf32 Fiche de lecture Auteur Loly PALAZON Le corbeau et le renard ? http www bonjourdefrance com Niveau B Ah Sacrées fables Mais qu ? est-ce qu ? une fable D ? après l ? Encyclopédie Larousse en ligne http www larousse fr encyclopedie dive 0 0
  • 37
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager