Accueil > Forum > > > > supprimer dans un fichier
supprimer dans un fichier
mercredi 20 août 2008 à 20:59:26 |
supprimer dans un fichier

juju0612
|
donc voila mon programme fais une gestion d'un club de foot!!donc ici c pour supprimer des joueurs. tout marche sauf que j'ai un probleme avec ma fonction supprimer voila donc ma fonction doit demander quel nom doit etre supprimer et le trouver (sa sa marche)puis je demande si c la bonne personne et la si je tape O ou o le nom ainsi que toute ses infos doivent se supprimer(mais sa sa marche pas)
est ce que vous pouvez m'aider? merci d'avance de prendre quelque minute pour moi et mon programme. voila ma fonction.
void supression() { titre(); printf("\n suppression\n "); struct enreg fiche; struct tmp TMP; FILE *f; FILE *tp; char n[30],rep; printf("\nNom a supprimer :"); fflush(stdin); gets(n); strlwr(n); f=fopen("joueurs.dat","r+b"); tp=fopen("temp.dat","a+b"); if(f!=NULL) { fread(&fiche,sizeof(fiche),1,f); { if(strcmpi(fiche.nom,n)==0) { printf("\nnom : %s",fiche.nom); printf("\nprenom : %s",fiche.prenom); printf("\nposte : %s",fiche.poste); printf("\nEst-ce la personne que vous cherchez ?"); scanf(" %c",&rep); if(rep=='O'||rep=='o') while(!feof(f)) { strcpy(TMP.categorie,fiche.categorie); strcpy(TMP.nom,fiche.nom); strcpy(TMP.prenom,fiche.prenom); strcpy(TMP.datenais,fiche.datenais); strcpy(TMP.pied,fiche.pied); strcpy(TMP.numero,fiche.numero); strcpy(TMP.rue,fiche.rue); strcpy(TMP.numeromaison,fiche.numeromaison); strcpy(TMP.codepostal,fiche.codepostal); strcpy(TMP.poste,fiche.poste); fwrite(&TMP,sizeof(TMP),1,tp); } fread(&fiche,sizeof(fiche),1,f); fseek(f,-1L*sizeof(fiche),SEEK_CUR); fwrite(&fiche,sizeof(fiche),1,f); } //fin de test si bonne personne } } fclose(f); fclose(tp); if(!feof(f)) { remove("joueurs.dat"); rename("temp.dat","joueurs.dat"); } }
|
|
jeudi 21 août 2008 à 10:04:37 |
Re : supprimer dans un fichier

fregolo52
|
Si ton code est complet, il est bizarre, tu n'as pas de boucle while pour rechercher la personne en question.
Ton 'if' suivi de 'while' sans accolade dans les 2 me parait dangeureux, assure le coup en mettant les accolades.
A la fin fread fseek et fwrite servent à quoi ? tu passes par un fichier temporaire, donc quel est l'intéret de modifier le fichier d'origine ?
|
|
jeudi 21 août 2008 à 11:26:43 |
Re : supprimer dans un fichier

juju0612
|
donc voila merci de ton aide j'ai mis une boucle while j'ai mis les acolades et supprimer fseek et fxrite à l fin. mais cela donne le même resusltat.et stoppe apres le if O ||o .Et je ne vois se qu'il cloque!. quand je tape sur O||o il arrete sa recherche de nom et jusqu'a la fin du fichier vas copier dans TMP . qu'est ce qu'il ne va pas ? merci encore fregolo52
void supression() { titre(); printf("\n suppression\n "); struct enreg fiche; struct tmp TMP; FILE *f; FILE *tp; int sw=0; char n[30],rep; printf("\nNom a supprimer :"); fflush(stdin); gets(n); strlwr(n); f=fopen("joueurs.dat","r+b"); tp=fopen("temp.dat","a+b"); if (f==NULL) printf("le fichier n'existe pas"); else { fread(&fiche,sizeof(fiche),1,f); while(!feof(f)&&(sw==0)) { if(strcmpi(fiche.nom,n)==0) { printf("\nnom : %s",fiche.nom); printf("\nprenom : %s",fiche.prenom); printf("\nposte : %s",fiche.poste); printf("\nEst-ce la personne que vous cherchez ?"); scanf(" %c",&rep); if(rep=='O'||rep=='o') {sw=1; while(!feof(f)) { strcpy(TMP.categorie,fiche.categorie); strcpy(TMP.nom,fiche.nom); strcpy(TMP.prenom,fiche.prenom); strcpy(TMP.datenais,fiche.datenais); strcpy(TMP.pied,fiche.pied); strcpy(TMP.numero,fiche.numero); strcpy(TMP.rue,fiche.rue); strcpy(TMP.numeromaison,fiche.numeromaison); strcpy(TMP.codepostal,fiche.codepostal); strcpy(TMP.poste,fiche.poste); fwrite(&TMP,sizeof(TMP),1,tp); } fread(&fiche,sizeof(fiche),1,f); } //fin de test si bonne personne } } } fclose(f); fclose(tp); if(!feof(f)) { remove("joueurs.dat"); rename("temp.dat","joueurs.dat"); } }
|
|
jeudi 21 août 2008 à 13:06:40 |
Re : supprimer dans un fichier

fregolo52
|
ton "bug" c'est que si la réponse est 'O' ou 'o' tu écrits dans TMP, alors qu'il ne faut pas !! Fait un fread juste apres sw=1; pour passer direct au suivant. De plus dans ton code, tu supprimes toutes les personnes avant le nom à supprimer vu que tu sauvegardes dans TMP qu'a partir du nom recherché. tu devrais faire : - ouverture des 2 fichier fread fichier source while !feof test du nom si c'est pas celui qu'on veut écrire dans le fichier TMP les donnees fread source sinon (c'est la personne a supprimer) fread fichier source (pour passer tout de suite au suivant) tu fais ton while pour tout copier dans TMP break (pour sortir du while principal) fin si fin while feof
|
|
jeudi 21 août 2008 à 14:56:40 |
Re : supprimer dans un fichier

juju0612
|
lorsque tu dit
test du nom si c'est pas celui qu'on veut écrire dans le fichier TMP les donnees fread source
le test c le IF je reponds non a la question ecrire comment avec fwrite?? fread(&fiche,sizeof(fiche),1,f);
break (pour sortir du while principal)
le break je le fais comment un simple acolades suffit non?
merci encore
|
|
vendredi 22 août 2008 à 11:44:22 |
Re : supprimer dans un fichier

juju0612
|
deso pour se UP mais là je galére
j'ai reflechie et je dois copier tout se qu'il y a devant le nom et apres le nom!!!
mais c sa que je sais pas faire!!
là je ne copie que se qui a apres seulement(et encore c bug apres la question)
merci a++
|
|
samedi 23 août 2008 à 11:24:20 |
Re : supprimer dans un fichier

juju0612
|
bonjour!! bon ben deso encore mais perso ne sais ressoudre mon probleme
je vois tout plein de personne passer mais personne ne poste. et une reponse pourrai mettre trés utile.
SVP donc ma fonction supprimer doit demander un nom le trouver et puis copie tout sauf se nom
merci d'avance
|
|
Cette discussion est classée dans : supprimer, printf, fiche, tmp, strcpy
Répondre à ce message
Sujets en rapport avec ce message
fonction supprime tous!! [ par juju0612 ]
bonjour à tous!!!voila ma fonction supprimer doit supprimer que le nom que je lui donne mais il supprime tous!!et je ne vois pas pourquoi!!comment res
supprimer un variable [ par Nagalta ]
Bonjour je suis débutant en c++J'ai visiblement un probleme de memory leak dans mon programme.visiblement cela vient du fait que je reatribut des vale
Problème de code (tri et structure) [ par krolis ]
Salut tout le monde, je rencontre un problème lors de l'exécution de ce code au niveau du tri par notes. Veuillez m'aidez s'il vous plaît. Merci d'ava
Enregister un tableau de structures dans un fichier [ par krolis ]
salut tout le monde. Je voudrais savoir comment faire pour enregistrer un tableau de structure dans un fichier. J'ai essayé mais ça marche pas. Veuill
Liste chainéés [ par anek971 ]
Bonjour a tousEnfaite il y a déà eu un poste sur le site sur ce sujet mais ayant le mm tp a faire je me suis rendu compte ke sa fonction quitter ne ma
pkoi c amarche pas !!!!!!!!!!! [ par zebrahead ]
j'ai un souci pkoi ca marche paaa,ouinnn, aider moi sivoupléééé,thanks a tous les mecs qui touchent tellement qui sauront trouver la finte,#include#de
Assez Urgent problème de gestion dans les fichiers [ par bugs2600 ]
Salut,Je suis en train de faire un programme de gestion de fichier mais j'ai un problème pour faire une fonction de suppression des menbres.Voici ce q
besoin d'aide : liste chainée [ par SemBy ]
salutjutilse une liste chainée pour pouvoir traité une structure.declaration de ma structure :struct etu{ char nom[25]; char prenom[25];
Problème de lecture fichier [ par nach73 ]
J'ai un enorme probleme je n'arrive pas a lire dans mon fichierVoila la partie de mon programme.Si quelqu'un peux m'aide.Merci.//ouverture du fichier
Liste chainée en C [ par Mo0d ]
Bonjour, je suis étudiant en 1ère informatique de gestion et j'ai eu quelques problèmes à mon examen d'algorithmiques(que je vais devoir repasser bien
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|