Programme c
Fermé
hooda
-
Modifié par hooda le 26/03/2012 à 23:10
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 28 mars 2012 à 23:24
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 28 mars 2012 à 23:24
A voir également:
- Programme c
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Forcer la fermeture d'un programme - Guide
- Sms programmé - Guide
2 réponses
ce problème est posé depuis longtemps jusqu'au j'ai arrivé à le résoudre par moi même et encore pas de réponse !c bizarre mais comment fonctionne ce fameux forum !! y a pas de membre ou quoi !
bonjour,
merci beaucoup excusez mon attitude, ce problème m'a énormément stressée et j'avais personne pour m'aider ,en fait c'était pas seulement un problème de virgule mais il était un disfonctionnement dans l'exécution.. merci en tout cas
merci beaucoup excusez mon attitude, ce problème m'a énormément stressée et j'avais personne pour m'aider ,en fait c'était pas seulement un problème de virgule mais il était un disfonctionnement dans l'exécution.. merci en tout cas
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
28 mars 2012 à 21:08
28 mars 2012 à 21:08
Encore une fois, merci de mettre le message d'erreur et de préciser la ligne qui s'y rapporte...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
28 mars 2012 à 21:11
28 mars 2012 à 21:11
Encore une fois, merci de mettre le message d'erreur et de préciser la ligne qui s'y rapporte.
il ne s'agit pas d'une ligne, mais au cours de l'exécution il ne compte pas le nombre d'occurrence autrement ,je pense qu'il y a un erreur au niveau de la fonction qui compte le nombre d'occurrence .
voici le code :
#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)
{
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);
}
voici le code :
#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)
{
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);
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
Modifié par fiddy le 28/03/2012 à 23:25
Modifié par fiddy le 28/03/2012 à 23:25
Heureusement que j'ai dit de poster le code dans des balises "codes" (à droite de "souligner"). Sinon c'est illisible.
De plus "il ne compte pas le nombre d'occurrence autrement ". Autrement que quoi ? Pouvez-vous donner un exemple, ça sera plus simple.
De plus "il ne compte pas le nombre d'occurrence autrement ". Autrement que quoi ? Pouvez-vous donner un exemple, ça sera plus simple.
28 mars 2012 à 14:28
Nous sommes des bénévoles et nous essayons de répondre à un nombre maximum de réponses. Sauf que parfois, les posteurs ne nous aident pas vraiment. Par exemple, si vous aviez posté votre code dans les balises adéquates (balise "code" à droite du bouton "souligné") avec de l'indentation, cela aurait été beaucoup plus agréable à lire et plus simple à trouver l'erreur.
Parfois, les posteurs ne nous mettent pas non plus le message d'erreur qu'ils mentionnent. Comme vous pouvez vous l'imaginer, c'est très utile puisque cela précise d'où vient l'erreur avec la ligne.
Pour ne pas faire un post inutile, j'ai regardé le début du main et déjà, je rencontre une erreur qui peut faire râler le compilateur : int n,i,; (pas de virgule avant le point virgule).
Ce qui nous aiderait aussi, ce serait d'avoir la définition de la structure list.
Cdlt,