Problème avec les pointeurs dans une structure
Résolu
alex1902
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
alex1902 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
alex1902 Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
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
- Structure url - Guide
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? ✓ - Forum Word
- Amandine utilise une application pour gérer les inscriptions aux activités de son club. 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 « inscriptions » est-il le nom ? associez chaque terme avec un attribut, une donnée, un enregistrement, une table, une valeur ou une variable. - Forum Loisirs / Divertissements
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