Lecture dans un fichier.txt entre deux dates

Résolu
gzangel Messages postés 5 Date d'inscription jeudi 31 mars 2011 Statut Membre Dernière intervention 23 avril 2012 - 16 avril 2012 à 21:24
gzangel Messages postés 5 Date d'inscription jeudi 31 mars 2011 Statut Membre Dernière intervention 23 avril 2012 - 18 avril 2012 à 12:40
Bonjour à tous,

j'ai un gros soucis, j'essaie d'écrire un mini jeux de roulette sur console et je souhaiterais lire le contenant d'un fichier stats.txt entre deux dates données.

Le contenu du fichier serait:
09/01/2012 02h00
Parie: 12 -- la roue s'est arretee sur: 12
16/04/2012 16h30
Parie: 2 -- la roue s'est arretee sur: 7
18/04/2012 14h03
Parie: 1 9 2 8 3 6 -- la roue s'est arretee sur: 9
21/04/2012 01h00
Parie: 1 9 2 8 3 6 -- la roue s'est arretee sur: 22

Je voudrais pouvoir, par exemple si l'user choisit entre 16/04/2012 et 16/04/2012, n'avoir que les ces lignes qui s'affiche sur la console:
16/04/2012 16h30
Parie: 2 -- la roue s'est arretee sur: 7
18/04/2012 14h03
Parie: 1 9 2 8 3 6 -- la roue s'est arretee sur: 9


Merci d'avance pour vos indications

4 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
17 avril 2012 à 10:48
Bonjour.

Je rappelle que l'on ne fournit pas de code, et que l'on ne fait pas la reflexion à la place du demandeur. En revanche, on corrige des codes avec plaisir. Je t'invite donc à poster ton code, et surtout préciser ce qui te bloque précisement.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
17 avril 2012 à 14:07
Pense à indenter ton code et à le mettre dans des balises de code (là c'est presque illisible).

À faire en plusieurs étapes:
- Lire ton fichier (ça c'est fait).
- Il te faut lire ton fichier ligne à ligne (c'est-à-dire que le délimiteur est \n). Il te faut modifier ta lecture du fichier pour ne lire qu'une ligne à chaque fois. Une solution possible, si ton fichier n'est pas très gros, c'est de mettre celui-ci entièrement dans un tableau, et ensuite d'utiliser la fonction getline, décrite ici: http://users.powernet.co.uk/eton/kandr2/krx116.html
- Pour chaque ligne tu extraies la date (il n'y a pas de fonction magique, à toi de la coder).
- Enfin, il te faut réaliser une fonction qui, à partir de 2 date données en argument, donne la différence en jour les séparant (nombre de jour posifitif si le 1er argument est plus grand que le second, négatif sinon).
- Grâce à la fonction précédente, tu vas pouvoir ne garder que lignes qui ont X jours de différence seulement avec la date choisie.

Bonne chance. N'hésite pas à poster les différentes étapes, au fur et à mesure de ton avancement.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
gzangel Messages postés 5 Date d'inscription jeudi 31 mars 2011 Statut Membre Dernière intervention 23 avril 2012
17 avril 2012 à 13:13
Bonjour,
Merci pour votre réponse.
Justement c'est là le problème. Je ne vois pas quelle fonction utiliser pour pouvoir lire "dans un intervalle" donné. Pour un accès séquentiel dans stats.txt j'ai fait ca:

void stats_jeux(Joueur j, FILE* fichier)//Jouer j est une struct joueur
{
char buff[1000];
fichier = fopen("stats.txt", "a+");
int choix_user = 0;
printf("\tEnter:\n1: Pour voir toutes les stats\n2: Pour voir les stats entre deux dates\n3: Pour effacer les re-initialiser les stats\n");

if(choix_user == 1)//Choix de l'user; ici j'affiche tout stats.txt
{
if(fichier == NULL)
{
printf("Impossible d'ouvrir le fichier\n\n");
}
else
{
printf("Ouverture des stats du jeu\n\n");
}
while(fgets(buff, 1000, fichier) != NULL)
{
printf("\t%s", buff);
}
if(fclose(fichier) == EOF)
{
printf("Erreur lors de la fermeture du fichier\n");
}
else
{
printf("\n\nFermeture des stats du jeu\n\n");
}
Comme vous pouvez le voir, j'arrive à lire tout le fichier stats.txt cependant je souhaiterai y accéder entre deux endroits du fichier. Savez vous s'il existe une fonction pour ça? Une struct?
0
gzangel Messages postés 5 Date d'inscription jeudi 31 mars 2011 Statut Membre Dernière intervention 23 avril 2012
18 avril 2012 à 12:40
Bonjour,

D'accord, j'y penserai la prochaine fois. Merci. Je posterai la réponse dès que je l'aurai codée. Entre temps j'ai encore un autre mini projet à faire en python.

Merci encore.
0
Rejoignez-nous