Probleme mineur avec un programme que je ne sais résoudre..merci

Probleme mineur avec un programme que je ne sais résoudre..merci - C - Programmation

Marsh Posté le 14-04-2004 à 17:38:56    

Bonjour  a tous et j'espere ne pas vous déranger ;)
 
Je souhaitait qu'un ami mécrive un programme en C++ me permettant de géré un tournoi et de faire un tirage au sort aléatoire, qui détecte lorsqu'il faut un repechage pour faire un nombre pair de participants a chaque tour.
 
Il m'a alors écrit ce programme
 

Code :
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <string.h>
  5. void saisienom(char[150][30],int);
  6. void main()
  7. {
  8. int k,nb,i,n[150],j,rep,g[150],q,mod,t;
  9. char J[150][30];
  10. char V[75][30],P[75][30];
  11. randomize();
  12. gotoxy(17,3);
  13. textcolor(LIGHTBLUE);
  14. cprintf("entrez le nombre de personne encore en jeu !" );
  15. gotoxy(36,6);
  16. scanf("%d",&nb);
  17. while (nb%2==1)
  18. {
  19. clrscr();
  20. textcolor(LIGHTRED);
  21. cprintf("le nombre doit être pair pour pouvoir faire des match !" );
  22. textcolor(LIGHTBLUE);
  23. gotoxy(17,3);
  24. cprintf("\nentrez à nouveau le nombre de personne encore en jeu !" );
  25. gotoxy(36,6);
  26. scanf("%d",&nb);
  27. }
  28. gotoxy(17,9);
  29. textcolor(LIGHTMAGENTA);
  30. cprintf("vous allez commencer avec %d personnes",nb);
  31. gotoxy(1,15);
  32. printf("appuyez sur une touche pour entrer le nom des personnes..." );
  33. getch();
  34. clrscr();
  35. saisienom(J,nb);
  36. do{
  37. for(i=1;i!=nb+1;i++)
  38. n[i]=0;
  39. for(i=1;i!=nb+1;i=i+1)
  40. {
  41. do
  42. {
  43. rep=1;
  44. n[i]=rand()%nb+1;
  45. for(j=1;j!=i;j++)
  46. {
  47. if(n[i]==n[j])
  48. rep=0;
  49. }
  50. }while (rep==0) ;
  51. }
  52. k=0;
  53. for(i=1;i!=nb+1;i=i+2)
  54. {
  55. k=k+1;
  56. gotoxy(20,k);
  57. textcolor(LIGHTBLUE);
  58. cprintf("\n%de match : %s vs %s",k,J[n[i]],J[n[i+1]]);
  59. }
  60. gotoxy(1,k+5);
  61. printf("appuyer sur une touche pour entrez le résultat des match..." );
  62. getch();
  63. clrscr();
  64. k=0 ;
  65. t=1;
  66. for(i=1;i!=nb+1;i=i+2)
  67. {
  68. k=k+1 ;
  69. t=t+1 ;
  70. gotoxy(20,t);
  71. textcolor(LIGHTBLUE);
  72. cprintf("\nentrez le gagnant du match%d : (0:%s ; 1:%s)",k,J[n[i]],J[n[i+1]]);
  73. scanf("%d",&rep);
  74. while (rep>1 || rep<0)
  75. {
  76. textcolor(LIGHTRED);
  77. cprintf("\nvous ne pouvez rentrez que 0 ou 1 ... recommencez !" );
  78. textcolor(LIGHTBLUE);
  79. gotoxy(20,t+6);
  80. cprintf("\nentrez le gagnant du match%d : (0:%s ; 1:%s)",k,J[n[i]],J[n[i+1]]);
  81. scanf("%d",&rep);
  82. t=t+6 ;
  83. }
  84. if (rep==0)
  85. {
  86. strcpy(V[k],J[n[i]]);
  87. strcpy(P[k],J[n[i+1]]);
  88. }
  89. else
  90. {
  91. strcpy(V[k],J[n[i+1]]);
  92. strcpy(P[k],J[n[i]]);
  93. }
  94. }
  95. gotoxy(0,k+5);
  96. printf("appuyez sur une touche pour voir quels joueurs restent en jeu..." );
  97. getch();
  98. clrscr();
  99. textcolor(LIGHTBLUE);
  100. cprintf("\n\nil reste en jeu : " );
  101. for (i=1;i!=k+1;i++)
  102. {
  103. gotoxy(1,i+5);
  104. textcolor(LIGHTBLUE);
  105. cprintf("\n%s",V[i]);
  106. strcpy(J[i],V[i]);
  107. }
  108. if ((nb%4)==0)
  109. {
  110. textcolor(LIGHTRED);
  111. cprintf("\npas re repèche cette foi ci!" );
  112. }
  113. else
  114. if (k==1)
  115. {
  116. textbackground(LIGHTMAGENTA);
  117. textcolor(LIGHTGREEN);
  118. cprintf("\n\n\nle vainqueur sera toujours jarjar mais sinon c'est : %s",V[k]);
  119. }
  120. else
  121. {
  122. q=rand()%k+1;
  123. textcolor(LIGHTRED);
  124. cprintf("\n%s (repeche)",P[q]);
  125. k=k+1;
  126. strcpy(J[k],P[q]);
  127. }
  128. nb=k;
  129. printf("\n\n\n\n" );
  130. if (k!=1)
  131. {
  132. printf("appuyez sur une touche pour passer à un autre tour..." );
  133. getch();
  134. clrscr();
  135. }
  136. }while(nb%2==0);
  137. getch();
  138. }
  139. void saisienom(char J[150][30],int nb)
  140. {
  141. int i;
  142. for (i=1;i!=nb+1;i++)
  143. {
  144. textcolor(LIGHTBLUE);
  145. cprintf("entrez le nom du joueur %d : ",i);
  146. scanf("%s",&J[i]);
  147. }
  148. printf("\n\nappuyez sur une touche pour visualiser les match..." );
  149. getch();
  150. clrscr();
  151. }


 
 
Le probleme est que jai un nombre de 106 participants, une fois les 106 noms rentrées, lors de laffichage des match, il ne maffichant pas tous les combats, il commmence par exemple a la ligne 13..... de plus a partir du match 42 il décale les lignes....enfin je sais pas trop comment lexprimer donc hésiter pas a lessayer car je ne vois plus cet ami qui a déménagé et comme moi je ne suis pas bon en programmation... je suis sur que ce nest qu'une toute petite erreur
 
Voila merci beaucoup d'avance a ceux qui voudront bien me venir en aide. :)


Message édité par Neostranger le 14-04-2004 à 18:12:26

---------------
X
Reply

Marsh Posté le 14-04-2004 à 17:38:56   

Reply

Marsh Posté le 14-04-2004 à 17:45:55    

mauvaise cat :o
 
t'as qu'a rappeler ton ami ou te mettre à la programmation
en tout cas t'es hors-charte :o


Message édité par Taz le 14-04-2004 à 17:46:51
Reply

Marsh Posté le 14-04-2004 à 17:51:51    

il a quand même fait UNE fonction le gars :D

Reply

Marsh Posté le 14-04-2004 à 17:55:27    

for (i=1;i!=nb+1;i++)  
 
 
en tout cas il vit pas sur Terre ... :o surtout que ya overflow avec tout ça

Reply

Marsh Posté le 14-04-2004 à 17:57:45    

désolé les gards je pensait pas vous embeter....


---------------
X
Reply

Marsh Posté le 14-04-2004 à 17:58:30    

NeoStranger a écrit :

désolé les gards je pensait pas vous payer....

on a bien compris

Reply

Marsh Posté le 14-04-2004 à 17:59:39    

tes pas obligé de modif mes quotes, je voulais simplement un peu d'aide cest tout.....


---------------
X
Reply

Marsh Posté le 14-04-2004 à 18:45:47    

PS: je vois pas en quoi jétais hors charte hormis mon omission du [C] donc je capte pas pourquoi tu ne souhaite pas m'aider taz....


---------------
X
Reply

Marsh Posté le 14-04-2004 à 19:06:36    

Il ne veut pas t'aider parce que  
1) le programme est une bouse (pas de commentaires ni rien)
2) il est pas ecrit en C standard, mais sous un truc de Borland apparement, vu toutes les fonctions d'origine TurboPascal qui y trainent comme textcolor, gotoxy... (Note, il me semble que ca marchait aussi dans de vieilles vieilles versions du compilo Microsoft, ce genre de code)
 
A+,


Message édité par gilou le 14-04-2004 à 19:13:23
Reply

Marsh Posté le 14-04-2004 à 19:12:40    

ok merci gilou mais comprend que c'est indépendant de ma volonté ca..... oui cest fait sous borland cest avec ca que meme a moi on ma appris a programmer...(meme si jsuis mauvais dans ce domaine)
 
cela étant est ce une raison pour modifier les quote et me preter propos qui ne sont pas miens??? :ouch:  :pfff:


Message édité par Neostranger le 14-04-2004 à 19:13:34

---------------
X
Reply

Marsh Posté le 14-04-2004 à 19:12:40   

Reply

Marsh Posté le 14-04-2004 à 20:35:50    

NeoStranger a écrit :

ok merci gilou mais comprend que c'est indépendant de ma volonté ca..... oui cest fait sous borland cest avec ca que meme a moi on ma appris a programmer...(meme si jsuis mauvais dans ce domaine)
 
cela étant est ce une raison pour modifier les quote et me preter propos qui ne sont pas miens??? :ouch:  :pfff:  

mais ta gueule bordel :o quand ton windows plante tu viens pas nous demander de faire un correctif ? ben là c'est pareil : tu programmes pas, tu bites rien au C et tu nous balance une daube en C pour qu'on te fasse ton programme. ben on est pas tes potes, alors tu contactes le tien (piètre programmeur d'ailleurs), tu lui expliques ton problèmes et tu attends qu'il te donne une nouvelle version de son programme. nous on s'en fiche

Reply

Marsh Posté le 14-04-2004 à 20:41:25    

NeoStranger a écrit :

cela étant est ce une raison pour modifier les quote et me preter propos qui ne sont pas miens??? :ouch:  :pfff:  

bah on est un forum d'entraide pour programmeurs : le but c'est d'apprendre et de partager nos connaissances, que chacun s'améliore.

Reply

Marsh Posté le 14-04-2004 à 21:29:55    

Taz, t'es un peu dur ...  :o

Reply

Marsh Posté le 14-04-2004 à 22:45:44    

Taz a écrit :

mais ta gueule bordel :o quand ton windows plante tu viens pas nous demander de faire un correctif ? ben là c'est pareil : tu programmes pas, tu bites rien au C et tu nous balance une daube en C pour qu'on te fasse ton programme. ben on est pas tes potes, alors tu contactes le tien (piètre programmeur d'ailleurs), tu lui expliques ton problèmes et tu attends qu'il te donne une nouvelle version de son programme. nous on s'en fiche


 
eu tu te prend pour qui petit pour m'insulter la??

Reply

Marsh Posté le 14-04-2004 à 23:28:43    

Il se prend pour ce qu'il est: quelqu'un de tres competent, qui n'aime pas l'attitude qui consiste a balancer ici une bouse en disant "c'est ma bouse qui pue, plutôt que m'y plonger les mains dedans, je vous la balance à la gueule, demerdez vous avec, et en plus faites le gratos et avec le sourire."
A+,


Message édité par gilou le 14-04-2004 à 23:34:50
Reply

Marsh Posté le 14-04-2004 à 23:34:59    

ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh parce le fait qu'il soit compétent lui permet de me dire "ta geule" charmante mentalité dis donc.....

Reply

Marsh Posté le 14-04-2004 à 23:37:06    

Oui, la qualité technique de ses interventions sont telles qu'on peut supporter les caprices de diva qu'il nous  fait parfois.
A+,

Reply

Marsh Posté le 14-04-2004 à 23:40:19    

ok, donc cest tarif préférentiel.....désolé mais ca craint grave.....
 
 
au final je demandais simplement une petite aide, on me crache a la geule, jme fais insulté et on me dit cest normal et il peut continuer si il veut....je me demande si jhallucine...


Message édité par Neostranger le 14-04-2004 à 23:40:33
Reply

Marsh Posté le 14-04-2004 à 23:42:38    

gilou a écrit :

Oui, la qualité technique de ses interventions sont telles qu'on peut supporter les caprices de diva qu'il nous  fait parfois.
A+,

kadreg n'a pas le droit aux même égards il me semble. pourtant je pense pas qu'on fasse meilleur en méta-modélisation que lui sur ce forum.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 14-04-2004 à 23:43:53    

NeoStranger a écrit :

PS: je vois pas en quoi jétais hors charte hormis mon omission du [C] donc je capte pas pourquoi tu ne souhaite pas m'aider taz....

Tu vois pas parce que manifestement tu n'avais pa lu la charte:

Citation :

[0C] Les demandes du style "vous pouvez faire un programme faisant [...] pour moi ?" sont assez mal vues et n'obtiennent que très rarement de réponses. N'espérez pas trouver ici quelqu'un qui fera tout le boulot à votre place.


 
A+,

Reply

Marsh Posté le 14-04-2004 à 23:44:59    

jai pas demander a ce qu'on me fasse un programme lol, jai demander ou était lérreur car je ne la trouvait pas....

Reply

Marsh Posté le 14-04-2004 à 23:45:06    

nraynaud a écrit :

kadreg n'a pas le droit aux même égards il me semble. pourtant je pense pas qu'on fasse meilleur en méta-modélisation que lui sur ce forum.

Le jour ou Taz poste le source d'un virus ici, je le bannerai sans etats d'âme.
A+,

Reply

Marsh Posté le 14-04-2004 à 23:51:29    

NeoStranger a écrit :

jai pas demander a ce qu'on me fasse un programme lol, jai demander ou était lérreur car je ne la trouvait pas....

Certes, mais tu ne nous a pas expliqué ta demarche pour essayer de corriger l'erreur en question en programmant.
Ton intervention se resumait en un "Mon programme il marche pas, faites le marcher pour moi", ce qu'on ne fait pas sur ce forum.
Pour reprendre un proverbe chinois, ici, on te filera pas un poisson, mais on veut bien t'apprendre a pecher. Mais si tu viens sans canne a peche, on levera pas le petit doigt.
De toute facon, le programme a l'air de supposer que l'utilisateur va se fader de rentrer 106 noms sans erreurs les uns a la suite des autres... C'est deja suffisament nul pour que j'ai pas envie de toucher a un tel programme.
A+,


Message édité par gilou le 14-04-2004 à 23:52:02
Reply

Marsh Posté le 14-04-2004 à 23:54:28    

bon alors jvais formuler, existe t'il une fonction qui limite le nombre de ligne a afficher sous une fenetre DOS?(car je pense que c'est ca le prob)

Reply

Marsh Posté le 14-04-2004 à 23:58:43    

Non. Mais si tu l'execute dans une fenetre dos ou tu as enable le scroll, tu devrais pouvoir scroller pour voir ce qui n'est plus dans ta fenetre.
A+,

Reply

Marsh Posté le 14-04-2004 à 23:59:46    

ok merci
 
a+

Reply

Marsh Posté le 15-04-2004 à 00:00:24    

gilou a écrit :


Pour reprendre un proverbe chinois

mouarf, je l'ai entendu venir d'Afrique, je suis sûr qu'en Amérique Latine ils croient que ça vient de chez eux. A tous les coups, c'est un proverbe français !


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 15-04-2004 à 00:12:02    

gilou a écrit :

Non. Mais si tu l'execute dans une fenetre dos ou tu as enable le scroll, tu devrais pouvoir scroller pour voir ce qui n'est plus dans ta fenetre.
A+,

WS&R donc

Reply

Marsh Posté le 15-04-2004 à 00:13:15    

nraynaud a écrit :

mouarf, je l'ai entendu venir d'Afrique, je suis sûr qu'en Amérique Latine ils croient que ça vient de chez eux. A tous les coups, c'est un proverbe français !

:non: Le francais regardera son voisin crever de faim sans lever le petit doigt, tout en se disant que c'est le boulot de l'etat a travers les services sociaux.
A+,

Reply

Marsh Posté le 15-04-2004 à 00:15:30    

Taz a écrit :

WS&R donc

De toute facon, pour ce type de programme, de nos jours, je vois plus l'utilité de faire ca en C. Un script perl (ou python, mais les serpents, je les bouffe, je programme pas avec) ferait certainement l'affaire de maniere plus simple.
A+,

Reply

Marsh Posté le 15-04-2004 à 00:28:51    

entièrement d'accord

Reply

Marsh Posté le 15-04-2004 à 08:49:00    

Taz a écrit :

entièrement d'accord

tu veux dire que toi aussi tu bouffes les serpents ?

Reply

Marsh Posté le 15-04-2004 à 10:19:50    

SoWhatIn22 a écrit :

tu veux dire que toi aussi tu bouffes les serpents ?

J'avais bien failli répondre la même chose quand j'avais lu sa réponse. :D  
Déja mangé du serpent en conserve (chinoise), et de l'anguille.  
A+,

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed