hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, vous devez
 
inscrire sur notre forum a partir d'ici
 
  NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
forum d'aide informatique : internet, réseau, programmation informatique ...
une erreur dans le code
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Espace étudiants -> Cours & Documentations -> Programmation C
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
doudou


Hors ligne

Inscrit le: 10 Sep 2010
Messages: 15
Féminin
Point(s): 16
Moyenne de points: 0

Posté le: Mer 28 Mar - 11:49 (2012)    Sujet du message: une erreur dans le code Répondre en citant

PublicitéSupprimer les publicités ?
j'ai écrit ce code qui permet de saisir une liste puis afficher le nombre d’occurrence d'un entier entré dans le champ code ,le problème est que ce code s’exécute mais il ne compte pas le nombre d’occurrence Sad pouvez vous m'aider ?  (dev /c++)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

struct etudiant
{
    char nom[25];
    char prenom[20];
    int age;
    int code;
    struct etudiant * suivant ;
};

typedef struct etudiant etudiant;
typedef etudiant liste;

// fonction ajouter debut
liste * ajouter_debut (liste * ma_liste)
{  
    liste * nouv_etudiant;
    nouv_etudiant=(liste*)malloc(sizeof(liste));

    printf("le nom est:\n");
    scanf("%s",(nouv_etudiant -> nom));
   
    printf("son prenom est: \n");
    scanf("%s",(nouv_etudiant -> prenom));
   
    printf("son age est:\n");
    scanf("%d",&(nouv_etudiant -> age));
   
    printf("son code est:\n");
    scanf("%d",&(nouv_etudiant -> code));

    nouv_etudiant -> suivant = ma_liste;


return(nouv_etudiant );

}


//fonction recherche

liste* rech(liste* ma_liste,int x)
{liste *p=ma_liste;
  while (p !=NULL)
       {  if (p->code == x)
                       { /* printf("%s",p->nom);
                        printf("%s",p->prenom);
                       printf("%d",p->age); */
                      return(p);
                       }
                   p=p->suivant;
          
       }
           return(NULL);
}
 //fonction nombre d'occurence
int nb_occ(liste* ma_liste,int x)
{ int cp=0;
   
if (ma_liste==NULL)
return(0);

else

    while( (ma_liste = rech(ma_liste,x)) !=NULL)
{
ma_liste=ma_liste->suivant;
cp++ ;
}
return(cp);
}
}

//fonction affiche

void affiche(liste* ma_liste)
{
    liste *temp;
    temp = ma_liste;       
 
         while(temp !=NULL)
        {
            printf("le nom est %s \n",temp->nom);   
            printf("son prenom est: %s \n",temp->prenom);
            printf("son age est:%d \n",temp->age);
            printf("son code est: %d \n \n",temp->code);
   
          temp=temp->suivant;
        }
}

int main()
{
    liste* ma_liste;
ma_liste=NULL;

int n,i,v,x;

printf("n=");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
ma_liste=ajouter_debut(ma_liste);
}
affiche(ma_liste);

printf("x=");
scanf("%d",&x);


v = nb_occ(ma_liste,x);
printf("le nombre d'occurence est %d \n",v);


system("pause");

return(0);

}


 
Revenir en haut
evileyes


Hors ligne

Inscrit le: 23 Aoû 2012
Messages: 1
Point(s): 1
Moyenne de points: 0

Posté le: Jeu 23 Aoû - 18:39 (2012)    Sujet du message: une erreur dans le code Répondre en citant

tu n'as qu'a faire merger les fonction nb_occ() et rech() comme ci:

 
Code:

int nb_occ(liste* ma_liste,int x)
{
   int cp=0;
   while (ma_liste)
   {
       if (ma_liste->code == x) cp++;
       ma_liste = ma_liste->suivant;
   }
   return(cp);
}
 


 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 17:05 (2016)    Sujet du message: une erreur dans le code

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Espace étudiants -> Cours & Documentations -> Programmation C Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation