Guest User

Untitled

a guest
Apr 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.76 KB | None | 0 0
  1. // Bibliothèque utilisé pour le programme :
  2.  
  3. #include <stdio.h>      
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <ctype.h>
  7.  
  8. int main ()
  9. {
  10.    
  11. //Declaration des variable
  12.   char chaine_noms[5][255];      // chaine de caractère des nom saisis par l'utilisateur
  13.   char chaine_permutation[255];     // chaine de caratère qui permet la permutation des nom pour le classement
  14.   int boucle_1;
  15.   int flag_permutation=1;        //flag dans un tri a bulle
  16.   int longueur_chaine;        // longueur du mot
  17.   char boucle_2;
  18.   int erreurSaisie;
  19.  
  20.  
  21. // 1. Saisie des nonms
  22.    printf ("\n\nVeuillez entrer 5 noms pour effectuer un tri alphabetique\n");
  23.    
  24.    for (boucle_1 = 0; boucle_1 < 5 ; boucle_1++)  
  25.    {
  26.       printf("\nNom N° %d : ", boucle_1+1);
  27.       scanf ("%s", chaine_noms[boucle_1]);
  28.       longueur_chaine=strlen (chaine_noms[boucle_1]);
  29.      
  30.      
  31. // 2. Vérification de la saisie >> Blindage
  32.       erreurSaisie = 0;
  33.       for (boucle_2 = 0; boucle_2 < longueur_chaine; boucle_2++)
  34.       {
  35.          if ((chaine_noms[boucle_1][boucle_2] < 45) ||
  36.             ((chaine_noms[boucle_1][boucle_2] > 45) && (chaine_noms[boucle_1][boucle_2] < 65)) ||
  37.             ((chaine_noms[boucle_1][boucle_2] > 90) && (chaine_noms[boucle_1][boucle_2] < 97)) ||
  38.             (chaine_noms[boucle_1][boucle_2] > 122) ||
  39.             ((chaine_noms[boucle_1][0] == 45) || (chaine_noms[boucle_1][longueur_chaine -1] == 45)))    
  40.            
  41.          {    
  42.             printf ("erreur de saisie !");
  43.             erreurSaisie = 1;
  44.             break;
  45.          }          
  46.       }
  47.      
  48.       for (boucle_2 = 0; boucle_2 < longueur_chaine; boucle_2++)
  49.       {        
  50.          chaine_noms[boucle_1][boucle_2] = tolower(chaine_noms[boucle_1][boucle_2]);
  51.          chaine_noms[boucle_1][0] = toupper(chaine_noms[boucle_1][0]);
  52.       }
  53.        
  54.       if (erreurSaisie == 1)
  55.       {
  56.          boucle_1--;
  57.       }
  58.    }
  59.     printf("\n\n");          
  60.    
  61.    
  62.    
  63. // 3. Partie tri des noms
  64.    while (flag_permutation)
  65.     {
  66.    flag_permutation=0;
  67.        for (boucle_1 = 0; boucle_1 < 4; boucle_1++)
  68.        {
  69.          if (strcmp(chaine_noms[boucle_1], chaine_noms[boucle_1+1]) > 0)
  70.          {
  71.             strcpy(chaine_permutation, chaine_noms[boucle_1]);
  72.             strcpy(chaine_noms[boucle_1], chaine_noms[boucle_1+1]);
  73.             strcpy(chaine_noms[boucle_1+1], chaine_permutation);
  74.             flag_permutation = 1;
  75.          }
  76.       }
  77.     }
  78.    
  79.    
  80.    
  81. // 4. Partie affichage du resultat
  82.    printf ("voici les noms trié en ordre alphabetique :\n\n");
  83.    
  84.    for (boucle_1 = 0; boucle_1 < 5; boucle_1++)
  85.    {
  86.       printf ("Nom N° %d : %s\n\n", boucle_1+1, chaine_noms[boucle_1]); // affichage des resultats du tri
  87.    }  
  88.  
  89. return 0;
  90.  
  91. }
Add Comment
Please, Sign In to add comment