Programme console C
Fermé
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
-
20 mai 2009 à 20:05
HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009 - 2 juin 2009 à 19:47
HACKER 712 Messages postés 1282 Date d'inscription lundi 15 décembre 2008 Statut Contributeur Dernière intervention 10 décembre 2009 - 2 juin 2009 à 19:47
A voir également:
- Programme console C
- Programme demarrage windows 10 - Guide
- Console action - Accueil - Jeu vidéo
- Désinstaller programme windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
43 réponses
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 21:20
20 mai 2009 à 21:20
Juste un truc en passant : mettre un \n à la fin du printf pour forcer l'affichage.
Et pas besoin d'un long pour un âge, un unsigned int voire un short suffit amplement.
oui yakari, mais la c juste pour l'exemple de la condition, et puis de nos jours, on est plus à l'octet près....
Non ???
Son programme, c'est pas non plus Windows 7 !
Au fait, %i, c'est pareil que %id, et ca marche aussi
Et pas besoin d'un long pour un âge, un unsigned int voire un short suffit amplement.
oui yakari, mais la c juste pour l'exemple de la condition, et puis de nos jours, on est plus à l'octet près....
Non ???
Son programme, c'est pas non plus Windows 7 !
Au fait, %i, c'est pareil que %id, et ca marche aussi
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 20:44
20 mai 2009 à 20:44
salut !
tu peux faire un simple
long reste = 18 - age;
if(reste > 0)
printf("Il ne te reste plus que %i ans avant d'être majeur", reste);
else if(reste <= 0)
printf("C bon tu es majeur !, trace ta route !");
met bien <= car si il a 18 il est maj !
tu peux faire un simple
long reste = 18 - age;
if(reste > 0)
printf("Il ne te reste plus que %i ans avant d'être majeur", reste);
else if(reste <= 0)
printf("C bon tu es majeur !, trace ta route !");
met bien <= car si il a 18 il est maj !
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 20:57
20 mai 2009 à 20:57
tu as mi il ne te reste plus que %i
%i c'est quoi ?
%i c'est quoi ?
Salut,
Juste un truc en passant : mettre un \n à la fin du printf pour forcer l'affichage.
Et pas besoin d'un long pour un âge, un unsigned int voire un short suffit amplement.
Yakari
Juste un truc en passant : mettre un \n à la fin du printf pour forcer l'affichage.
Et pas besoin d'un long pour un âge, un unsigned int voire un short suffit amplement.
Yakari
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 21:05
20 mai 2009 à 21:05
Bon bah voila c'est bon :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long age = 0;
printf ("quel age avez vous ? \n\n ");
scanf ("%ld", &age);
long reste = 18 - age;
if (reste > 0)
printf ("il ne te reste plus que %ld ans avant d etre majeur\n\n", reste);
else if (reste <= 0)
printf ("C bon \n\n");
system ("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
long age = 0;
printf ("quel age avez vous ? \n\n ");
scanf ("%ld", &age);
long reste = 18 - age;
if (reste > 0)
printf ("il ne te reste plus que %ld ans avant d etre majeur\n\n", reste);
else if (reste <= 0)
printf ("C bon \n\n");
system ("PAUSE");
return 0;
}
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 21:35
20 mai 2009 à 21:35
et id ces quoi car moi jutilise %ld ou %lf
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 21:39
20 mai 2009 à 21:39
desolé mais je ne saurai pas te repondre, je ne m'y connais pas assez pour te repondre...
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 21:42
20 mai 2009 à 21:42
comment tu ne peux pas savoir si tu utilises ?
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 21:45
20 mai 2009 à 21:45
je ne sais pas les differences, mais moi jutilise %i et ca marche tres bien...
sur le SDZ, il te dient %ld eh bien moi je fais %i... c une question d'habitude.
va voir le "man printf" dans google
sur le SDZ, il te dient %ld eh bien moi je fais %i... c une question d'habitude.
va voir le "man printf" dans google
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 21:52
20 mai 2009 à 21:52
bah je te remerci pour ta réponse d'avant.
Est-ce que tu as utiliser ta logique c'est a dire pour toi sa te sembler logique d'avoir fait 18 - age ?
et pas besoin de mettre else if (reste <= 0) car j'ai essayer sans et ça marche
Est-ce que tu as utiliser ta logique c'est a dire pour toi sa te sembler logique d'avoir fait 18 - age ?
et pas besoin de mettre else if (reste <= 0) car j'ai essayer sans et ça marche
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 22:00
20 mai 2009 à 22:00
Est-ce que tu as utiliser ta logique c'est a dire pour toi sa te sembler logique d'avoir fait 18 - age ?
comment ca ???
si tu t'inquietes de ne pas avoir les capacités, ne t'inquietes pas, c le debut !!!
tu ne feras pas un prog sans te poser une question, et te dire, "comment ca se fait ca ???
- j'ai fait ca
- j'ai fais ci
j'ai tout fais !
et non, tu n'as pas tout fais....
C'est l'habitude !
tu aurais pu te dire, tiens je vais faire un long switch
Tu aurais pu te dire, tiens je vais faire comme ca :
if(age == 1)
printf("il te reste 17 ans avant d'etre majeur")
if(age == 2)
printf("il te reste 16 ans avant d'etre majeur")
if(age == 3)
printf("il te reste 15 ans avant d'etre majeur")
if(age == 4)
printf("il te reste 14 ans avant d'etre majeur")
et puis ca fait pas pro, tu te dis tiens je vais faire un long switch !
et puis ca non plus ca va pas...
et tu te dis, tiens c un poil trop long.....
et si on raccourcicait ? Oui mais comment ? Et la tu reflechis, et tu trouves une nouvelle solution.
Désormais tu te dis, a chaque fois que j'ai ce probleme, je ferais comme ca.
je crois que c'est comme ca que j'ai ecris cette solution, je n'ai pas reflechit, c comme ca, quand g ce probleme, je fais ca...
Ca viendra tu verras !
comment ca ???
si tu t'inquietes de ne pas avoir les capacités, ne t'inquietes pas, c le debut !!!
tu ne feras pas un prog sans te poser une question, et te dire, "comment ca se fait ca ???
- j'ai fait ca
- j'ai fais ci
j'ai tout fais !
et non, tu n'as pas tout fais....
C'est l'habitude !
tu aurais pu te dire, tiens je vais faire un long switch
Tu aurais pu te dire, tiens je vais faire comme ca :
if(age == 1)
printf("il te reste 17 ans avant d'etre majeur")
if(age == 2)
printf("il te reste 16 ans avant d'etre majeur")
if(age == 3)
printf("il te reste 15 ans avant d'etre majeur")
if(age == 4)
printf("il te reste 14 ans avant d'etre majeur")
et puis ca fait pas pro, tu te dis tiens je vais faire un long switch !
et puis ca non plus ca va pas...
et tu te dis, tiens c un poil trop long.....
et si on raccourcicait ? Oui mais comment ? Et la tu reflechis, et tu trouves une nouvelle solution.
Désormais tu te dis, a chaque fois que j'ai ce probleme, je ferais comme ca.
je crois que c'est comme ca que j'ai ecris cette solution, je n'ai pas reflechit, c comme ca, quand g ce probleme, je fais ca...
Ca viendra tu verras !
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 22:05
20 mai 2009 à 22:05
t'es trop intelligent moi j'ai 16 ans 17 dans un mois et je trouve que je ne suis pas trop logique
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 22:12
20 mai 2009 à 22:12
T'es trop intelligent
celle la on me l'a jamais faite...
bon, encore une fois, c'est NORMAL !
depuis combien de temps apprends-tu ???
celle la on me l'a jamais faite...
bon, encore une fois, c'est NORMAL !
depuis combien de temps apprends-tu ???
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 22:12
20 mai 2009 à 22:12
depuis hier et je ne comprend pas pourquoi tu as fais if (reste > 0) si tu pourrai mieux m'espliquer merci
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 22:21
20 mai 2009 à 22:21
en fait, le reste vaut 18 - age
il vaut donc un nombre, positif ou non.
negatif si lutilisateur a plus de 18 car 18 - 18 = 0; non ? et 18 - 19 = -1
positif si lutilisateur a moins de 18 car 18 - 6 = 12;
donc si l'utilisateur a 18 ou plus, reste vaudra 0 ou moins.
donc je teste si ce reste vaut + de 0
pour lui dire combien il lui reste.
si ce nombre est negatif ou egal a zero, il est majeur.
donc met bien if(reste > 0)
et if(reste <= 0)
compris ???
il vaut donc un nombre, positif ou non.
negatif si lutilisateur a plus de 18 car 18 - 18 = 0; non ? et 18 - 19 = -1
positif si lutilisateur a moins de 18 car 18 - 6 = 12;
donc si l'utilisateur a 18 ou plus, reste vaudra 0 ou moins.
donc je teste si ce reste vaut + de 0
pour lui dire combien il lui reste.
si ce nombre est negatif ou egal a zero, il est majeur.
donc met bien if(reste > 0)
et if(reste <= 0)
compris ???
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 22:27
20 mai 2009 à 22:27
donc en faite il y a 2 condition une if pour dire a condition que le reste est plus grand que 0 celle la j'ai compris car exemple 18 - 10 = 8 donc plus grand que 0
et la deuxieme condition if pour dire reste plus petit ou egale c'est a dire 18 - 20 = -2 j'ai compris mais pourquoi le ou egale ?
et la deuxieme condition if pour dire reste plus petit ou egale c'est a dire 18 - 20 = -2 j'ai compris mais pourquoi le ou egale ?
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 22:29
20 mai 2009 à 22:29
il y a ou egal, car si il a 18, il est majeur, mais reste vaut 0; 18-18 !!
vh_77
Messages postés
207
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
20 août 2009
2
20 mai 2009 à 22:30
20 mai 2009 à 22:30
ha ok mes explication sont bonnes ?
HACKER 712
Messages postés
1282
Date d'inscription
lundi 15 décembre 2008
Statut
Contributeur
Dernière intervention
10 décembre 2009
255
20 mai 2009 à 22:32
20 mai 2009 à 22:32
oui oui !
c bon, nhesite pas a menvoyer des mp si tu as des prob dans la suite du cours !
aplus
c bon, nhesite pas a menvoyer des mp si tu as des prob dans la suite du cours !
aplus
the F
Messages postés
150
Date d'inscription
dimanche 22 mars 2009
Statut
Membre
Dernière intervention
22 mars 2011
13
21 mai 2009 à 01:15
21 mai 2009 à 01:15
Salut
* a propos du %d ca se compose de 3 parties :
= le % ca indique au programme (disons pour le moment !!!!!!!!!!!!) qu'il est entrain de manipuler une variable (remarque q'elle existe en printf est scanf )
=2é partie :ce qui est entre % et le type (d ou s ou f ....tu le saura qqe lignes en bes ) et c'est specifique à l'ecriture sur l'ecran et ca indique le nombre de cases reserves a cette variable
= 3é partie le format que son appelation differre entre les normes (ANSI ,C99,C89) ce sont des details avences que tu peut les negliger en tant que debutant
** Ensuite concernant les declarations "yakari" a parfaitement raison : il faut avoir les bonnes bases des le debut .... tu ne saisie pas la difference entre utiliser un int ou un short en ce stade ? C'EST PARFAITEMENT NORMAL Mais (keep it on mind ) ##je parle mal francais :-) #
***printf(" un bon programmeur est %d d'experience et %d de competences innes \n",100,1);
NB : TOUTE QUESTION EST LE BIENVENU (sur le mail personel dans le profil)
:-)
* a propos du %d ca se compose de 3 parties :
= le % ca indique au programme (disons pour le moment !!!!!!!!!!!!) qu'il est entrain de manipuler une variable (remarque q'elle existe en printf est scanf )
=2é partie :ce qui est entre % et le type (d ou s ou f ....tu le saura qqe lignes en bes ) et c'est specifique à l'ecriture sur l'ecran et ca indique le nombre de cases reserves a cette variable
= 3é partie le format que son appelation differre entre les normes (ANSI ,C99,C89) ce sont des details avences que tu peut les negliger en tant que debutant
** Ensuite concernant les declarations "yakari" a parfaitement raison : il faut avoir les bonnes bases des le debut .... tu ne saisie pas la difference entre utiliser un int ou un short en ce stade ? C'EST PARFAITEMENT NORMAL Mais (keep it on mind ) ##je parle mal francais :-) #
***printf(" un bon programmeur est %d d'experience et %d de competences innes \n",100,1);
NB : TOUTE QUESTION EST LE BIENVENU (sur le mail personel dans le profil)
:-)
21 mai 2009 à 00:02
Pour ce genre de problème effectivement, on est pas à un octet près...
Mais si on veut faire de la programmation pour construire de plus gros projets, alors il faut quand même faire attention à ce que l'on déclare. De plus il peut arriver que l'on vienne à écrire des programmes pour des architectures autre que des Pc de bureau : les systèmes embarqués qui représentent en population, bien plus que les ordinateurs classiques.
Personnellement, je fais de la programmation embarquée et scientifique, dans le premier cas, je suis amené à travailler avec des architectures qui peuvent être réduite à environ 300 octets de RAM, et dans le second cas, en scientifique, il n'est pas rare d'allouer les nombres par paquets de centaines de milliers. En conclusion, à partir d'un certain niveau de difficultés dans les projets, il faut faire attention à ce que l'on alloue et ce que l'on libère : conclusion : autant prendre de bonnes habitudes dès le début ;)
Yakari
21 mai 2009 à 00:53
Au fait, %i, c'est pareil que %id, et ca marche aussi
%id ça ne marche pas. Et %ld ce n'est pas pareil que %i.
%i c'est pareil que %d. C'est tout. Si tu as une variable en long, tu dois mettre %li ou %ld.
En compilation stricte (respect des normes), tu recevras un avertissement à la compilation.
Cdlt