Probleme code C
Fermé
jason-live
Messages postés
178
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
26 décembre 2009
-
11 oct. 2009 à 20:15
Dora The Explorer Messages postés 2811 Date d'inscription mardi 4 septembre 2007 Statut Contributeur Dernière intervention 1 septembre 2011 - 12 oct. 2009 à 18:37
Dora The Explorer Messages postés 2811 Date d'inscription mardi 4 septembre 2007 Statut Contributeur Dernière intervention 1 septembre 2011 - 12 oct. 2009 à 18:37
A voir également:
- Probleme code C
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
11 réponses
Utilisateur anonyme
11 oct. 2009 à 20:18
11 oct. 2009 à 20:18
Salut
Ton dernier printf ne respecte pas le format.
Il s'écrirait :
printf ("la somme de %d + %d est %d\n", nombre, nombreb, resultat);
Et l'affectation du résultat avant de faire les scanf c'est inutile, ce sera toujours 0
Ton dernier printf ne respecte pas le format.
Il s'écrirait :
printf ("la somme de %d + %d est %d\n", nombre, nombreb, resultat);
Et l'affectation du résultat avant de faire les scanf c'est inutile, ce sera toujours 0
xababafr
Messages postés
121
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
2 novembre 2010
1
11 oct. 2009 à 20:20
11 oct. 2009 à 20:20
En effet.
Tu apprend grâce au tutoriel du site du zéro non?
Tu apprend grâce au tutoriel du site du zéro non?
jason-live
Messages postés
178
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
26 décembre 2009
35
11 oct. 2009 à 20:20
11 oct. 2009 à 20:20
oui aide moi maintenant je te pris mercii beaucou
jason-live
Messages postés
178
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
26 décembre 2009
35
11 oct. 2009 à 20:40
11 oct. 2009 à 20:40
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
printf ("la somme de %d + %d est %d\n", nombre + nombreb, resultat);
return 0;
}
Le programme marche mais genre quand je fais 2 + 2 sa me met par exemple 255154754 un truc comme sa c'est bizarre
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
printf ("la somme de %d + %d est %d\n", nombre + nombreb, resultat);
return 0;
}
Le programme marche mais genre quand je fais 2 + 2 sa me met par exemple 255154754 un truc comme sa c'est bizarre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
asma sisi
Messages postés
96
Date d'inscription
vendredi 29 août 2008
Statut
Membre
Dernière intervention
23 mars 2011
20
11 oct. 2009 à 20:40
11 oct. 2009 à 20:40
bonjour;
first: il ne faut jamais faire des opérations sur des variables pas encore initialisées (l'addition de nombre et nombreb est faite avant la demande de leurs valeurs ).
second:
cette instruction ne convient pas aux règles de l'affichage du langage C
+ et = sont des opérations alors que là on ne fait que des affichages donc les variables doivent etre séparées pas des virgules
ou on peut faire mieux
on annule la sommation au début et on la met dans l'affichage directement
cordialement asma sisi
first: il ne faut jamais faire des opérations sur des variables pas encore initialisées (l'addition de nombre et nombreb est faite avant la demande de leurs valeurs ).
second:
printf ("la somme de %d et %d est %d\n", nombre + nombreb = resultat);
cette instruction ne convient pas aux règles de l'affichage du langage C
+ et = sont des opérations alors que là on ne fait que des affichages donc les variables doivent etre séparées pas des virgules
printf ("la somme de %d + %d est %d\n", nombre , nombreb , resultat);
ou on peut faire mieux
on annule la sommation au début et on la met dans l'affichage directement
#include <stdio.h> #include <stdlib.h> int main() { int nombre, nombreb, resultat = 0 ; printf("entrez un nombre au hasard\n"); scanf ("%d", &nombre); printf ("entrez un autre nombre au hasard\n"); scanf ("%d", &nombreb); printf ("la somme de %d + %d est %d\n", nombre,nombreb , resultat = nombre + nombreb); return 0; }
cordialement asma sisi
Utilisateur anonyme
11 oct. 2009 à 20:46
11 oct. 2009 à 20:46
Le langage C est un des langages dont la maîtrise peut prendre un bon bout de temps.
Je te conseille de prendre le temps de lire les tutoriels entièrement et éviter de vouloir aller trop vite : beaucoup de gens veulent créer des programmes très rapidement et se contentent de recopier du bout de code trouvé à gauche à et à droite sans prendre la peine de comprendre réellement ce qui se passe. Si tu veux faire des programmes plus facilement, il faut plutôt commencer par des langages comme BASIC pour se faire les dents avant de passer au C.
Un bon livre sur le langage C est idéal pour apprendre.
Je te conseille de prendre le temps de lire les tutoriels entièrement et éviter de vouloir aller trop vite : beaucoup de gens veulent créer des programmes très rapidement et se contentent de recopier du bout de code trouvé à gauche à et à droite sans prendre la peine de comprendre réellement ce qui se passe. Si tu veux faire des programmes plus facilement, il faut plutôt commencer par des langages comme BASIC pour se faire les dents avant de passer au C.
Un bon livre sur le langage C est idéal pour apprendre.
jason-live
Messages postés
178
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
26 décembre 2009
35
11 oct. 2009 à 20:47
11 oct. 2009 à 20:47
je l'ai refais et ca marche merci les gens =)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
resultat = nombre + nombreb;
printf ("la somme de %d est %d = %d\n", nombre, nombreb, resultat);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
resultat = nombre + nombreb;
printf ("la somme de %d est %d = %d\n", nombre, nombreb, resultat);
return 0;
}
jason-live
Messages postés
178
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
26 décembre 2009
35
12 oct. 2009 à 12:46
12 oct. 2009 à 12:46
Un autre problème, en fait je fais un programme très petit par exemple pour demander à l'utilisateur de rentrer 2 nombres au hasard pour calculer soit la somme des 2 nombres ou une autre opération.
Et aussi je voudrais faire une sorte de vérification du nombre tapé.
Par exemple: entrez un nombre au hasard
j'entre le nombre 2
avez vous tapé le nombre suivant ? :
entrez un autre nombre au hasard
j'entre le nombre 3
avez vous tapé le nombre suivant ? :
voici mon code mais je suis sur de rien et je pense que j'ai une partie de faux :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("avez vous entre le nombre suivant : %d ? \n Si oui, alors tapez le nombre 1 sinon tapez le nombre 0", nombre);
if (1)
{
printf ("vous avez bien entre le nombre suivant : %d \n", nombre);
}
else
{
printf ("vous n'avez pas rentre ce nombre : %d \n", nombreb);
}
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
resultat = nombre + nombreb;
printf ("la somme de %d est %d = %d\n", nombre, nombreb, resultat);
return 0;
}
Et aussi je voudrais faire une sorte de vérification du nombre tapé.
Par exemple: entrez un nombre au hasard
j'entre le nombre 2
avez vous tapé le nombre suivant ? :
entrez un autre nombre au hasard
j'entre le nombre 3
avez vous tapé le nombre suivant ? :
voici mon code mais je suis sur de rien et je pense que j'ai une partie de faux :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("avez vous entre le nombre suivant : %d ? \n Si oui, alors tapez le nombre 1 sinon tapez le nombre 0", nombre);
if (1)
{
printf ("vous avez bien entre le nombre suivant : %d \n", nombre);
}
else
{
printf ("vous n'avez pas rentre ce nombre : %d \n", nombreb);
}
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
resultat = nombre + nombreb;
printf ("la somme de %d est %d = %d\n", nombre, nombreb, resultat);
return 0;
}
Dora The Explorer
Messages postés
2811
Date d'inscription
mardi 4 septembre 2007
Statut
Contributeur
Dernière intervention
1 septembre 2011
853
12 oct. 2009 à 16:53
12 oct. 2009 à 16:53
Oui, y'a quelques erreurs.
Ton premier printf() par exemple. Tu l'écris avec une variable en paramètre (mais elle n'est pas affichée.
Ton deuxième printf(), tu demandes à l'utilisateur de rentrer un nombre, mais tu ne fais pas de scanf pour le stocker. Du coup la condition n'a aucun sens.
c'est vraiment nombreb que tu veux afficher?
Tu peux déjà méditer sur ça.
Ton premier printf() par exemple. Tu l'écris avec une variable en paramètre (mais elle n'est pas affichée.
Ton deuxième printf(), tu demandes à l'utilisateur de rentrer un nombre, mais tu ne fais pas de scanf pour le stocker. Du coup la condition n'a aucun sens.
printf ("vous n'avez pas rentre ce nombre : %d \n", nombreb);
c'est vraiment nombreb que tu veux afficher?
Tu peux déjà méditer sur ça.
jason-live
Messages postés
178
Date d'inscription
mardi 1 septembre 2009
Statut
Membre
Dernière intervention
26 décembre 2009
35
12 oct. 2009 à 17:44
12 oct. 2009 à 17:44
je met un scanf comme ceci : scanf ("%d", &nombre); mais sa ne marche pas.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("avez vous entre le nombre suivant : %d ? \n Si oui, alors tapez le nombre 1 sinon tapez le nombre 0", nombre);
if (1)
{
printf ("vous avez bien entre le nombre suivant : %d \n", nombre);
}
scanf ("%d", &nombre);
else
{
printf ("vous n'avez pas rentre ce nombre : %d \n", nombreb);
}
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
resultat = nombre + nombreb;
printf ("la somme de %d est %d = %d\n", nombre, nombreb, resultat);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
printf("entrez un nombre au hasard\n" ,nombre);
scanf ("%d", &nombre);
printf ("avez vous entre le nombre suivant : %d ? \n Si oui, alors tapez le nombre 1 sinon tapez le nombre 0", nombre);
if (1)
{
printf ("vous avez bien entre le nombre suivant : %d \n", nombre);
}
scanf ("%d", &nombre);
else
{
printf ("vous n'avez pas rentre ce nombre : %d \n", nombreb);
}
printf ("entrez un autre nombre au hasard\n",nombreb);
scanf ("%d", &nombreb);
resultat = nombre + nombreb;
printf ("la somme de %d est %d = %d\n", nombre, nombreb, resultat);
return 0;
}
Dora The Explorer
Messages postés
2811
Date d'inscription
mardi 4 septembre 2007
Statut
Contributeur
Dernière intervention
1 septembre 2011
853
12 oct. 2009 à 18:37
12 oct. 2009 à 18:37
printf("entrez un nombre au hasard\n" ,nombre);
pourquoi mettre la variable nombre ici puisque tu ne l'utilises pas dans le printf()?
printf("entrez un nombre au hasard\n");
printf ("avez vous entre le nombre suivant : %d ? \n Si oui, alors tapez le nombre 1 sinon tapez le nombre 0", nombre);
Tu demandes à l'utilisateur de rentrer un nombre à ce moment du programme. Pour connaitre ce nombre, il faut le récupérer.
Il faut faire un scanf avec une nouvelle variable que tu auras au préalable déclarée avec les autres.
Ensuite tu fais une condition if (nouvelle_variable) pour savoir si oui ou non l'utilisateur à rentrer 0 ou 1.
Parce que là ta condition a un problème, elle est toujours vraie. Le nombre 0 signfie faux, le nombre 1 (et auxtres) signifient vrai. Donc if (1) est toujours vérifié.
if (1) { printf ("vous avez bien entre le nombre suivant : %d \n", nombre); } scanf ("%d", &nombre); else { printf ("vous n'avez pas rentre ce nombre : %d \n", nombreb); }
Et le scanf() que tu viens de rajouter n'a pas d'intérêt ici.
Réfléchis un peu sur la logique de ton code, sur ce que ton code est censé faire à chaque étape. Là y'a des trucs pas logiques. Je te donnerai un exemple de code si tu n'as toujours pas compris, mais tu devrais recommencer depuis le début, et revoir le tout.