Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006
-
3 mai 2005 à 15:59
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006
-
3 mai 2005 à 18:44
Bitnik
Bonjour, je dois réaliser comme projet un petit questionnaire en console application qui consiste à créer des fichiers(fichiers questionnaires et fichiers réponses).mais je ne sais pas comment traduire le tant que non fin de fichier en c#.je veu qu'il lit une question a la fois (pour pouvoir faire une réponse a la fois)jusqu'à ce qu'il n'y a plus de questions mais je n'y arrive pas.avez-vous quelque chose à ma proposer ??
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 3 mai 2005 à 16:59
salut coq,voici mon code (en rouge se présente mon probleme) :
{
Console.WriteLine("Quel est le nom du fichier auquel vous voulez répondre ?");
nomfichier = Console.ReadLine();
FileInfo fi =
new FileInfo("Q"+nomfichier+".txt");
if (fi.Exists)
{
FileStream fs =
new FileStream("Q"+nomfichier+".txt", FileMode.Open);
StreamReader sr=
new StreamReader(fs);
FileStream fst =
new FileStream("R"+nomfichier+".txt",FileMode.OpenOrCreate);
StreamWriter sw =
new StreamWriter(fst);
c'est la que se trouve le probleme, je souhaiterai lui dire tan qu'il y a encor des question, il lit puis enregistre...
do
{
Console.WriteLine(sr.ReadLine());
Console.WriteLine("Entrez votre reponse :");
reponse = Console.ReadLine();
sw.WriteLine(reponse);
}
while(sr.ReadLine() !=
null);
sw.Close();
sr.Close();
System.Threading.Thread.Sleep(2000);
}
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 3 mai 2005 à 17:34
C'est aussi ce que je pensais mais quand j'execute mon programme, il lit la premiere question (normal g fé un "do", donc il doit au moins l'executer une fois),il me demande la reponse donc jusque la tout va bien mais ensuite au lieu de passer à la question 2, il met la 3 et me demande une rép, et après il ne m'affiche même pas de question mais me demande une réponse(pour simple information, j'ai mi 4 questions dan mon fichier).ya un truc ki méchappe, je sais pa pourquoi il lit pas tout normalement ??
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 3 mai 2005 à 17:42
Ah oui
Je n'ai pas fait attention au debut mais comme tu fais 2 ReadLine ça ne peut pas aller :
do
{
Console.WriteLine(sr.ReadLine()); => lecture d'une ligne
Console.WriteLine("Entrez votre reponse :");
reponse = Console.ReadLine();
sw.WriteLine(reponse);}while(sr.ReadLine() !null);> lecture d'une autre ligne (ce qui explique le "saut" de la 2eme ligne)
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 3 mai 2005 à 17:54
A wé, pas bête !!
et dans ce cas la comment je pourra faire, parce que si je tire le Console.WriteLine(sr.ReadLine()); il n'affichera plus la question et si je le tire dans le while, j'aurai pas ma condition (tant que non fin de fichier) !
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 3 mai 2005 à 17:59
Passe par une variable locale de type string pour conserver le retour de la méthode ReadLine.
Ainsi tu pourras faire ton test et l'affichage sans probleme.