CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Saisie sécurisée caractère

solidsquall
solidsquall
Niveau 8
26 mars 2008 à 10:17:09

Bonjour,
Je souhaiterais faire une saisie de caractère sécurisée, c'est à dire pour empêcher la saisie d'un chiffre ou d'un caractère comme "#=²-+/".
J'avais commencé à rédiger ma fonction mais je ne sais pas quoi mettre dans la condition de fin de la boucle do/while.
Au début je comptais mettre "tant que lettre différente de caractère ascii de a, b, c, etc..." mais cette méthode me que moyennement efficace.
Merci beaucoup pour votre aide. :)

char sec_lettre()
{
char lettre;

do
{
scanf("%c", &lettre);

} while(LETTRE DIFFERENTE DE CARACTERE ASCII DE A, B, C, D,etc...);

return lettre;
}

guyver2
guyver2
Niveau 10
26 mars 2008 à 10:29:11

si tu ne souhaite accepter que des caracteres a b c ... tu peux te servir du fait que les char sont des entiers et de la configuration de la table ascii ('a' precede 'b' ect)
du coup, ta condition
while(LETTRE DIFFERENTE DE CARACTERE ASCII DE A, B, C, D,etc...);

revient a :
while(lettre< 'a' || lettre > 'z')

pour ajouter une autre plage de caracteres valide (les majuscules par exemple) il suffit de bidouiller le test de la meme façon

while( (lettre< 'a' || lettre > 'z') && (lettre< 'A' || lettre > 'Z'))

solidsquall
solidsquall
Niveau 8
26 mars 2008 à 14:35:11

ok, merci ça à l'air de bien marcher :ok: ,
me reste plus qu'à adapter ça pour des chaines de caractères.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment