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

  FORUM HardWare.fr
  Programmation

  [C] Besoin d'aide dans un projet de premiere année en IUT...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Besoin d'aide dans un projet de premiere année en IUT...

n°37158
thegnlpopo​v
Posté le 05-06-2001 à 21:05:19  profilanswer
 

Je suis en train de faire un MASTERMIND en C, et je cherche qq1 qui pourrai me corriger mon projet et me donner des conseils, parce que ça bug un peu et j'en voit pas le bout....ça m'ennerve...
 
Merci aux ames charitables....


---------------
I'm the POPOV masqué !!   ;)
mood
Publicité
Posté le 05-06-2001 à 21:05:19  profilanswer
 

n°37182
thegnlpopo​v
Posté le 05-06-2001 à 21:55:28  profilanswer
 

Ayez pitié de moi svp!!!   :cry:  
 
Je veux juste un peu d'aide de qq1 qui ppourrai me dire pourkoi ça marche pas..., mais je dois envoyer les sources, ça ferait trop gros ici...+


---------------
I'm the POPOV masqué !!   ;)
n°37184
TheJackal
Posté le 05-06-2001 à 21:57:16  profilanswer
 

jsuis pas un gros boss mais balance quand meme:
 
deathsharp@wanadoo.fr
 
par contre je pourrai pas te repondre aujourdhui

n°37186
Evadream -​jbd-
Posté le 05-06-2001 à 22:02:15  profilanswer
 

Je suis pas une lumière non plus, mais si jamais je peux t'aider :)
 
evadream.forum@free.fr
 
@+


---------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding
n°37190
thegnlpopo​v
Posté le 05-06-2001 à 22:11:58  profilanswer
 

Merci !
 
J'avance encore un peu et je balance !  
C sympa!   :hello:


---------------
I'm the POPOV masqué !!   ;)
n°37192
Neo80
Posté le 05-06-2001 à 22:17:09  profilanswer
 

Tu as de la chance de le faire en C.
Il y a 2 ans, je me le suis tapé en assembleur.
Je voudrais bien t'aidé mais mois aussi j'ai des programmes et des rapports à finir cette nuit pour demain.
Je pourrais t'aidé qu'à partir de mercredi prochain, autrement dit trop tard je pense.
 
Ca devrait être assez simple en C, non ?
D'ailleurs je ne me souviens même plus des rêgles du mastermind.
Bon courage!!!

n°37194
thegnlpopo​v
Posté le 05-06-2001 à 22:19:06  profilanswer
 

ben en fait la difficulté elle est dans les options:
sauvegardes, mode graphique, ....
 
Moi j'aime bien l'ASM, suit pas trop mauvais dans ça !  :D


---------------
I'm the POPOV masqué !!   ;)
n°37195
Neo80
Posté le 05-06-2001 à 22:29:20  profilanswer
 

Tu utilises quoi pour gérer le mode graphique ?

n°37196
thegnlpopo​v
Posté le 05-06-2001 à 22:32:29  profilanswer
 

pas encore commencé le mode graphic, j'attend que le mode texte marche parfaitement bien.
 
Sinon j'utilise les bibli graphiques normales....


---------------
I'm the POPOV masqué !!   ;)
n°37199
Neo80
Posté le 05-06-2001 à 22:51:41  profilanswer
 

Je te conseille d'utiliser Opengl car c'est beaucoup plus simple à utiliser que Dx.

mood
Publicité
Posté le 05-06-2001 à 22:51:41  profilanswer
 

n°37209
thegnlpopo​v
Posté le 05-06-2001 à 23:17:52  profilanswer
 

arf !
 
Nan, j'en suis pas encore à l'optimisation geforce3...  :lol:  
 
Quand je dis graphic, c du 16 couleurs en dos..


---------------
I'm the POPOV masqué !!   ;)
n°37214
Neo80
Posté le 05-06-2001 à 23:28:32  profilanswer
 

Ouais mais tu peux faire un truc simple en 2D en Opengl facilement.

n°37215
thegnlpopo​v
Posté le 05-06-2001 à 23:31:21  profilanswer
 

plus facilement que le mode 16 couleurs?


---------------
I'm the POPOV masqué !!   ;)
n°37219
Neo80
Posté le 06-06-2001 à 00:05:35  profilanswer
 

Ton mode 16 couleurs, tu l'initialises en assembleur ou avec les vieilles librairies graphiques des compilateurs ?
J'ai jamais utilisé les vieilles librairies graphiques (j'ai commençé directement par Opengl) alors te dire si c'est plus facile, je ne sais pas.
En tout cas, l'Opengl c'est facile d'accès et simple.

n°37220
thegnlpopo​v
Posté le 06-06-2001 à 00:13:41  profilanswer
 

les vieilles bibli..
tu connais pas un site qui peut m'expliquer comment ça marche?


---------------
I'm the POPOV masqué !!   ;)
n°37222
thegnlpopo​v
Posté le 06-06-2001 à 00:18:07  profilanswer
 

Dis, Neo, tu aurais pas fait un projet de compta l'année derniere?


---------------
I'm the POPOV masqué !!   ;)
n°37223
Neo80
Posté le 06-06-2001 à 00:25:47  profilanswer
 

Non je n'ai pas fait de projet de compta, désolé.
Pour les vieilles librairies, j'ai eu du mal à trouver de l'aide sur cela, de plus si tu utilises VC++6, tu n'auras pas ces anciennes librairies (ton choix sera Dx ou Opengl)
C'est pour cela que j'ai directement opté pou Opengl.

n°37225
thegnlpopo​v
Posté le 06-06-2001 à 00:41:29  profilanswer
 

ok... moi je suis avec Borland, c pour ça....


---------------
I'm the POPOV masqué !!   ;)
n°38296
thegnlpopo​v
Posté le 08-06-2001 à 21:39:59  profilanswer
 

J'ai une colle:
Où est l'erreur ? (des fois ça plante, des fois ça afficher un nom et un score n'importe comment et en trop, des fois ça marche bien...)
 
void affhs()
{int i,nbr,j;
joueur gamer;
joueur temp=NULL;
boolean fintris;
 
FILE * fic;
 
fic=fopen("score.hs","rb" );
if (fic==NULL)
 {printf("\n Aucune partie n'a ete lancee." );
 }
else
 {temp=(joueur)malloc(sizeof(struct player));
 nbr=0;
 fread(temp,sizeof(struct player),1,fic);
 
 while (!feof(fic))
  {nbr++;
  fread(temp,sizeof(struct player),1,fic);
  gamer=(joueur)malloc(nbr*(sizeof (struct player)));
  rewind(fic);
  for(i=0;i<nbr;i++)
   {fread(&gamer[i],sizeof(struct player),1,fic);
   }
 
   if (nbr>1)
   {for(i=0;i<(nbr-1);i++)
    {for(j=i+1;j<nbr;j++)
     {if((gamer[i]).score<(gamer[j]).score)
      {*temp=gamer[j];
      gamer[j]=gamer[i];
      gamer[i]=*temp;
      }
     }
    }
   }
 
 
  }
 
 
 
 for(i=0;i<nbr;i++)
  {printf("\n Nom:  %s   Score   %d  ",((gamer[i])).nom,((gamer[i])).score);
  getch();
  }
 
 }
 
fclose(fic);
 
}
 
(un conseil, copiez ça ailleurs)
 
 
Alors, koi de neuf docteur?
Serieux c'est urgent et je trouve pas.
Encore une chose, les structs sont declarés ainsi:
 
struct player {char nom[13]; int score;};
typedef struct player * joueur;
 
struct cellule {char info[6];struct cellule * suiv;};
typedef struct cellule * liste;
 
struct sauvegarde {char nom[13]; int score; char code[6];};
typedef struct sauvegarde * sauvecontexte;


---------------
I'm the POPOV masqué !!   ;)
n°38340
thegnlpopo​v
Posté le 09-06-2001 à 09:58:18  profilanswer
 

personne trouve ??? :ouch:  
 
Please !  Je pete un cabele là ! :pt1cable:


---------------
I'm the POPOV masqué !!   ;)
n°38341
Evadream -​jbd-
Posté le 09-06-2001 à 10:37:36  profilanswer
 

Tu peux envoyer ton code complet qqpart ? Ca serait plus pratique. Si tu veux tu me l'envoie par mail cf. profile et je le mets à sur free.
 
@+

 

[edit]--Message édité par Evadream -jbd---[/edit]


---------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding
n°38342
Evadream -​jbd-
Posté le 09-06-2001 à 10:51:54  profilanswer
 

Bon j'ai pas de solution, j'ai regardé rapidement ton code, et je suis pas une lumière hein :)
 
Cependant j'ai l'habitude de déclarer cà :
 
struct player {char nom[13]; int score;};
typedef struct player * joueur;
 
struct cellule {char info[6];struct cellule * suiv;};
typedef struct cellule * liste;
 
struct sauvegarde {char nom[13]; int score; char code[6];};
typedef struct sauvegarde * sauvecontexte;

 
comme cà :
 
typedef struct
    {
    char nom[13];
    int score;
    }player;
 
typedef struct _cellule          // liste chainée
    {
    char info[6];
    struct _cellule *suiv;
    }cellule;
 
typedef struct
    {
    char nom[13];
    int score;
    char code[6];
    }sauvegarde;
 
 
Ensuite je remplace les :
 
typedef struct player * joueur;
typedef struct cellule * liste;
typedef struct sauvegarde * sauvecontexte;

 
par ( dans le main cette fois )
 
player     *joueur;
cellule    *liste;
sauvegarde *sauvetexte;

 
 
Bon ca ne t'aide pas bcp, mais je pense que ca rend la chose plus net, c'est peut être un point de vue personel.
 
A propos du typedef struct de la liste chainée, tu peux remarqué qu'il est reperé par 2 noms différents.
 

  • cellule est le nom qui sera utilisé dans la suite du programme
  • _cellule est seulement utilisé pour crée la récursivité


 
Cette écriture permet ensuite d'éviter d'écrire struct xxx un peu partout dans le programme.
 
Tiens nous au courant !
 
@+

 

[edit]--Message édité par Evadream -jbd---[/edit]


---------------
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding
n°38344
verdoux
And I'm still waiting
Posté le 09-06-2001 à 10:59:19  profilanswer
 

J'ai l'impression que ton code fait vraiment n'importe quoi.  
Rajoute des commentaires pour expliquer ce que tu penses qu'il fait (ou doit faire). Par exemple à quoi sert le rewind ?

n°38345
Acidman
no comment
Posté le 09-06-2001 à 10:59:58  profilanswer
 

je suis pas une lumiere mais je te conseil d'initialiser tous tes tableaux avec memset ca peut eviter souvent que tu trouve n'importe quoi dedans et ca peu peut etre corriger des problemes
comme le faite que l'on t'affiche des truc en trop ou n'importe
quoi.
Je te dis ca car tu utilise des tableaux dynamique:-))

n°38354
thegnlpopo​v
Posté le 09-06-2001 à 12:37:07  profilanswer
 

Merci !
 
Sinon l'ecriture que j'ai des structs et celle proposée est sensiblement la meme, question d'habitude.
 
Sinon le programme normallement lis un fichier contenant des structs joueurs. Il regarde combien y'en à (il incr nbr). Puis rembobine ce fichier (rewind) et prend les structs qu'il met dans un tableau qu'il tris ensuite dans l'ordre decroissant.
Ensuite il les affiches.
Voilà.    Et non il fait pas n'importe koi! :na:  
 
Le principe est de faire une sorte de hight score...


---------------
I'm the POPOV masqué !!   ;)
n°38436
djfm
Posté le 09-06-2001 à 21:55:20  profilanswer
 

boulala les high scores.... javais essaye de faire ca pour je c pu koi.... c galere bonne chance(fo dire ke je suis pas iune reference)
 
ps: c koi les regles du mastermind?


---------------
Do you serve a purpose,Or purposely serve?
n°38438
verdoux
And I'm still waiting
Posté le 09-06-2001 à 22:06:09  profilanswer
 

thegnlpopov a écrit a écrit :

Merci !
Sinon le programme normallement lis un fichier contenant des structs joueurs. Il regarde combien y'en à (il incr nbr). Puis rembobine ce fichier (rewind)  




Non, il ne fait pas ça.

n°38440
gilou
Modérateur
Modzilla
Posté le 09-06-2001 à 22:33:16  profilanswer
 

Primo, c'est programme n'importe comment, et secondo, cet extrait devrait te donner une idee d'une (parmi d'autres) erreur:
 
while (!feof(fic))
  {
  fread(temp,sizeof(struct player),1,fic);  
  ....
  rewind(fic);
  .....
  }
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°38442
poirson
Posté le 09-06-2001 à 22:37:38  profilanswer
 

bizzare tous ces master, car moi j'en ai eu 1 en projet cette année mais en java ....
Si tu veux un idée de mon interface :
http://www.gt-drivers.com/mastermind/
c'est l'adresse de mon aide qui est en ligne, j'avais fait un petit navigateur pour l'aide  
bon chance pour ton master

n°38449
thegnlpopo​v
Posté le 09-06-2001 à 23:04:20  profilanswer
 

Et bien Bravo à Gilou !       :hello:  
Et tu as raison le prog est tres mal structuré, mais bon je fais ce que je peux...
 
Il semble que le rewind ne se trouvait pas où il fallait...
 
Pourtant cette erreur n'est pas sur ma disquette de sauvegarde... Je pense qu'en retirant les printf afin de tester l'algo, j'ai supprimé un } où il ne fallait pas puis rajouté ailleur qd le compilo m'a fait l'erreur....  et par manque de bol ça marchait un peu au lieu de pas du tout.
 
C'est surtout en voyant que le prog ne marchait plus chez moi j'ai laissé tomber et reclamé votre aide. En fait j'aurais dut reverifier mais j'en avais plus que marre.
 
Encore merci à tous, maintenant ça marche impec!  :)


---------------
I'm the POPOV masqué !!   ;)
n°38450
gilou
Modérateur
Modzilla
Posté le 09-06-2001 à 23:14:57  profilanswer
 

Bon deja, au lieu de calculer la taille en bouclant a coup de fread, ca serait nettement pluws efficace si tu obtenais la taille du fichiet (stat sous unix, _stat sous dos/windows) et que tu divises par la taille de ta structure.
 
Ensuites, pourquoi boucler en lecture, puisque tu connais le nombre total? Ceci me semblerait plus approprie:
gamer=(joueur)malloc(nbr*(sizeof (struct player)));  
fread(gamer,sizeof(struct player),nbr,fic);  
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°38466
thegnlpopo​v
Posté le 10-06-2001 à 00:30:10  profilanswer
 

ok, merci. Je vais essayer....


---------------
I'm the POPOV masqué !!   ;)
mood
Publicité
Posté le   profilanswer
 


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

  [C] Besoin d'aide dans un projet de premiere année en IUT...

 

Sujets relatifs
ProjetA L'AIDE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
J'ai besoin de vous tous !!![VB] Question toute bête sur la sauvegarde d'un projet...
Demande de l,aide pour les cgi et pour Apache!UBB6 j'aurai besoin d'aide svp (chui paumé)
[.HLP] Fichier d'aide Windows .hlp[Corba] besoin d'info
[VC++] et le nom du projet ... 
Plus de sujets relatifs à : [C] Besoin d'aide dans un projet de premiere année en IUT...


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