Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Scandigt

47 réponses
Avatar
LMC
Bonjour,
Voici l'exercice que je tente de résoudre :
/* scandigt lit une saisie sans espaces de séparation et range les
caractères
identiques via une spécification de largeur, dans différentes variables
*/
#include <stdio.h> /* pour printf, scanf */
#include <stdlib.h>

int main(int argc, char *argv[])
{
long one, two, three, four, five;
printf("Entrez un nombre entier selon le modele \n");
printf(" abbcccddddeeeee\n");
printf("les lettres a, b, c, d, e designant\n");
printf("des chiffres identiques.\n");
scanf("%1ld %2ld %3ld %4ld %5ld\n", &one, &two, &three, &four,&five);
printf("%ld\n%ld\n%ld\n%ld\n%ld\n", one, two, three, four, five);

system("PAUSE");
return 0;

J'obtiens le résultat suivant après compilation :
Entrez un nombre entier selon le modèle
abbcccddddeeeee
les lettres a, b, c, d, e désignant
des chiffres identiques. j'appuie sur Enter et j'obtiens
122333444455555

mais je n'obtiens pas la suite qui devrait être
1
22
333
4444
55555
Merci pour toute aide.

--
@++
LMC

10 réponses

1 2 3 4 5
Avatar
LMC
Bonjour,
"Marc Boyer" a écrit dans le message
de news:
On 2008-08-29, LMC wrote:
Bonjour,
Voici l'exercice que je tente de résoudre :
/* scandigt lit une saisie sans espaces de séparation et range les
caractères
identiques via une spécification de largeur, dans différentes
variables
*/
#include <stdio.h> /* pour printf, scanf */
#include <stdlib.h>

int main(int argc, char *argv[])
{
long one, two, three, four, five;
printf("Entrez un nombre entier selon le modele n");
printf(" abbcccddddeeeeen");
printf("les lettres a, b, c, d, e designantn");
printf("des chiffres identiques.n");
scanf("%1ld %2ld %3ld %4ld %5ldn", &one, &two, &three, &four,&five);
printf("%ldn%ldn%ldn%ldn%ldn", one, two, three, four, five);

system("PAUSE");
return 0;

J'obtiens le résultat suivant après compilation :
Entrez un nombre entier selon le modèle
abbcccddddeeeee
les lettres a, b, c, d, e désignant
des chiffres identiques. j'appuie sur Enter et j'obtiens
122333444455555

mais je n'obtiens pas la suite qui devrait être
1
22
333
4444
55555



Pour faire simple (puisque d'autres ont donné des détails
compliqués), le code que vous postez est correct, mais
visiblement, votre compilateur C a un bug. Mon compilo
(et celui de Marc Espie) donnent bien
1
22
333
4444
55555

C'est quoi votre compilo ?



Je comprends très bien compilo, car j'ai bavé dessus quand j'ai voulu
apprendre le langage en 1999. C'est la raison pour laquelle, je ne suis
parvenu à étudier des langages de programmation. Grâce au Site du Zéro et la
découverte de 3 compilo, je m'y suis remis. Voici l'identité des 3 :
devcpp.exe, codeblocks et microsoft visual C++. J'utilise le devcpp pour les
exercices du livre.

Marc Boyer
--
Si tu peux supporter d'entendre tes paroles
Travesties par des gueux pour exciter des sots
IF -- Rudyard Kipling (Trad. André Maurois)




--
@++
LMC
Avatar
Francois
LMC a écrit :

fscanf sert à extraire des informations d'un flux de données entrant en
suivant un schéma. scanf est un cas particulier qui prend l'entrée
standard comme flux entrant.



Je comprends, mais que veut dire ' l'entrée standard ' ?



Ah ! Et le long message sur les "entrées" et les "sorties" que je t'ai
fait alors ? :-)


--
François
Avatar
LMC
Bonjour,
"Francois" a écrit dans le message de news:
48ba5965$0$7001$
LMC a écrit :

fscanf sert à extraire des informations d'un flux de données entrant
en suivant un schéma. scanf est un cas particulier qui prend l'entrée
standard comme flux entrant.



Je comprends, mais que veut dire ' l'entrée standard ' ?



Ah ! Et le long message sur les "entrées" et les "sorties" que je t'ai
fait alors ? :-)



Excuse-moi, mais les entrées et sorties, j'ai compris, mais que veut dire
exactement l'entrée qui est standard ?
Je suis un peu dur de la comprenure. LOL

François


Avatar
Francois
LMC a écrit :

Excuse-moi, mais les entrées et sorties, j'ai compris, mais que veut dire
exactement l'entrée qui est standard ?
Je suis un peu dur de la comprenure. LOL



T'inquiète, il n'y a pas de problème. Sache que dans mon message, je
t'ai aussi expliqué ce qu'est "l'entrée standard". :-)


--
François
Avatar
Mickaël Wolff
LMC a écrit :

Je comprends, mais que veut dire ' l'entrée standard ' ?



Le tuyau par lequel une application peut transmettre des informations
sous forme de flux à une application fille.

D'accord, mais alors, comment puis-je obtenir les chiffres les uns en
dessous des autres ?



Qu'est-ce que tu saisie exactement après avoir lancé le programme ?


J'ai écrit ==> d'origine, je n'ai pas écrit maintenant. ROTFL



Européen ;) (comme pour les chats)

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
Mickaël Wolff
LMC a écrit :

découverte de 3 compilo, je m'y suis remis. Voici l'identité des 3 :
devcpp.exe, codeblocks et microsoft visual C++.



Non, ce ne sont pas des compilateurs, ce sont des IDE (environnement
de développement intégré), qui utilisent un compilateur.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
candide
LMC a écrit :

C'est quoi votre compilo ?



Je comprends très bien compilo,



Non, ce que tu as écrit ci-dessous prouve, comme je m'y attendais, que
tu ne sais pas ce qu'est un compilo, ne le prends pas mal, tous les
débutants sont passés par là.



car j'ai bavé dessus quand j'ai voulu
apprendre le langage en 1999. C'est la raison pour laquelle, je ne suis
parvenu à étudier des langages de programmation. Grâce au Site du Zéro et la
découverte de 3 compilo, je m'y suis remis. Voici l'identité des 3 :
devcpp.exe, codeblocks et microsoft visual C++. J'utilise le devcpp pour les
exercices du livre.





Te complique pas la vie en utilisant 3 IDE, utilise-en un et apprends à
bien le connaître. Devcpp et codeblocks intègrent par défaut le même
compilateur. Quant à Visual C++, c'est une usine à gaz, pas l'IDE à
utiliser quand on apprends le C (ou alors à la fin de l'apprentissage).

Un truc fondamental est de savoir régler son compilateur pour qu'il
envoie les messages d'avertissement appropriés lorsque le code contient
des "anomalies". J'ai précisé l'importance de ces messages et détaillé
comment effectuer les réglages sur codeblocks et devcpp à l'url suivante :

http://www.siteduzero.com/forum-83-204912-les-options-de-compilation.html
Avatar
LMC
RE,
"Francois" a écrit dans le message de news:
48ba6c6a$0$24368$
LMC a écrit :

Excuse-moi, mais les entrées et sorties, j'ai compris, mais que veut dire
exactement l'entrée qui est standard ?
Je suis un peu dur de la comprenure. LOL



T'inquiète, il n'y a pas de problème. Sache que dans mon message, je t'ai
aussi expliqué ce qu'est "l'entrée standard". :-)




Je vais essayer de retrouver ce message.




François



--
@++
LMC
Avatar
LMC
RE,
"Mickaël Wolff" a écrit dans le message de news:
48ba719a$0$29405$
LMC a écrit :

découverte de 3 compilo, je m'y suis remis. Voici l'identité des 3 :
devcpp.exe, codeblocks et microsoft visual C++.



Non, ce ne sont pas des compilateurs, ce sont des IDE (environnement de
développement intégré), qui utilisent un compilateur.




Je m'excuse, c'est tout à fait exact, mais je ne retiens pas toujours les
mots.


--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org



--
@++
LMC
Avatar
LMC
RE,
"candide" a écrit dans le message de news:
48ba7b5c$0$32372$
LMC a écrit :

C'est quoi votre compilo ?



Je comprends très bien compilo,



Non, ce que tu as écrit ci-dessous prouve, comme je m'y attendais, que tu
ne sais pas ce qu'est un compilo, ne le prends pas mal, tous les débutants
sont passés par là.




Je ne prends rien mal, mais je sais ce qu'est un compilateur. Je me suis
tout simplement mal exprimé. Bien sûr, il s'agit de 3 IDE dans lesquels se
trouvent les compilateurs.
exemple :
accuracy.dev
accuracy.exe
main.c
main.o
makefile.win
ceci correspond à mon programme accuracy.


car j'ai bavé dessus quand j'ai voulu apprendre le langage en 1999. C'est
la raison pour laquelle, je ne suis parvenu à étudier des langages de
programmation. Grâce au Site du Zéro et la découverte de 3 compilo, je
m'y suis remis. Voici l'identité des 3 : devcpp.exe, codeblocks et
microsoft visual C++. J'utilise le devcpp pour les exercices du livre.





Te complique pas la vie en utilisant 3 IDE, utilise-en un et apprends à
bien le connaître. Devcpp et codeblocks intègrent par défaut le même
compilateur. Quant à Visual C++, c'est une usine à gaz, pas l'IDE à
utiliser quand on apprends le C (ou alors à la fin de l'apprentissage).




J'ai déjà précisé que j'exécutais mes exercices avec devcpp.exe ( voir
ci-dessus)

Un truc fondamental est de savoir régler son compilateur pour qu'il envoie
les messages d'avertissement appropriés lorsque le code contient des
"anomalies". J'ai précisé l'importance de ces messages et détaillé comment
effectuer les réglages sur codeblocks et devcpp à l'url suivante :

http://www.siteduzero.com/forum-83-204912-les-options-de-compilation.html




Je vais aller jeter un coup d'oeil
Merci.

--
@++
LMC
1 2 3 4 5