Probleme pour debutant en language C
Bonjour,
j'apprends a programmer , je suis dans le cour des headers et j'ai écrit ce petit code
=============================
#include <stdio.h>
#include <stdlib.h>
#include "ledouble.h"
#include "triple.h"
int main(int argc, char *argv[])
{
int choice=0 , number=0;
printf(" veuillez chosir votre operation : \n");
printf("1. Double : \n");
printf("2. Triple : \n");
do
{
scanf("%ld",&choice);
printf(" veuiller entrer votre nombre : ");
scanf("%ld",&number);
if (choice =1)
printf(" votre resultat est : %d\n", ledouble(number));
else if (choice =2)
printf(" votre resultat est : %d\n", triple(number));
else
printf("votre chiffre est incorrect , veuillez entrer un chiffre correcte :");
}while ( choice !=1 || choice !=2);
system("PAUSE");
return 0;
}
===================================
avec les autres fichiers sources contenant la fonction ledouble et la fonction triple
alors voilà le problème , au moment ou ça me demande de taper mon choix , quand je tape 2 ça ne lance pas la fonction triple , mais ça double ma variable :s , je voudrait savoir ou est l'erreur svp
j'apprends a programmer , je suis dans le cour des headers et j'ai écrit ce petit code
=============================
#include <stdio.h>
#include <stdlib.h>
#include "ledouble.h"
#include "triple.h"
int main(int argc, char *argv[])
{
int choice=0 , number=0;
printf(" veuillez chosir votre operation : \n");
printf("1. Double : \n");
printf("2. Triple : \n");
do
{
scanf("%ld",&choice);
printf(" veuiller entrer votre nombre : ");
scanf("%ld",&number);
if (choice =1)
printf(" votre resultat est : %d\n", ledouble(number));
else if (choice =2)
printf(" votre resultat est : %d\n", triple(number));
else
printf("votre chiffre est incorrect , veuillez entrer un chiffre correcte :");
}while ( choice !=1 || choice !=2);
system("PAUSE");
return 0;
}
===================================
avec les autres fichiers sources contenant la fonction ledouble et la fonction triple
alors voilà le problème , au moment ou ça me demande de taper mon choix , quand je tape 2 ça ne lance pas la fonction triple , mais ça double ma variable :s , je voudrait savoir ou est l'erreur svp
A voir également:
- Probleme pour debutant en language C
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Anno 1404 change language ✓ - Forum Jeux vidéo
- Windows display language french - Guide
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
7 réponses
Salut,
Une erreur classique lorsqu'on débute : l'opérateur d'égalité.
En C, l'opérateur d'égalité est le double égal (==) et non le simple égal (opérateur d'affectation).
if (choice =1)
Ici cette condition est toujours vraie car choice sera affecté à 1 (simple opérateur d'affectation) et renverra 1 (valeur assimilée à vraie).
Il faut mettre : if(choice==1)
Je te laisse le soin de corriger dans les else if.
Cdlt
Une erreur classique lorsqu'on débute : l'opérateur d'égalité.
En C, l'opérateur d'égalité est le double égal (==) et non le simple égal (opérateur d'affectation).
if (choice =1)
Ici cette condition est toujours vraie car choice sera affecté à 1 (simple opérateur d'affectation) et renverra 1 (valeur assimilée à vraie).
Il faut mettre : if(choice==1)
Je te laisse le soin de corriger dans les else if.
Cdlt
Il nous faudrait tout le code source. C'est peut être par exemple une erreur de copier coller dans l'implémentation de la fonction "letriple".
Bonne chance
Bonne chance
voila
ledouble.c
-------------------
#include <stdio.h>
#include <stdlib.h>
int ledouble(int numero)
{
return numero *2;
system("PAUSE");
return 0;
}
--------------------
ledouble.h
--------------------
int ledouble(int numero);
--------------------
triple.c
--------------------
#include <stdio.h>
#include <stdlib.h>
int triple(int numero)
{
return numero * 3;
system("PAUSE");
return 0;
}
------------------
triple.h
------------------
int triple(int numero);
ledouble.c
-------------------
#include <stdio.h>
#include <stdlib.h>
int ledouble(int numero)
{
return numero *2;
system("PAUSE");
return 0;
}
--------------------
ledouble.h
--------------------
int ledouble(int numero);
--------------------
triple.c
--------------------
#include <stdio.h>
#include <stdlib.h>
int triple(int numero)
{
return numero * 3;
system("PAUSE");
return 0;
}
------------------
triple.h
------------------
int triple(int numero);
Rah quel œil j'avais même pas vu. BIen vu fiddy. Le pire c'est que normalement son compilateur a dû lui mettre un warning qu'il a allégrement omis.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
non mon compilateur ne m'a pas mis de warning , ça s'est lancé correctement l'erreur était juste dans le fonctionnement du programme.
merci ça a bien marché , quel erreur j'ai commis xd
merci ça a bien marché , quel erreur j'ai commis xd