Probleme code C
jason-live
Messages postés
178
Date d'inscription
Statut
Membre
Dernière intervention
-
Dora The Explorer Messages postés 2811 Date d'inscription Statut Contributeur Dernière intervention -
Dora The Explorer Messages postés 2811 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, voici mon code et il y a un problème avec code blocks aidez-moi svp !
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
resultat = nombre + nombreb;
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);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nombre, nombreb, resultat = 0 ;
resultat = nombre + nombreb;
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);
return 0;
}
A voir également:
- Probleme code C
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
11 réponses
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
#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
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
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.
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;
}
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;
}
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.
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;
}
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.