Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/03/2007, à 18:55

lomdefer

souci avec un programme en C[RESOLU]

BONjour tout le monde, alors voici le souci.
Le programma que je doit faire doit :
    * prend un ou deux entiers en paramètre,
    * qui affiche la table de multiplication du premier entier, jusqu'à 10 s'il n'y a qu'un paramètre, sinon jusqu'au second paramètre (qui doit être inférieur à 100).

Donc voici mon programme :

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

#define LIMITE 100

void usage(char *s){
    printf("Usage : %s <entier> <limite>, <limite> <= 100\n",s);
    exit(-1);
}

int main (int argc, char *argv[]){
  int n,i,limite;
 

  if (argc< 2){
      usage(argv[0]);
      exit(-1);
  }
 n = atoi(argv[1]);

  if (argc<3){

    printf("Table de %d:",n);
    i=0;
    while (i<=10){
      printf(" %d",i*n);
      i++;}

  } 
    if (argc==3){ 
      limite=atoi(argv[2]);     
       if (limite > LIMITE){
	 usage(argv[0]);
	 exit(-1);
       }

       else {
    printf("Table de %d:",n);
    for(i=0;i<=limite;i++){
       printf(" %d", i*n);
       i++;
      
    }   
   }
 printf("/n");
}
 exit(0);
    }

Alors quand je test juste avec le nom ben il me renvoi une erreur ce qui est bon, quand je test avec un entier il me fait bien la table jusqu'a 10, mais quand je test avec 2 entier dont le deuxième inferieur a 100 il fait pas ce que je veux.

luc@luc-perachon:~/programation/algorithme/tp1$ ./barnabe_table 14 13
Table de 14: 0 28 56 84 112 140 168

Alors que sa devrais donner :
TAble de 14: 0 14 28 .... jusqu'a 14 * 13

Ou est l'erreur sa fait 10 ans que je suis dessus je craque la !!!

Dernière modification par lomdefer (Le 01/03/2007, à 19:45)

Hors ligne

#2 Le 01/03/2007, à 19:29

llwynrt

Re : souci avec un programme en C[RESOLU]

bonjour

j'ai trouvé !!!

  
for(i=0;i<=limite;i++){
       printf(" %d", i*n);
       i++;
      
    }

tu incrémentes deux fois ta variable i, une fois avec for(i=0;i<=limite;i++) et une fois avec i++

  
for(i=0;i<=limite;i++){
       printf(" %d", i*n);
      
    }

comme ça ça devrait être mieux

Marie-Lyse


Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !

Hors ligne

#3 Le 01/03/2007, à 19:35

lomdefer

Re : souci avec un programme en C[RESOLU]

A oui j'avais pas vu !!!!!

Hors ligne

#4 Le 01/03/2007, à 19:45

lomdefer

Re : souci avec un programme en C[RESOLU]

Bon ben nikel le problème est résolu merci a toi !!!

Hors ligne