Petit problémme génant ;

Fermé
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015 - 19 mai 2015 à 18:16
 chkanda - 20 mai 2015 à 20:10
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

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
19 mai 2015 à 18:31
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
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
19 mai 2015 à 18:47
Merci fiddy pour la réponse; OK je vais corriger.
0
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
19 mai 2015 à 18:52
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
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
19 mai 2015 à 18:59
j'ai pas compris
#define taille 15
0
chkanda Messages postés 10 Date d'inscription dimanche 10 mai 2015 Statut Membre Dernière intervention 19 mai 2015
19 mai 2015 à 19:00
et merci pour vos efforts.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
19 mai 2015 à 20:07
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
chkanda > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
20 mai 2015 à 13:18
Merci.
mais si l'utilisateur entre une taille plus grande que n . Qu'est ce que ce passe.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
20 mai 2015 à 13:40
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
Merci
0