Langage c problème avec un exercice

Résolu/Fermé
ben - 15 oct. 2007 à 15:32
mamiemando Messages postés 33616 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 3 avril 2025 - 24 juin 2008 à 19:46
bonjour
un utilisateur doit encoder deux nombre et un opérateur et le programme fait le calcul correspondant au moyen des deux valeurs donnée voici le début de mon programme mais après je suis bloqué!
#include <stdlib.h>
#include <stdio.h>

void main (void)
{
int a,b,c;
printf("entrez premiere valeur:");
scanf("%d",&a);
printf("entrez deuxieme valeur:");
scanf("%d";&b);
printf("entrez operateur");
scanf("%d",&c);

/* 1=addition;
2=soustraction;
3=multiplication;
4=division; */

if ( c=1)
{
A voir également:

7 réponses

mamiemando Messages postés 33616 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 3 avril 2025 7 837
16 oct. 2007 à 10:08
Ouais mais bon normalement ce n'est pas à moi de faire tes exercices mon grand... Donc il faut quand même que tu cherches un minimum sinon ça va se voir. En plus dire "je ne l'ai pas vu en cours" ce n'est pas une vraie réponse car si tu adoptes ce genre de raisonnement en stage ou par la suite dans ton travail tu ne vas pas aller loin...

Bonne chance
3
Bonjour,

#include <stdlib.h>
#include <stdio.h>

int main ()
{
int a,b,c;
float res;
printf("entrez premiere valeur:");
scanf("%d",&a);
printf("entrez deuxieme valeur:");
scanf("%d";&b);
printf("entrez operateur");
scanf("%d",&c);

/* 1=addition;
2=soustraction;
3=multiplication;
4=division; */
if (c==1) res=a+b;
else if (c==2) res=a-b;
else if (c==3) res=a*b;
else if (c==4) res=a/b;
else {
printf("Erreur de saisie");
return (0);
}
printf("resultat : %f",res);
}
2
bjr
ma question es la suivante : manque _t_ il pas des accolades entre le if et le else ?? !!!
0
mamiemando Messages postés 33616 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 3 avril 2025 7 837
16 oct. 2007 à 19:18
Il manque le return 0; à la fin du main; et return n'est pas une fonction (mais une instruction) donc il n'y a pas de raison de mettre de parenthèse autour du 0 de return (0). Par ailleurs je trouve un peu anti pédagogique de lui donner la solution de son exercice (j'en avais à mon sens déjà beaucoup trop fait).
2
bsr, je debute en langage c , et j'ai un petit exo ou il faut utiliser des pointeurs, il s'agit de supprimer les occurrences des nombres multiples dans un tableau en tassant les elements restants .

expl

Tab1={10,12,15,10,6,12,5} le resultat est Tab1={10,12,15,6,5}

merci d'avance.
0
mamiemando Messages postés 33616 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 3 avril 2025 7 837
15 oct. 2007 à 19:10
Voilà ce que tu peux faire :
#include <stdio.h>

int main(){
    int x,y,res;
    char c;

    // Lire les valeurs
    printf("operateur (+,-,*,/) ? ");
    c = getchar();
    printf("x ? ");
    scanf("%d",&x);
    printf("y ? ");
    scanf("%d",&y);

    // Calculer le résultat
    if     (c == '*') res = x * y;
    else if(c == '+') res = x + y;
    else if(c == '-') res = x - y;
    else if(c == '/') res = x / y;
    else{
        fprintf(stderr,"opérateur [%c] invalide !\n",c);
        return 1;
    }

    // Afficher le résultat
    printf("%d %c %d = %d\n",x,c,y,res);
    return 0;
}

Je te laisse adapter le programme pour que ça marche avec deux flottants. Si tu ne comprends pas certains points n'hésite pas à dire lesquels.

Bonne chance
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
merci pour cet énoncé mais je n'ai pas encore appris les caractère et char, je dois utiliser des nombre!
0
gigaga Messages postés 2347 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 22 août 2014 301
22 juin 2008 à 17:47
C'est dingue tous ceux qui veulent que les gens résolvent leur exercice à leur place!!
0
mamiemando Messages postés 33616 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 3 avril 2025 7 837
24 juin 2008 à 19:46
C'est vrai, et dans des sujets résolus et qui n'ont rien a voir :-)
0