1

salut!

je viens de commencer a programmer en C, ca fait 2 jorus que je m'y suis m'y, et il me manque une commande!

celle qui demande a l'utilisateur d'entrer une valeur, du style:

short x=(la valeur entrée par l'utilisateur)

comme un input en ti-basic

est-ce que quelqu'un pourraint m'aider?


merci d'avance

2

LA FONCTION SCANF


La fonction scanf, appartenant à la bibliothèque stdio.h, permet la saisie clavier de n'importe quel type de variable.

Les variables à saisir sont formatées, le nom de la variable est précédé du symbole & désignant l'adresse de la variable (On reverra ce symbole dans le chapitre sur les pointeurs).
La saisie s'arrête avec "RETURN" (c'est à dire LF), les éléments saisis s'affichent à l'écran (saisie avec écho écran).

Tous les éléments saisis après un caractère d'espacement (espace, tabulation) sont ignorés.
Exemples:

char alpha;
int i;
float r;
scanf("%c",&alpha); /* saisie d'un caractère */
scanf("%d",&i); /* saisie d'un nombre entier en décimal */
scanf("%x",&i); /* saisie d'un nombre entier en hexadécimal*/ scanf("%f",&r); /* saisie d'un nombre réel

Un coup de Google vaut mieux qu'une explication hehe Sûrement que la tigcclib.h connaît aussi scanf ^^

3

merci je vais essayer ca tout de suite!

4

il y a que cet solution?

5

moi, j'utilise une fonction basé sur ngetchx();
(l'original vient d'un exemple fourni avec tigcc je crois)
	char str[10];
	while(key!=13)
	{
		str[i]='_'; str[i+1]=' '; str[i+2]=0;
		DrawStr(24+offsetx,60+offsety,"                                    ",A_REPLACE);
		DrawStr(24+offsetx,60+offsety,str,A_REPLACE);
		key=ngetchx();

		if(key==257) {	
			i-=i!=0;
		}
		else
		{
			if(i<8 && key!=13)
			str[i++]=key;		
		}
	}
	while (i<9) {
		str[i]=' ';
		i++;
	}
	
	str[9]='\0';
	i=0;


je trouve que c'est plus souple et en plus j'ai pas à apprendre la syntax de "scanf" (mauvaise mémoire toussa grin)

6

7

Kevin a porté scanf uniquement pour avoir un peu plus de compatibilité ANSI de toute façon.

8

Jyaif :
je trouve que c'est plus souple et en plus j'ai pas à apprendre la syntax de "scanf" (mauvaise mémoire toussa grin)

[astuce] c'est la même que printf tongue
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

existe-t-il une fonctionne pour récupérer une chaine de caractère et pas seulement un caractère?

merci

10

Oui, scanf.

Ex :
char chaine[20];
scanf("%19s",chaine);
avatar

11

merci smile

12

sinon, tu repetes autant de fois que tu veux la fonction qui ne scanne qu'une touche cheeky
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

13


[astuce] c'est la même que printf

Vade retro ! scanf et printf ne se ressemblent qu'en apparence. Derriere elles sont TRES differentes dans leur syntaxe.
scanf devrait etre interdite aux debutants de toute facon.

14

PpHd :
scanf devrait etre interdite aux debutants de toute facon

À la fac, c'est pourtant un des premiers mots qu'on apprend confus (ou alors #troll# spotted)

15

./9 > ben la fonction du ./5 marche pour ça...
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

16

PpHd :
scanf devrait etre interdite aux debutants de toute facon.

-aux debutants ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

17

Pour entrer une chaine, il y a aussi :
getsn(chaine,20);
avatar