Petite question char C++
Fermé
kribac
Messages postés
105
Date d'inscription
mercredi 16 janvier 2008
Statut
Membre
Dernière intervention
28 avril 2016
-
21 janv. 2011 à 16:40
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 23 janv. 2011 à 00:23
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 23 janv. 2011 à 00:23
A voir également:
- Petite question char C++
- Petite croix snap - Forum Snapchat
- Char ** - Forum C
- Petite vague clavier - Forum Clavier
- Char java - Astuces et Solutions
- Ascii char - Guide
5 réponses
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
Modifié par KX le 23/01/2011 à 00:23
Modifié par KX le 23/01/2011 à 00:23
Le problème c'est que v n'a pas de valeur, tu dois faire scanf("%c\n",&v);
La confiance n'exclut pas le contrôle
La confiance n'exclut pas le contrôle
kribac
Messages postés
105
Date d'inscription
mercredi 16 janvier 2008
Statut
Membre
Dernière intervention
28 avril 2016
10
21 janv. 2011 à 19:57
21 janv. 2011 à 19:57
merci KX pour votre réponse, j lé correcté mé ça marche pas aussi ya 1 autre problem j pense ben voila mon programme
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int i;
typedef struct myprojet { char a;
struct polynome * sv;
}pol;
typedef pol * liste;
//************** fonction ajouter structure a ma chaine ***************
void ajouter(liste*l,char v) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(pol));
nouveau->a=v;
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
//******************* fonction afficher ma chaine *******************
void afficher(liste l)
{
liste p=l;
while(p!=NULL){
printf("%c ",p->a);
p=p->sv;
}
printf("\n");
}
//**************************** main***** *******************
int main (){
int n,x,i,choix;
char v;
liste pile=NULL;
printf("\nCombien de chaine : ");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++) {
printf("Valeur=");
scanf("%c",&v);
ajouter(&pile,v); // ici que j'ai le prob comment j'appel ?
printf("il a entre ici");
}
afficher(pile);
system("PAUSE");
return 0;
}
Merci bqq
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int i;
typedef struct myprojet { char a;
struct polynome * sv;
}pol;
typedef pol * liste;
//************** fonction ajouter structure a ma chaine ***************
void ajouter(liste*l,char v) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(pol));
nouveau->a=v;
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
//******************* fonction afficher ma chaine *******************
void afficher(liste l)
{
liste p=l;
while(p!=NULL){
printf("%c ",p->a);
p=p->sv;
}
printf("\n");
}
//**************************** main***** *******************
int main (){
int n,x,i,choix;
char v;
liste pile=NULL;
printf("\nCombien de chaine : ");
scanf("%d",&n);
printf("\n");
for(i=0;i<n;i++) {
printf("Valeur=");
scanf("%c",&v);
ajouter(&pile,v); // ici que j'ai le prob comment j'appel ?
printf("il a entre ici");
}
afficher(pile);
system("PAUSE");
return 0;
}
Merci bqq
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
21 janv. 2011 à 20:44
21 janv. 2011 à 20:44
Tu as défini liste comme étant *pol, tu as déjà un pointeur, ça ne sert donc à rien de passer en paramètre liste* à ajouter, liste suffit, du coup, tu auras ajouter(pile,v), mais il te faudra modifier ajouter...
kribac
Messages postés
105
Date d'inscription
mercredi 16 janvier 2008
Statut
Membre
Dernière intervention
28 avril 2016
10
22 janv. 2011 à 23:45
22 janv. 2011 à 23:45
merci bq ta raison mé ça marche pa aussi j c pa il é ou l prob :( pouvez vs m'aidé SVP
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
Modifié par KX le 23/01/2011 à 00:23
Modifié par KX le 23/01/2011 à 00:23
Plusieurs problèmes :
Ton type récursif doit s'appeller polynome ou myprojet à toi de choisir, mais pas les deux en même temps !
De plus dans ton main, tu envoie liste pile = NULL comme paramètre de la fonction ajouter, il faut que tu initialises pile en mémoire pour pouvoir t'en servir !
Enfin, rajoute \n à ton scanf : scanf("%c\n",&v);
La confiance n'exclut pas le contrôle
Ton type récursif doit s'appeller polynome ou myprojet à toi de choisir, mais pas les deux en même temps !
De plus dans ton main, tu envoie liste pile = NULL comme paramètre de la fonction ajouter, il faut que tu initialises pile en mémoire pour pouvoir t'en servir !
Enfin, rajoute \n à ton scanf : scanf("%c\n",&v);
La confiance n'exclut pas le contrôle