Outils pour utilisateurs

Outils du site


nsi:langages:c:solutions:isbn

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
nsi:langages:c:solutions:isbn [2022/04/01 12:38] – créée goupillwikinsi:langages:c:solutions:isbn [2022/04/01 18:50] (Version actuelle) goupillwiki
Ligne 51: Ligne 51:
 <code c linenums> <code c linenums>
 #include <stdio.h> #include <stdio.h>
-#include <ctype.h> // pour isdigit 
 #include <string.h> // pour strlen #include <string.h> // pour strlen
  
Ligne 60: Ligne 59:
     int colonne = 1;     int colonne = 1;
     for (int i=0; i<n; i++){     for (int i=0; i<n; i++){
-        if (~isdigit(isbn[i])){ 
-            continue; 
-        } 
         int digit = isbn[i] - '0';         int digit = isbn[i] - '0';
         // En C, '0' désigne le char '0'         // En C, '0' désigne le char '0'
Ligne 70: Ligne 66:
         // On fait la différence des codes ASCII         // On fait la différence des codes ASCII
         // ce qui donne justement 5         // ce qui donne justement 5
 +        if ((digit > 9) || (digit < 0)){
 +            continue;
 +        }
 +
         if (colonne%2 == 0){         if (colonne%2 == 0){
             total_pair += digit;             total_pair += digit;
Ligne 96: Ligne 96:
     // de commande     // de commande
     if (argc != 2) {     if (argc != 2) {
-        printf("Vous devez préciser l'isbn en argument.\nExemple : .\\main 9-782123-456803");+        printf("Vous devez préciser l'isbn en argument.\nExemple : %s 9-782123-456803\n", argv[0]);
         return 1;         return 1;
     }     }
Ligne 103: Ligne 103:
     char* isbn = argv[1];     char* isbn = argv[1];
     if (is_valid(isbn)){     if (is_valid(isbn)){
-        printf("L'isbn %s est valide.\n", isbn);    +        printf("L'isbn %s est valide.\n", isbn);
     } else {     } else {
-        printf("L'isbn %s est invalide.\n", isbn);    +        printf("L'isbn %s est invalide.\n", isbn);
     }     }
     return 0;     return 0;
nsi/langages/c/solutions/isbn.1648809502.txt.gz · Dernière modification : de goupillwiki