A voir également:
- Dev C++
- Telecharger dev c++ - Télécharger - Langages
- Dev home. - Télécharger - Développement
- Dev-pascal - Télécharger - Édition & Programmation
- Error unmounting /dev/sda2 target is busy ✓ - Forum Linux / Unix
- Source file not compiled dev c++ - Forum C++
2 réponses
Salut!
Pour pas que la console se ferme à la fin de l'exécution soit tu ouvre une nouvelle console et tu lance l'exécution de l'application ou bien tu fais une pause sytème par:
/* en c */
#include <stdlib.h>
/* blablabla */
system("pause");
/* en c++ */
#include <cstdlib>
/* blablabla */
std::system("pause");
Pour la fin de la saisie dans le flux d'entrée standard stdin tu peux par exemple avec la fonction scanf définir le(s) caractère(s) valide(s) donc les invalides constitueront la fin de la saisie.
/* exemple en c */
#include <stdlib.h>
/* blablabla */
char s[256];
/* de a maj a z maj est valide */
scanf("%[A-Z]s", s);
/* $ est invalide */
scanf("%[^$]s", s);
A noter que le tiret n'est pas défini par le standard mais dépend de l'implémentation du compilo donc il se pourrait qu'en changeant de compilo le code ne passe pas ou engendre une action différente. Une alternative standard serait de donner la liste complète des caractères ou de procéder par élimination.
/* par exemple */
scanf("%[0123456789ABCDEF]s", s);
/* ou bien */
scanf("%[^0123456789ABCDEF]s", s);
Pour pas que la console se ferme à la fin de l'exécution soit tu ouvre une nouvelle console et tu lance l'exécution de l'application ou bien tu fais une pause sytème par:
/* en c */
#include <stdlib.h>
/* blablabla */
system("pause");
/* en c++ */
#include <cstdlib>
/* blablabla */
std::system("pause");
Pour la fin de la saisie dans le flux d'entrée standard stdin tu peux par exemple avec la fonction scanf définir le(s) caractère(s) valide(s) donc les invalides constitueront la fin de la saisie.
/* exemple en c */
#include <stdlib.h>
/* blablabla */
char s[256];
/* de a maj a z maj est valide */
scanf("%[A-Z]s", s);
/* $ est invalide */
scanf("%[^$]s", s);
A noter que le tiret n'est pas défini par le standard mais dépend de l'implémentation du compilo donc il se pourrait qu'en changeant de compilo le code ne passe pas ou engendre une action différente. Une alternative standard serait de donner la liste complète des caractères ou de procéder par élimination.
/* par exemple */
scanf("%[0123456789ABCDEF]s", s);
/* ou bien */
scanf("%[^0123456789ABCDEF]s", s);