Page 1 sur 2 12 DernièreDernière
Résultats de 1 à 10 sur 13

Sujet : Projet gestion de client

  1. #1

    Projet gestion de client

    Bonjour voila, j\'ai un probleme avec mon projet en langage C de fin d\'année, plus qu\'un 5 jours et malheureusement, il foire partout. quelqu\'n pourrait-il m\'aider et me dire pourquoi dans mes recherches la modification ne fonctionne pas merci d\'avance Michel

    Le fichier principal est le M.CCp qui appele Le F.H
    projet en zip (6ko): http://users.skynet.be/fa001385/projet.zip
    N\'oublier pas de changer les adresses des fopen().

    Si vous avez trouvez mon probleme, pourrivez-vous l\'envoyer à mon adresse email : fartman_survivor@hotmail.com
    Ne plus m\'envoyer de mail apres le 2 juin car il sera trop tard...
    merci

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    2 538
    SAlut,

    je ne pense pas que quelqu\'un viendra t\'aider comme ça, en donnant tt ton code en pature .... Séléctionne les parties qui ne marche pas, fait une synthese du problème, séléctionne le code incriminé et peut être qu\'on pourra t\'aider ...

    Parce que la, c\'est pas que ton prog soit très compliquer mais le temps de tout étudier, ça va etre long, et moi le premier, je n\'est pas trop le tps d\'approfondir tt un programme comme le tien ...
    Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com

  3. #3
    Mon probleme est que lorsque je lance cette fonction, il me trouve le client mais il refuse de le modifier(nom,prenom,etc...)


    //**RECHERCHE CLIENT********

    void recherch_client()

    {

    FILE *f;int i,count=0,ok=0;

    char nom[50];int sw=0;

    struct fiche personne;

    char rep,rep3;int rep2;

    clrscr();
    printf(\"RECHERCHE PAR NOM : \");
    fflush(stdin);
    scanf(\"%s\",&nom);strlwr(nom);
    f=fopen(\"f:/TURBOC3/client.dat\",\"r+b\");

    if(f!=NULL)

    {

    fread(&personne,sizeof(personne),1,f);
    while(!feof(f) && ok==0)
    {
    if(strcmp(nom,personne.nom)==0)
    ok=1;
    {
    tab();
    gotoxy(10,15);printf(\"%s\",personne.nom);
    gotoxy(13,19);printf(\"%s\",personne.prenom);
    gotoxy(10,23);printf(\"%s\",personne.rue);
    gotoxy(18,27);printf(\"%s\",personne.cpostal);
    gotoxy(48,27);printf(\"%s\",personne.commune);
    gotoxy(16,31);printf(\"%s\",personne.telephone);
    gotoxy(44,31);printf(\"%s\",personne.gsm);
    gotoxy(67,31);printf(\"%s\",personne.fax);
    gotoxy(20,35);printf(\"%s\",personne.tva);
    gotoxy(15,43);printf(\"Voulez-vous modifier un ‚l‚ment de cette fiche ?\");
    scanf(\" %c\",&rep);fflush(stdin);
    if(rep==\'o\'||rep==\'O\')

    {
    clrscr();gotoxy(15,2);
    printf(\"Entrez le num‚ro que vous voulez modifier : \");
    printf(\"\\n1.Nom \\n2.Prenom \\n3.Rue \\n4.Code postal \\n5.Commune \\n6.telephone \\n7.GSM \\n8.FAX \\n9.TVA \\n10.EXIT\");
    do
    {
    scanf(\"%d\",&rep2);fflush(stdin);

    switch(rep2)

    {

    case(1)rintf(\"Nouveau NOM : \"); scanf(\"%s\",personne.nom);clrscr();tab();menu2(2) ;break;
    case(2)rintf(\"Nouveau PRENOM : \"); scanf(\"%s\",personne.prenom);clrscr();tab();menu2 (2);break;
    case(3)rintf(\"Nouvelle RUE : \"); scanf(\"%s\",personne.nom);clrscr();tab();menu2(2) ;break;
    case(4)rintf(\"Nouveau CODE POSTAL : \"); scanf(\"%s\",personne.cpostal);clrscr();tab();menu 2(2);break;
    case(5)rintf(\"Nouvelle COMMUNE : \"); scanf(\"%s\",personne.commune);clrscr();tab();menu 2(2);break;
    case(6)rintf(\"Nouveau TELEPHONNE : \"); scanf(\"%s\",personne.telephone);clrscr();tab();me nu2(2);break;
    case(7)rintf(\"Nouveau GSm : \"); scanf(\"%s\",personne.gsm);clrscr();tab();menu2(2) ;break;
    case(8)rintf(\"Nouveau FAX : \"); scanf(\"%s\",personne.fax);clrscr();tab();menu2(2) ;break;
    case(9)rintf(\"Nouveau TVA : \"); scanf(\"%s\",personne.tva);clrscr();tab();menu2(2) ;break;
    case(10):clrscr();tab();menu2(2);break;

    }
    }while(rep2<1&&rep2>10);
    clrscr();
    fseek(f,-1L*sizeof(personne),1);
    fwrite(&personne,sizeof(personne),1,f);
    tab();menu2(1);
    }
    }
    //else printf(\"recherche de la personne du meme nom\");
    fread(&personne,sizeof(personne),1,f);
    }
    }
    fclose(f);
    }

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    2 538
    est tu sur que ton fseek fonctionne correctement, il te place bien au bon endroit ?? lorsque tu utilise fwrite, est ce qu\'il ecrit malgré tout quelque chose dans ton fichier ?

    Tu dois pouvoir regarder dans ton fichier, c\'est de l\'ACSII normalement
    Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com

  5. #5
    disons qu\'il ecrit lors de la saisie mais pour la recherche il ne m\'affiche même pasle nom désiré en une fois car il passe par les enregistrment qu\'il précède. Au niveau du fwrite, je sais que si je recherche le nouveau nom il m\'affiche la fiche de l\'ancien nom mais il ne modifie en rien le fichier. tandis que le fseek, je n\'ai fait que reprendre un exemple du cours et donc je ne peux pas répondre à cette questionn ops: .

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    2 538
    oulala ... lol

    j\'en conclue que si lorsque tu utilise la recherche tu n\'arrive pas a placer ton pointeur au bon endroit, il est normale que ton fseek de modification ne marche pas non plus ...

    Pour le fwrite, il n\'affiche rien mais sert seulement à écrire dans le fichier ( me semble t\'il ).

    Il y\'a surment un problème dans ta gestion de ton fichier sequentiel. Essai deja de reparer ton seek et de le deplacer correctement pour recuperer la structure voulu. Je pense que ça sera déjà un bon point de départ.

    JAMAC ( membre MP ) est notre spécialiste fichier sequentiel, en PHP certe, mais il pourra peut être mieux t\'aider.
    Admin retraité du site MoteurProg.Com" la meilleur façon de remercier est de pouvoir aider les autres à son tour !! "http://www.moteurprog.com

  7. #7
    c\'est gentil, j\'espere qu\'il pourra m\'aider car sinon je suis en second sess LOL.

  8. #8
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    Salut, j\'ai pris mon cours de C avancé, au chapitre fseek, je cite:

    int fseek(FILE* stream, long offset, int origin)
    Le deplacement de taille offset se fait a partir de la positionorigin qui peut prendre les valeurs predefinies suivantes:
    on passe a la suite.
    Le code de retour est 0 en cas de succes ou non nul si le deplacement ne pas pas etre realise.

    don teste le retour de fseek.
    Puis :
    fseek(f,-1L*sizeof(personne),1);
    fwrite(&personne,sizeof(personne),1,f);

    a la place de -1L*sizeof(personne), car la tu parts de la fin et remontes d\'une personne, si tu connais la combein ieme c\'est on va dire la Tieme
    essayes
    fssek(f,T*sizeof(personne),0);
    ca fait partir de 0 et avance de T personne.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    6 517
    J\'ai peut etre trouvé, tu l\'ouvres en r+b.
    Peut etre qu\'il n\'aime pas le b mais juste r+.

    Apres s\'il les passe ts un a un c\'est normal car pour ton while (!feof ok...)
    il ne se ferme que

    nom\");
    fread(&personne,sizeof(personne),1,f);
    }
    la a la fin apres avoir fait tout ce qui est pour la modif.

    Dans le switch case, tu devrais faire un afficher des valeurs modifiées avant.
    Et quand tu écris, zssaye de lui demander qu\'il rajoutre une betise juste pour voir s\'il l\'ecrit.
    Ou sinon le fseek d\'avant etait juste ne pas prendre ne compte l\'ancien post dessus.
    Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
    N'oubliez pas le Tag [Résolu]http://www.ressources.moteurprog.com...rum/Resolu.gif.

    Initiez-vous à Delphi avec Turbo Delphi Explorer, au C ou au C++ avec Code::Blocks et C# avec Visual C# 2005 Express.

  10. #10
    au niveau du while c\'est arranger il n\'ouvre plus que la fiche demandé, mais il n\'ya toujours pas de modif qui se deroule

Page 1 sur 2 12 DernièreDernière

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé