Rechercher : dans
Par :

Langage c problème avec un exercice

Dernière réponse le 24 jun 2008 à 19:46:58 ben, le 15 oct 2007 à 15:32:22 
 Signaler ce message aux modérateurs

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)
{

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « langage c problème avec un exercice » dans :
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Les piles en langage C VoirLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...
Introduction au langage C VoirPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie...

1

mamiemando, le 15 oct 2007 à 19:10:03

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

Répondre à mamiemando

2

ben, le 16 oct 2007 à 09:20:08

Merci pour cet énoncé mais je n'ai pas encore appris les caractère et char, je dois utiliser des nombre!

Répondre à ben

3

mamiemando, le 16 oct 2007 à 10:08:43
  • +3

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

Répondre à mamiemando

4

spidag, le 16 oct 2007 à 10:50:24
  • +1

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);
}

Répondre à spidag

9

mariam, le 22 jun 2008 à 16:15:15

Bjr
ma question es la suivante : manque _t_ il pas des accolades entre le if et le else ?? !!!

Répondre à mariam

5

mamiemando, le 16 oct 2007 à 19:18:27
  • +2

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).

Répondre à mamiemando

6

iki, le 24 déc 2007 à 22:13:37

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.

Répondre à iki

10

gigaga, le 22 jun 2008 à 17:47:25
  • +1

C'est dingue tous ceux qui veulent que les gens résolvent leur exercice à leur place!!

Répondre à gigaga

11

 mamiemando, le 24 jun 2008 à 19:46:58

C'est vrai, et dans des sujets résolus et qui n'ont rien a voir :-)

Répondre à mamiemando
Collection CommentÇaMarche.net