Comment faire des contraintes de saisie dans un probleme c

Fermé
tawfik_revo Messages postés 13 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 9 mai 2013 - 4 mai 2013 à 23:54
tawfik_revo Messages postés 13 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 9 mai 2013 - 5 mai 2013 à 01:42
svp besoin d'aide
comment faire des contraintes de saisie dans un problème c
par exemple :
-nom: une chaîne de caractères sur 15 caractères

1 réponse

DarkenNights Messages postés 137 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 17 décembre 2013 10
5 mai 2013 à 00:13
Bonjour,

char nom[15];

Ça te créé une chaîne de caractère de taille 14 puisqu'il faut compter le caractère \0 a la fin de ta chaîne de caractère.
0
tawfik_revo Messages postés 13 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 9 mai 2013
5 mai 2013 à 00:22
{char nom[15]="",prenom[15]="",classe[15]="",ncin[8]="";float note;
....
mais il accepte une chaîne plus que 15 caractères !
*
0
DarkenNights Messages postés 137 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 17 décembre 2013 10
5 mai 2013 à 00:30
Sinon tu peux faire ça :

char nom[16];
scanf("%s", nom);
if (nom[15] != '\0') {
printf("Erreur de saisie");
}
else {
...
}
0
tawfik_revo Messages postés 13 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 9 mai 2013
5 mai 2013 à 00:39
merci :) @DarkenNights
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
5 mai 2013 à 00:42
@DarkenNights,
scanf("%s", nom);
if (nom[15] != '\0') {

Bof. Cela n'empêchera pas l'utilisateur de rentrer une longue chaîne.

tawfik_revo
Utilise : scanf("%15s", nom);
0
tawfik_revo Messages postés 13 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 9 mai 2013
5 mai 2013 à 00:46
dans tt les cas il accepte plus que 15 !
comment faire une contrainte avec boucle do ... while ?
0