Problème avec les pointeurs dans une structure
Résolu
alex1902
Messages postés
56
Statut
Membre
-
alex1902 Messages postés 56 Statut Membre -
alex1902 Messages postés 56 Statut Membre -
Bonjour,
Tout d'abord, voici la première fonction que j'ai réalisée. Il s'agit d'une fonction qui met dans un tableau dynamique les questions d'un fichier texte, ainsi que les réponses (d'un autre fichier texte) dans un autre tableau dynamique.
La deuxième fonction, soit celle où je bloque, est une fonction qui doit prendre les tableaux de la première fonction en paramètres pour que je puisse les parcourir.
Le problème est le suivant : Je dois impérativement utiliser en paramètres les pointeurs de la structure, et non la structure au complet. Comment puis-je faire?
Tout d'abord, voici la première fonction que j'ai réalisée. Il s'agit d'une fonction qui met dans un tableau dynamique les questions d'un fichier texte, ainsi que les réponses (d'un autre fichier texte) dans un autre tableau dynamique.
# include <iostream>
# include <fstream>
# include <windows.h>
# include <cmath>
# include <string>
using namespace std;
struct sDonnee
{
int nombreDonneesMax;
int nombreDonnees;
string * questions;
string * reponses;
};
bool chargerQuestionsReponses(sDonnee& donnee, fstream& questions, fstream& reponses)
{
string temp;
donnee.nombreDonnees = 0;
//Ouverture des fichiers en lecture
questions.open("Questions.txt", ios::in);
reponses.open("Reponses.txt", ios::in);
//Si l'ouverture ne fonctionne pas pour l'un ou l'autre des fichier, retourne false
if (questions.fail() || reponses.fail())
{
return false;
}
else
{
//Lire les lignes du fichier tant que le fichier n'est pas fini et incrémenter nombreDonnees
getline(questions,temp);
while(questions.eof() != true)
{
getline(questions,temp);
donnee.nombreDonnees++;
}
donnee.nombreDonneesMax = donnee.nombreDonnees + 5;
//Fermeture des fichiers
questions.close();
reponses.close();
//Réouverture des fichiers en lecture pour relire depuis le début
questions.open("Questions.txt", ios::in);
reponses.open("Reponses.txt", ios::in);
//Allocation dynamique pour deux tableaux d'une dimension
donnee.questions = new string[donnee.nombreDonnees];
donnee.reponses = new string[donnee.nombreDonnees];
//Boucles pour stocker les questions et les réponses dans le tableau correspondant
for (int i = 0; i < donnee.nombreDonnees; i++)
{
getline(questions,temp);
donnee.questions[i] = temp;
}
for (int i = 0; i < donnee.nombreDonnees; i++)
{
getline(reponses,temp);
donnee.reponses[i] = temp;
}
return true;
}
}
La deuxième fonction, soit celle où je bloque, est une fonction qui doit prendre les tableaux de la première fonction en paramètres pour que je puisse les parcourir.
bool retournerReponse(int numRep, **ptrQuestions**, **ptrReponses**, string motCle)
{
}
Le problème est le suivant : Je dois impérativement utiliser en paramètres les pointeurs de la structure, et non la structure au complet. Comment puis-je faire?
A voir également:
- Problème avec les pointeurs dans une structure
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Trouvez l'erreur dans la structure du document et corrigez-la. ✓ - Forum Word
- Dans son restaurant, igor utilise une application pour gérer les réservations. dans le schéma (structure) de la base de données de l’application représenté ci-dessous : de quoi « telephone » est-il le nom ? de quoi « reservations » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Programmation
- Problème table des matières word titres pas pris en compte - Forum Word
3 réponses
retournerReponse(donnees.nombreDonnees, donnees.questions, donnees.reponses, motclef)
ou si c'est sur le prototype que tu bloques :
ou si c'est sur le prototype que tu bloques :
bool retournerReponse(int numRep, string* questions, string * reponses, string motCle)
{
}
Assalamo alaikom,
je sais pas si j'ai bien compris votre question ou non,
vous devez créer une classe qui hérite de la classe string qui contient un pointeur sur un string et le nombre d'élément du tableau et tu le passe en paramètre à ta fonction les instances de cette classe, comme ça tu auras le tableau de string et les nombres d'éléments du tableau, j'espère que j'ai répondu à ta question.
There is no god but Allah and Muhammad is the Messenger of Allah
je sais pas si j'ai bien compris votre question ou non,
vous devez créer une classe qui hérite de la classe string qui contient un pointeur sur un string et le nombre d'élément du tableau et tu le passe en paramètre à ta fonction les instances de cette classe, comme ça tu auras le tableau de string et les nombres d'éléments du tableau, j'espère que j'ai répondu à ta question.
There is no god but Allah and Muhammad is the Messenger of Allah