Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2249 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Pkoi ça boucle???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pkoi ça boucle???

n°280980
vandekerpu​t
hooohhi'm'bohéé !!!!
Posté le 07-01-2003 à 12:10:39  profilanswer
 

:pfff:  
salut à vous tout d'abor
je suis en train d'essayer de me faire un calendrier en C, mais la y'a boucle qui boucle...qui boucle et reboucle...
voilou mon programme, c vilain mais je débute  :sarcastic:  
la fonction decalage me renvoie 3 donc c'est bon,mais ça boucle au nivo du printf en GRAS
 
 
void calendrier(int annee)
{
 int joursemaine = 0; /* nombre de jour dans une semaine */
 int decalagejour;
 int nbjours, lejour;
 char* tab[11];
 tab[0]="JANVIER";
 tab[1]="FEVRIER";
 tab[2]="MARS";
 tab[3]="AVRIL";
 tab[4]="MAI";
 tab[5]="JUIN";
 tab[6]="JUILLET";
 tab[7]="AOUT";
 tab[8]="SEPTEMBRE";
 tab[9]="OCTOBRE";
 tab[10]="NOVEMBRE";
 tab[11]="DECEMBRE";
 
 for(int NumMois = 1;NumMois <= 12; NumMois++)
  {
  printf("%s\n",tab[NumMois]);
  printf("--------------\n|Lu|Ma|Me|Je|Ve|Sa|Di|\n|" );
  nbjours = jour(NumMois, annee);
  decalagejour = decalage(nbjours);
  lejour = 1;
 
  for(int ligne = 1;ligne <= 5 ;ligne++)
   {
   for(int colonne = 1; colonne <= 7;colonne++)
    {
     if((colonne = 1)&&(ligne = 1))
     {for(int i = decalagejour; i <= decalagejour;i++)
      {printf("  |" );
      colonne++;}
     }
 
     if(lejour <= nbjours)
     {
      if(lejour < 10) printf(" " );
      printf("%d",lejour);
      printf("|" );}
     else
      {printf("  |" );}
    lejour++;
    }
   printf("\n" );
   }
  }
}

mood
Publicité
Posté le 07-01-2003 à 12:10:39  profilanswer
 

n°280984
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-01-2003 à 12:17:58  profilanswer
 

nummois va de 1 à 12. donc la ligne  
 
printf("%s\n",tab[NumMois]);
 
est fausse : en C, les indices de tableau vont de 0 à n-1. Tu dois donc écrire :
 
printf("%s\n",tab[NumMois-1]);
 
je sais pas si ça résoudra ton souci (j'ai pas le temps de lire tout ton code), mais ça sera toujours ça de pris


---------------
J'ai un string dans l'array (Paris Hilton)
n°280986
vandekerpu​t
hooohhi&#039;m&#039;bohéé !!!!
Posté le 07-01-2003 à 12:19:32  profilanswer
 

merci, c'est déjà ça  :jap:

n°280987
VisualC++
J'va y penser ...
Posté le 07-01-2003 à 12:20:10  profilanswer
 

un test if c est == et pas = la condition
 
La ta boucle for(int colonne = 1; colonne <= 7;colonne++) y a colonne qui vaut tj 1 suite au passage du test if (colonne = 1)


Message édité par VisualC++ le 07-01-2003 à 12:20:37
n°280992
Taz
bisounours-codeur
Posté le 07-01-2003 à 12:22:19  profilanswer
 

j'ai pas regardé ta boucle.
 
en C, les tableaux sont indexés de 0 à N-1
 
si tu as 12 mois, déclares un tableau [12] et ainsi les indices de [0] à [11] sont correctement alloués
 
tu peux également perfectionner ton initialisation de la sorte
 
static const char* mois[]={ "Janvier", ..., "Decembre"};
 
 
-> static : le tableau survit à la fonction: chaque appel de fonction n'a pas besoin de réinitiliser le tableau == + performant
-> const :les chaines littérales "chaine literrales" sont des constantes, on ne doit pas les modifier. l'ajout de ce mot clef permet au compilateur de vérifier qu'elle ne sont pas modifiées
-> mois: c'est un noms de variables plus explicites
->[]: le compilateur se charge lui meme de réserver le bon nombre d'élément
-> { } : initialisation, les éléments de ton tableau prennent un valeur des leur allocation. c'est plus performant et moins long à ecrire de de faire mois[0]="janvier" etc.
 

n°280993
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-01-2003 à 12:23:20  profilanswer
 

VisualC++ a écrit :

un test if c est == et pas = la condition


oui, aussi, j'avais pas fait gaffe :/


---------------
J'ai un string dans l'array (Paris Hilton)
n°280994
vandekerpu​t
hooohhi&#039;m&#039;bohéé !!!!
Posté le 07-01-2003 à 12:23:22  profilanswer
 

Merci bocou Visual C++, cété ça.... :jap:  :jap:  
 
Youpi  :bounce:  
 [:ziiio]  
 
merci, merci, merci, tu m'a sové ma vie, SSScool !!!

n°280995
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 07-01-2003 à 12:24:17  profilanswer
 

++Taz a écrit :

j'ai pas regardé ta boucle.


et t'as pas regardé la réponse que je lui ai faite au début non plus ;)


---------------
J'ai un string dans l'array (Paris Hilton)
n°280996
Taz
bisounours-codeur
Posté le 07-01-2003 à 12:26:11  profilanswer
 

Harkonnen a écrit :


et t'as pas regardé la réponse que je lui ai faite au début non plus ;)

ben j'etais entrain de faire autre chose, j'ai pris mon temps et tu m'a grillaid  :sweat:

n°281009
vandekerpu​t
hooohhi&#039;m&#039;bohéé !!!!
Posté le 07-01-2003 à 12:46:34  profilanswer
 

ssppaaa grave ++Taz, merci à tous  :jap:  
 :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Pkoi ça boucle???

 

Sujets relatifs
Boucle infinie ! je voit pas ou elle estJ'ai un problème avec l'envoi de variables contenues dans une boucle..
pkoi je peux pas faire x* operator+(x*,x*) ?[CSS] Pkoi ça marche ça ??!!
formulaire de m.. grrr! pkoi ça marche pas? (source inside)[PHP] Ca marche pas..... mais pkoi ? Need help! ;-)
c bon g ça marche... mé je c pas pkoi..Evénement pendant une boucle TANTQUE
question simple sur la boucle "pour"[ C++ ] - je comprend pas pkoi ca marche pas
Plus de sujets relatifs à : Pkoi ça boucle???


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR