Aide pour la fonction scanf
Onelord0000
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Nouveau Codeur en C , je viens ici pour demander de l'aide à propos d'une la fonction scanf.
Prenons le code suivant :
int main ()
{
int age;
printf("Quel est votre age ?");
scanf("%d",&age);
printf("Votre age est : %d ", age);
return 0;
}
Si l'utilisateur tape 20, alors il aura ecrit : Votre age est 20.
Jusque la tout est nickel. Mais prenons maintenant un caractere:
int main ()
{
char* nom;
printf("Quel est votre age ?");
scanf("%s",&nom);
printf("vous etes %s", nom);
return 0;
}
Je tape Arthur, il y aura ecrit "vous etes Arthur".
Ce que je voudrais faire c'est oter le faait de devoir appuyer sur "entrer" une fois le nom écrit correctement.
J'ai pensé à une piste mais je ne sais si elle est bonne ou pas :
-limiter le nombre de caractères lus par scanf et dès que ce nombre est atteint, sortir du scanf.
Salutations,
Merci d'avance
Nouveau Codeur en C , je viens ici pour demander de l'aide à propos d'une la fonction scanf.
Prenons le code suivant :
int main ()
{
int age;
printf("Quel est votre age ?");
scanf("%d",&age);
printf("Votre age est : %d ", age);
return 0;
}
Si l'utilisateur tape 20, alors il aura ecrit : Votre age est 20.
Jusque la tout est nickel. Mais prenons maintenant un caractere:
int main ()
{
char* nom;
printf("Quel est votre age ?");
scanf("%s",&nom);
printf("vous etes %s", nom);
return 0;
}
Je tape Arthur, il y aura ecrit "vous etes Arthur".
Ce que je voudrais faire c'est oter le faait de devoir appuyer sur "entrer" une fois le nom écrit correctement.
J'ai pensé à une piste mais je ne sais si elle est bonne ou pas :
-limiter le nombre de caractères lus par scanf et dès que ce nombre est atteint, sortir du scanf.
Salutations,
Merci d'avance
A voir également:
- Aide pour la fonction scanf
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
1 réponse
Bonjour,
int main ()
Le bon prototype est : int main(void)
printf("Votre age est : %d ", age);
N'oublie pas de mettre un '\n' avant le return 0; final pour forcer l'affichage.
char* nom;
Tu as oublié l'allocation.
Il faut mettre : nom=malloc(taille); avec taille la taille de ta chaîne de caractères.
Et ne pas oublier en fin de programme : free(nom), nom=NULL; pour libérer la zone allouée.
Ou alors, tu peux utiliser un tableau : char nom[TAILLE] avec TAILLE la taille de ta chaîne de caractères.
scanf("%s",&nom);
Il ne faut pas mettre le & puisque nom est déjà un pointeur.
Cdlt,
int main ()
Le bon prototype est : int main(void)
printf("Votre age est : %d ", age);
N'oublie pas de mettre un '\n' avant le return 0; final pour forcer l'affichage.
char* nom;
Tu as oublié l'allocation.
Il faut mettre : nom=malloc(taille); avec taille la taille de ta chaîne de caractères.
Et ne pas oublier en fin de programme : free(nom), nom=NULL; pour libérer la zone allouée.
Ou alors, tu peux utiliser un tableau : char nom[TAILLE] avec TAILLE la taille de ta chaîne de caractères.
scanf("%s",&nom);
Il ne faut pas mettre le & puisque nom est déjà un pointeur.
Cdlt,