IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Répertorié les étudiants d'une salle de classe


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 2
    Par défaut Répertorié les étudiants d'une salle de classe
    Bonjour à vous et merci pour votre accueil. Je suis entrain de m'exercer depuis quelques temps sur le language de programmation c++, ainsi je me créé des petit programme dans ma tête et que j'essaie de mettre en pratique. J'ai créé un programme visant à répertorié les étudiants d'une salle de classe. Donc dans mon programme, chaque étudiant va rentré son nom, son prénom, sa date de naissance(le mois, le jour ,l'année) la filière et son année d'étude. Je n'ai pas eu du mal à faire ce programme sauf que, j'aimerai savoir comment faire pour mettre des conditions pour que lorsque quelqu'un vient mettre son nom et son prénom par exemple qu'il n'est pas la possibilité de mettre des chiffres. Donc si il met des chiffres à la place des mots qu'il lisent à l'écran que ce n'est pas possible. Et pour mettre aussi son jour de naissance qu'il n'est pas la possibilité de mettre des mots à la place d'un nombre qu'il doit mettre normalement

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Par défaut Répertorier des élèves.
    Bonjour Ibrahimlove,
    Pour pouvoir te répondre correctement, pourrais-tu me donner plus de détails concernant la manière dont tu veux procéder pour interdire l'utilisation de certains caractères à l'utilisateur . Par exemple , souhaites-tu traiter toute la chaîne de caractère après coup et n'informer qu'ensuite l'utilisateur qu'il ne peut pas entrer de chiffres ou de lettres ( selon le besoin ) ? Peut être pensais-tu plus à directement traiter caractère par caractère si l'utilisateur a le droit ou non d'entrer un chiffre/lettre ? Enfin pour ce petit programme , es-tu passé par QT pour le faire ? ou as-tu créé tes objets contenant toi même ? quelle méthode utilises-tu pour récupérer les entrées de l'utilisateur ? Un peu plus de détail me permettrait d'essayer de t'apporter une aide sur ce sujet .

    Zzen

  3. #3
    Membre éclairé Avatar de BioKore
    Homme Profil pro
    Dresseur d'Alpaga
    Inscrit en
    Septembre 2016
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dresseur d'Alpaga

    Informations forums :
    Inscription : Septembre 2016
    Messages : 300
    Par défaut
    Bonjour,

    Je ne suis pas nécessairement à l'aise avec les manipulations de caractères donc il existe très certainement une méthode plus performante que l'idée que je vais exposer.
    La première méthode que je vois comme ça, à froid, c'est de répertorier l'ensemble des caractères "interdits" ou mieux, de les classer. Par exemple, tu peux faire un tableau reprenant l'ensemble de l'alphabet, un autre reprenant tous les caractères alphanumériques, un autre tous les caractères spéciaux etc...
    En suite, une fois que l'utilisateur à entré une valeur, tu compares chacun des caractères avec le tableau correspondant. S'il est présent, alors tout va bien. S'il n'existe pas, alors c'est que c'est un caractère interdit.
    Le problème que je vois à cette méthode c'est que c'est un algo de type O(nx), donc je pense qu'il y a de bien meilleures méthodes. Par simple curiosité, je serais aussi intéressé de savoir comment sont traités ces problématiques dans les cas les plus courants.

  4. #4
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 766
    Par défaut
    Citation Envoyé par BioKore Voir le message
    La première méthode que je vois comme ça, à froid, c'est de répertorier l'ensemble des caractères "interdits" ou mieux, de les classer. Par exemple, tu peux faire un tableau reprenant l'ensemble de l'alphabet, un autre reprenant tous les caractères alphanumériques, un autre tous les caractères spéciaux etc...
    Non, ce que tu veux faire
    • ce n'est pas possible - avec le code ASCII, c'est seulement 128 caractères. Mais avec l'Unicode c'est à peu près 1111998 caractères (normal ce sont des charsets qui se veulent universels)
    • cela ne sert à rien - pour chaque charsets, tu as des plages de caractères - alpha, numérique, imprimables, de contrôle, ... Donc, il faut tester le code pour savoir s'il fait partie de cette plage (min <= X <= max)

    Évidement, niveau chiffre arabe il y en aura toujours 10
    Enfin il y a aussi les collations pour prendre en compte la casse, les accents, ...

    Dans le cas de @Ibrahimlove , il cherche à faire des expressions régulières (regex). Mais
    • Quel charset ? les caractères accentués n'existent pas en ASCII, mais sont présents en Unicode. Donc peut-être pas que des caractères alpha
    • Quel format? il parle de date. Est-ce qu'il va valider les nombres séparément. Et donc un mois c'est 1 <= MM <= 12, un jour c'est 1 <= JJ <= 30 ou 31 sauf février. Ou alors sont forme JJ/MM/AAAA (français), AAAA/MM/JJ (anglais), ...
    • La filière ? c'est plus une liste énumérée et donc pas de validation


    Après pour coder des expressions régulières, le C++ n'a rien par défaut (*) : il y a évidemment la bibliothèque Boost ou 1 autre, ... ou bien faire le travail manuellement comme le dit @zzenshow


    * : j'ai dit une bêtise et mon V.D.D. (mon voisin du dessous) @SimonDecoline m'a repris

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par foetus Voir le message
    Après pour coder des expressions régulières, le C++ n'a rien par défaut
    heu... ça fait 9 ans que les regex sont dans la STL : https://en.cppreference.com/w/cpp/regex

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Pour savoir quels caractères sont des lettres, le plus simple c'est les fonctions de <ctype.h>. Sauf qu'elles ne sont pas appropriées à ma connaissance, pour de l'UTF-8.
    Pour ça, il faut alors utiliser leur version "wide", avec mbstowcs() pour convertir.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réseau locale dans une salle de classe
    Par khomsa.elearning dans le forum Développement
    Réponses: 1
    Dernier message: 13/12/2010, 18h47
  2. Les opérations dans une salle informatique
    Par flaca dans le forum Composants
    Réponses: 3
    Dernier message: 31/01/2009, 15h17
  3. [WMI] répertorier les disques d'une machine
    Par guillaume16 dans le forum Windows
    Réponses: 5
    Dernier message: 17/11/2008, 17h14
  4. Réponses: 1
    Dernier message: 11/03/2008, 01h36
  5. [VB6]Enumérer les attributs et les méthodes d'une classe
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 04/05/2004, 18h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo