Attendez l'entrée de l'utilisateur : langage C

Wait User Input C Language



Dans le langage de programmation C, il existe des fonctions d'entrée. En utilisant ces fonctions, nous pouvons attendre l'entrée de l'utilisateur. Dans ce tutoriel, nous allons discuter des fonctions d'entrée en détail.

Chaîne de formatage

La chaîne de format est le format des données saisies. Ce format commence par le signe % et suivi du spécificateur de format. Le spécificateur de format est un caractère spécifique utilisé pour le type de données en cours de lecture.







arg1, arg2, arg3… sont les adresses des variables où seront stockées les données saisies.



fonction scanf()

Syntaxe: int scanf (chaîne de format, arg1, arg2, arg3…)



Certains des spécificateurs fréquemment utilisés sont les suivants :





  • – Utilisé pour les valeurs entières.
  • F – Utilisé pour les nombres flottants.
  • c – Utilisé pour la valeur d'un seul caractère.
  • s – Utilisé pour les cordes.

Utilisation simple scanf() fonction, une ou plusieurs entrées peuvent être prises par l'utilisateur.

Les scanf() La fonction prend l'entrée de l'entrée standard (clavier) et stocke la valeur dans une variable. La fonction attend la saisie de l'utilisateur jusqu'à ce que l'utilisateur appuie sur la touche Entrée. La valeur entrée est stockée dans un tampon. Lorsque la touche Entrée est enfoncée, scanf() la fonction commence à lire.



Exemple 1: Entrée d'entier

//Exemple1.c
#comprendre

entierprincipale(){

entierje;
imprimer ('Entrez la 1ère valeur entière : ');
scanf ('%ré', &je);
imprimer ('Vous êtes entré : %d ',je);

imprimer ('Entrez la 2ème valeur entière : ');
scanf ('%ré', &je);
imprimer ('Vous êtes entré : %d ',je);

revenir 0;
}

Dans Example1.c, nous avons vu cela lorsque nous avons saisi des valeurs entières et appuyé sur la touche Entrée. Les scanf() La fonction prend la valeur et la stocke dans la variable. Si nous entrons les valeurs séparées par un espace, la fonction retourne lorsque l'espace est rencontré mais les valeurs après l'espace restent dans le tampon d'entrée. C'est pourquoi le deuxième scanf() La fonction n'attendra pas l'entrée de l'utilisateur, à la place, elle prend l'entrée du tampon.

Exemple 2 : Saisie d'un seul caractère

//Exemple2.c
#comprendre

entierprincipale(){

carboniserc;
imprimer (« Entrez un caractère : »);
scanf ('%c', &c);
imprimer ('Vous avez entré : %c ',c);

revenir 0;
}

Dans Exemple2.c, nous avons vu que lorsque nous utilisons %c spécificateur, le scanf() La fonction ne prend qu'un caractère même si nous avons saisi plus d'un caractère.

Exemple 3 : Saisie d'un seul caractère (plusieurs fois)

//Exemple3.c
#comprendre

entierprincipale(){

carboniserc;
imprimer (« Entrez le 1er caractère : »);
scanf ('%c', &c);
imprimer ('Vous avez entré : %c ',c);

imprimer ('Entrez le 2ème caractère : ');
scanf ('%c', &c);
imprimer ('Vous avez entré : %c ',c);

revenir 0;
}

Exemple 4 :

//Exemple4.c
#comprendre

entierprincipale(){

carboniserc;
imprimer (« Entrez le 1er caractère : »);
scanf ('%c', &c);
imprimer ('Vous avez entré : %c ',c);

imprimer ('Entrez le 2ème caractère : ');
scanf ('%c', &c);
imprimer ('Vous avez entré : %c ',c);

revenir 0;
}

Exemple 5 : entrée de chaîne

//Exemple5.c
#comprendre

entierprincipale(){

carboniserNom[quinze];
imprimer ('Entrez votre nom: ');
scanf ('%s',Nom);
imprimer ('Vous êtes entré : %s ',Nom);

revenir 0;
}

getc() Fonction

Syntaxe: int getc(FICHIER *flux)

getc() La fonction est utilisée pour lire un caractère à partir du pointeur FILE (stream). Pour lire à partir du clavier, nous devons utiliser standard . Cette fonction renvoie une valeur entière de caractère lu.

Exemple 6 :

//Exemple6.c
#comprendre

entierprincipale(){

carboniserc;
imprimer (« Entrez le 1er caractère : »);
tandis que((c= obtenir (standard))==' ');
imprimer ('Vous avez entré : %c ',c);

tandis que( obtenir (standard)! =' ');

imprimer ('Entrez le 2ème caractère : ');
tandis que((c= obtenir (standard))==' ');
imprimer ('Vous avez entré : %c ',c);

revenir 0;
}

Fonction getchar()

Syntaxe: int getchar(void)

getchar() la fonction est la même que getc() . La seule différence est que getc() fonction peut lire à partir de n'importe quel flux d'entrée, alors que getchar() la fonction lit à partir de l'entrée standard uniquement.

Exemple 7 :

//Exemple7.c
#comprendre

entierprincipale(){

carboniserc;
imprimer (« Entrez le 1er caractère : »);
tandis que((c= obtenirchar ())==' ');
imprimer ('Vous avez entré : %c ',c);

tandis que( obtenirchar ()! =' ');

imprimer ('Entrez le 2ème caractère : ');
tandis que((c= obtenirchar ())==' ');
imprimer ('Vous avez entré : %c ',c);

revenir 0;
}

Conclusion

Dans cet article, nous avons vu comment les fonctions de saisie sont utilisées en langage C. Toutes ces fonctions sont extraites du tampon d'entrée et lorsque nous utilisons ces fonctions plusieurs fois, nous devons vider le tampon. Sinon, les fonctions n'attendront pas l'entrée de l'utilisateur et prendront l'entrée du tampon.