Probléme de stockage dans un structure
jutabary
Messages postés
15
Statut
Membre
-
java4ever -
java4ever -
Bonjour,
voila le but du programme est de récupérer les mots d'une chaine de caractères afin de les placer dans une structure (une case de tableau contient un mot). Sachant qu'a l'état actuel des choses, je n'ai pas vu les pointeurs.
Voila le code:
Merci d'avance.
voila le but du programme est de récupérer les mots d'une chaine de caractères afin de les placer dans une structure (une case de tableau contient un mot). Sachant qu'a l'état actuel des choses, je n'ai pas vu les pointeurs.
Voila le code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
typedef struct
{
char mot[27];
}stockage;
char chaine[27];
printf("Entrez la chaine de caractere: ");
gets(chaine);
// Compte les mots pour avoir le nombre exacte de mot.
int i;
int compteur = 0;
for(i = 0; i < strlen(chaine); i++)
{
if(chaine[i] ==' ' || chaine[i] == '\0')
{
compteur++;
}
}
compteur++;
printf("Il y a %d mots dans la chaine", compteur);
stockage tableau[compteur];
//extraire les mots de la chaine dans le tableau de type stockage.
for(i = 0; i < compteur; i++)
{
int j = 0;
while(chaine[j] != ' ')
{
tableau[i].mot[j] = chaine[j];
j++;
}
tableau[i].mot[j] = '\0';
}
printf("%s\n", tableau[0]);//Pour voir si le tableau contient bien quelque chose.
return 0;
}
Merci d'avance.
A voir également:
- Probléme de stockage dans un structure
- Espace de stockage gmail plein - Guide
- Stockage google - Guide
- Stockage du téléphone - Accueil - Guide Android
- Stockage ipad saturé - Guide
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
1 réponse
Bonjour,
je pense que ton code doit fonctionner excepté l'affichage du premier élément du tableau :
en effet, tableau est de type struct alors que tu fait un "printf(%s "qui attend un tableau de char
Il faut juste remplacer
par
qui lui est bien un tableau de char
Et ça devrait marcher
Si tu veux afficher tous les mots, tu devra faire une boucle de 0à compteur -1
et remplacer tableau[0] par tableau[i]
Bon courage
je pense que ton code doit fonctionner excepté l'affichage du premier élément du tableau :
en effet, tableau est de type struct alors que tu fait un "printf(%s "qui attend un tableau de char
Il faut juste remplacer
printf("%s\n", tableau[0]);
par
printf("%s\n", tableau[0].mot);
qui lui est bien un tableau de char
Et ça devrait marcher
Si tu veux afficher tous les mots, tu devra faire une boucle de 0à compteur -1
et remplacer tableau[0] par tableau[i]
Bon courage