C# fichier de flux de données - construire un quiz
Ont essayé d'utiliser des fichier (txt ou CSV) afin de créer un flux de fichier en C#.
Les données dans le fichier, c'est que d'un jeu de quiz de :
1 petite question
4 réponses possibles
1 réponse correcte
Le programme devrait être en mesure de dire à l'utilisateur s'il a répondu correctement ou non.
Je suis à la recherche d'un exemple de code/algorithme/tutoriel sur la façon d'utiliser les données dans le fichier externe pour créer un questionnaire simple en C#.
Aussi, des suggestions sur la façon de construire le fichier txt (comment puis-je remarque une réponse comme correcte?).
Des suggestions ou des liens?
Merci,
Vous devez vous connecter pour publier un commentaire.
Il n'y a vraiment aucun moyen de faire cela, même si je suis d'accord que pour une simple base de données de questions de quiz, des fichiers texte serait probablement votre meilleure option (par opposition au format XML ou une base de données appropriée, bien que les anciens ne serait pas complètement overkill).
Voici un petit exemple d'un format basé sur du texte pour un ensemble de questions de quiz, et une méthode pour lire les questions dans le code. Edit: j'ai essayé de le rendre aussi facile que possible de suivre maintenant (à l'aide de constructions simples), avec plein de commentaires!
Format De Fichier
Exemple de contenu du fichier.
Code
C'est juste une simple structure pour le stockage de chaque question dans le code:
Vous pouvez alors lire les questions à partir du fichier en utilisant le code suivant. Il n'y a rien de spécial qui se passe ici autre que l'objet de l'initialiseur (en gros, cela permet simplement de définir les variables/les propriétés d'un objet en même temps que vous le créer).
Bien sûr, ce code est plutôt rapide et la base (certainement besoin d'une meilleure gestion des erreurs), mais il devrait au moins d'illustrer une méthode simple que vous pourriez utiliser. Je pense que les fichiers texte serait une belle façon de mettre en œuvre un système simple comme cela à cause de leur lisibilité (XML serait un peu trop verbeux dans cette situation, l'OMI), et de plus, ils sont à peu près aussi facile à analyser des fichiers XML. Espérons que cela vous fait de toute façon...
Ma recommandation serait d'utiliser un fichier XML si vous devez charger vos données à partir d'un fichier (par opposition à partir d'une base de données).
À l'aide d'un fichier texte, il faudrait vous assez clairement définir la structure pour différents éléments de la question. À l'aide d'un fichier CSV pourrait fonctionner, mais vous auriez à définir un moyen de s'échapper des virgules à l'intérieur de la question ou de la réponse elle-même. Il pourrait compliquer les choses.
Donc, pour résumer, à mon humble avis, un fichier XML est le meilleur moyen de stocker ces données. Voici un exemple montrant la structure possible que vous pourriez utiliser:
Autant que le chargement d'un fichier XML en mémoire est concernée .NET propose intrinsèques plusieurs manières de traiter les fichiers XML et les chaînes de caractères, beaucoup de qui a complètement occulter avoir à interagir avec FileStreams directement. Par exemple, le
XmlDocument.Load(myFileName.xml)
méthode va le faire pour vous en interne dans une seule ligne de code. Personnellement, même si je préfère utiliserXmlReader
etXPathNavigator
.Prendre un regard sur les membres de la System.Xml espace de noms pour plus d'informations.
Un bon endroit pour commencer est avec La documentation de Microsoft sur FileStream.
Une rapide recherche sur google vous donnera pratiquement tout ce dont vous avez besoin. Voici un tutoriel sur la lecture et l'écriture des fichiers dans C#. Google est votre ami.
Peut-être la méthode la plus simple est un simple fichier texte en format - où vous avez des questions et des réponses sur chaque ligne (pas de lignes vides). Le signe # indique la bonne réponse.
Format du fichier -
Un exemple de fichier
Voici un code qui utilise le fichier d'exemple pour créer un quiz.