Petit problémme génant ;

chkanda Messages postés 14 Statut Membre -  
 chkanda -
Bonsoir

#include<stdio.h>

main()
{
int n;
int T[n];

do{
printf(" entrer une dimension positive inferieur a 50 : \n");
scanf("%d",&n);

}while( n>50 || n<0 );

}

lorsque l'utilisateur tape une lettre :
le message se répète infiniment, je comprend pas pourquoi.
merci d'avance

3 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonsoir,

    main()
    Le bon prototype est :
    int main(void)


    int T[n];
    Tu ne peux pas faire ça.
    Soit tu utilises un tableau :
    int T[TAILLE];
    et en début de code tu mets un
    #define TAILLE 15
    par exemple.
    Soit tu fais de l'allocation dynamique avec malloc().

    Sinon bizarre que ton programme parte en boucle infinie si tu as bien mis un "%d".
    Corrige déjà comme j'ai signalé, recompile ton programme. S''il n'y a pas d'évolution, n'hésite pas à reposter ton programme en mettant aussi les messages du compilateur.

    Note : pour les prochaines fois, merci d'utiliser la balise "code c".
    Exemple : <code c>ici tu mets ton code</code>

    0
    1. chkanda Messages postés 14 Statut Membre
       
      Merci fiddy pour la réponse; OK je vais corriger.
      0
  2. chkanda Messages postés 14 Statut Membre
     
    merci

    mais j'ai pas compris,

    int T[n];
    Tu ne peux pas faire ça.
    Soit tu utilises un tableau : int T[TAILLE]; et en début de code tu mets un #define TAILLE 15 par exemple.
    moi je veux que l'utilisateur qui choisi le n a condtion qu'il soit n<50 et positive.
    0
  3. chkanda Messages postés 14 Statut Membre
     
    j'ai pas compris
    #define taille 15
    0
    1. chkanda Messages postés 14 Statut Membre
       
      et merci pour vos efforts.
      0
    2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      TAILLE indique la taille max. Libre à toi de choisir un n plus petit. Si tu veux un tableau contenant exactement la bonne taille, tu as le malloc()...
      0
      1. chkanda > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merci.
        mais si l'utilisateur entre une taille plus grande que n . Qu'est ce que ce passe.
        0
    3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Plus grand que "TAILLE" tu veux dire. Cela fera un beau plantage. Mais, c'est à toi de faire en sorte que ce cas n'arrive pas. Par exemple avec une boucle while pour obliger l'utilisateur à choisir un nombre entre 0 et TAILLE.
      0
    4. chkanda
       
      Merci
      0