IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

invalid operands to binary *


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 29
    Par défaut invalid operands to binary *
    Bonjour a tous,

    Jessaye de créer le code suivant mais le compilateur me renvoie le code suivant : "invalid operands to binary *"

    Quelqu'un a t 'il une idée ?
    (Au cas ou, je programme en C... et j'utilise Dev C++)
    Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    # include <stdio.h>
     
    int main(void)
    {
         int i,j,M,N;   /* i et j variables pour les boucles et M et N  
                              respectivement le nombre d'élèves et de 
                              matières étudiées*\
        
         printf("Rentrez le nombre d'élève dans la classe :\n");
         scanf("%d",&M);
         
         printf("Rentrez le nombre de matière étudié :\n");
         scanf("%d",&N);
           
         int t1[N];         /* Tableau contenant les coef de chaque matière*\
         int t2[M][N];    /* Tableau contenant les notes de chaque élèves dans 
                                   chaque matières*\
         int MOY[M];      /* Moyenne de chaque élève*\
         
         for(i=0;i<N;i++)
         {
               printf("coefficient matiere %d :\n",i+1);
               scanf("%d",&t1[i]);   
         }
         
          for(i=0;i<M;i++)
         {
              MOY[i]=0;
         }
         
         for(i=0;i<M;i++)
         {
             for(j=0;j<N;j++)
             {
                 printf("Note matiere %d :\n",i+1);
                 scanf("%d",&t2[j]);
                 MOY[i] = MOY[i] + t2[j] * t1[i];
             }
             MOY[i]=MOY[i]/M;
         }
         
         for(i=0;i<M;i++)
         {
               printf("La moyenne de l eleve %d est %d \n",i+1,MOY[i]);
          
    system("PAUSE");
     
    }

  2. #2
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    J'ai pas regardé ton code mais rien qu'à voir celui que tu as posté bah ... tu as un problème au niveau de la fermeture des commentaires

    Les commentaires c'est comme ça : /* ... */
    Pas comme ça : /* ... *\

  3. #3
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Bonsoir.

    Une petite remarque : system ("pause"); est une instruction qui exécute la commande pause sous Windows ... ce n'est pas portable donc à éviter sachant que tu peut te débrouiller avec getchar ();

    D'autres erreurs en dehors des commentaires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    In function `main':
    warning: ISO C90 forbids variable-size array `t1'
    warning: ISO C90 forbids mixed declarations and code => on ne mélange pas code et déclarations, (bon, d'accord c'est autorisé en C99 >_<) mais met le déclaration au début du main.
    warning: ISO C90 forbids variable-size array `t2'
    warning: ISO C90 forbids variable-size array `t2'
    warning: ISO C90 forbids variable-size array `MOY'
    => Pour tes tableaux tu doit te servir de l'allocation dynamique de mémoire ...
     warning: int format, different type arg (arg 2)
    error: invalid operands to binary *
    warning: implicit declaration of function `system' => inclure stdlib.h ou encore mieux : utiliser getchar ();
    error: syntax error at end of input
    => fermer ta boucle for tout à la fin et ne pas oublier le return 0; ou le return EXIT_SUCCESS;


    Essayes déjà de corriger les remarques en gris ...

    Citation Envoyé par foxnono06 Voir le message
    Au cas ou, je programme en C... et j'utilise Dev C++)


    Dev C++ est obsolète. Je te recommande Code::Blocks qui est assez proche de ce dernier tout en étant plus à jours, multi plateforme, et suffisamment utilisé pour obtenir de l'aide.

    Citation Envoyé par Pouet_forever Voir le message
    Pas comme ça : /* ... *\
    Ben quoi ! C'est de l'art \*_*/

Discussions similaires

  1. xorq: Error: suffix or operands invalid for `xor'
    Par TSUS86 dans le forum x86 32-bits / 64-bits
    Réponses: 7
    Dernier message: 21/09/2011, 15h32
  2. Réponses: 3
    Dernier message: 27/10/2010, 22h46
  3. [NASM][Win] Invalid combination of opcode and operands
    Par Arnaudv6 dans le forum x86 32-bits / 64-bits
    Réponses: 12
    Dernier message: 17/06/2005, 09h07
  4. Requête invalide
    Par hubble dans le forum Outils
    Réponses: 4
    Dernier message: 16/02/2004, 16h48
  5. [XMLRAD] invalid character type
    Par Sylvain James dans le forum XMLRAD
    Réponses: 4
    Dernier message: 10/12/2002, 07h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo