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

  FORUM HardWare.fr
  Programmation
  C++

  C suppression qui merde

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C suppression qui merde

n°129959
bistou
Vieux .... très très vieux!
Posté le 23-04-2002 à 21:11:02  profilanswer
 

voila g deux fichier :
         -un primaire
         -une zone de debordement (pour la gestion de synonymes)
 
j'effectue sur c fiches une suppression logique qui fait disparaitre les fiches au listage..
pour la zone primaire je mets la clé a 0 et tout se passe bien
mais lorsque je supprime un primaire qui a des synonymes je dois rapatrier son premier synonyme a sa place une X celui ci supprimé logiquement...
je copie donc le contenu de son ynonyme a sa place et je mets la cle du syn qui est desormais en primaire a -1
mais la clé ne se met ^pas a -1
pourtant qd je fais un pas a pas avec des watchs la clé se met bien a -1 mais ds le listage elle est tjrs a sa valeur initilae et je ne vois pas pq
voici le code de ma suppression:
 
void supprimp (struct bibli vbib,int nbmaxfich,struct biblise vbibse,int nbmaxse)
{
FILE *pt,*ps;
int pad,pad1,pad2,k,flag=0;
char rep;
 
pad=recherche(vbib,nbmaxfich);
if (pad>=nbmaxfich+1)
  {
  pad=rechsec(vbibse,nbmaxse);
  if (pad<nbmaxse+1)
    {
    printf ("\n\nVOULEZ VOUS VRAIMENT SUPPRIMER CETTE FICHE (o/n)" );
    rep=getche();
    if (rep=='o';)
      {
      ps=fopen("filsec.dat","r+b" );
      fseek(ps,(pad)*sizeof(vbibse),0);
      fread(&vbibse,sizeof(vbibse),1,ps);
      vbibse.num=-1;
      fseek(ps,(pad)*sizeof(vbibse),0);
      fwrite(&vbibse,sizeof(vbibse),1,ps);
      clrscr();
      printf ("\nCette fiche a ?t? supprim?e." );
      getch();
      }
      else
      {
      clrscr();
      printf ("\n\n\nSuppression annul?e." );
      }
    }
  }
  else
  {
  if (pad<nbmaxfich+1)
    {
    printf ("\n\nVOULEZ VOUS VRAIMENT SUPPRIMER CETTE FICHE (o/n)" );
    rep=getche();
    if (rep=='o';)
      {
      pt=fopen("file.dat","r+b" );
      ps=fopen("filsec.dat","r+b" );
      fread(&vbibse,sizeof(vbibse),1,ps);
      fseek(pt,(pad-1)*sizeof(vbib),0);
      fread(&vbib,sizeof(vbib),1,pt);
      k=0;
      do
 {
 fseek(ps,(k-1)*sizeof(vbibse),0);
        fread(&vbibse,sizeof(vbibse),1,ps);
 pad1=(vbib.numero%1000)+1;
 pad2=(vbibse.num%1000)+1;
 if (pad1==pad2)
   {
   flag=1;
   vbib.numero=vbibse.num;
   vbibse.num=-1;
   vbib.volume=vbibse.volu;                    
   strcpy(vbib.titre,vbibse.titr);
   strcpy(vbib.auteur,vbibse.aut);
   strcpy(vbib.edition,vbibse.edit);
   strcpy(vbib.date,vbibse.dat);
   fseek(ps,(k-1)*sizeof(vbibse),0);
          fwrite(&vbibse,sizeof(vbibse),1,ps);
          fseek(pt,(pad-1)*sizeof(vbib),0);
   fwrite(&vbib,sizeof(vbib),1,pt);
   fclose(ps);
   }
k++;
 }
 while (k<=nbmaxse && flag==0);
 if (k>=nbmaxse)
   {
   vbib.numero=0;
          fseek(pt,(pad-1)*sizeof(vbib),0);
   fwrite(&vbib,sizeof(vbib),1,pt);
   fclose(pt);
   }
      clrscr();
      printf ("\nCette fiche a ?t? supprim?e." );
      getch();
      }
      else
      {
      clrscr();
      printf ("\n\n\nSuppression annul?e." );
      }
    }
  }
fclose(pt);
}


---------------
:sol:
mood
Publicité
Posté le 23-04-2002 à 21:11:02  profilanswer
 

n°130063
zi_ril_wan​ou
Posté le 24-04-2002 à 10:22:54  profilanswer
 

Morcèle et commente ton code stp, crée des fonctions et procédures "statiques" de quelques lignes seulement qui par exemple contiennent les expressions résultats que tu as après chaque if et chaque else. Comme ça là c'est totalement illisible et on ne peut pas t'aider.

n°130147
HelloWorld
Salut tout le monde!
Posté le 24-04-2002 à 13:39:13  profilanswer
 

Peux-tu synthetiser ton probleme ?
Donne seulement la portion de code incriminee et dit ce qui va pas ...
La cle se met a -1 mais dans le listage elle ne se met pas a -1 ...
c'est quoi le listage :??:


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite

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

  C suppression qui merde

 

Sujets relatifs
[C] Suppression arbre binaireOUVERTURE fenetre windows pour confirmation suppression...
[Chuis une merde en C] Comment on fait ce truc de newb insidedans une Merde noire! ;( programme corrompu....comment réparer
Ca va fouttre la merde!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!COMMENT CENTRER CE MACHIN DE MERDE SVP???
[JAVA] code natif en C ou comment je suis trop dans la merde!pkoi jsui une merde en php ?
je suis pas dans la merde....Probleme de connxion sur base Mysql ché free !!! merde alors !
Plus de sujets relatifs à : C suppression qui merde


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