Aucune idée. Je ne reproduis pas le problème ici.
Aucune idée. Je ne reproduis pas le problème ici.
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Ca ne peut venir que d'ici. Comme dit Emmanuel, ton code est "space" ! Pourquoi tu demandes à l'utilisateur de faire son choix quand le programme est déjà terminé ?Envoyé par GyZmoO
When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.
Ben parce que je suis bête c'est pas évident non?
Tout simplement parce que le programme n'est pas terminé... et que je teste au fur et a mesure . . .
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Ne vas pas croire que je me moque de toi, bien au contraire.
Par contre, je ne comprends pas pourquoi tu ne fais pas de stringdate un tableau automatique, comme les autres.
When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.
T'inquiete je sais bien
Par tableau automatique tu entends, a la place de faire char *stringdate, faire char strindate[n], c'est bien ça? En même temps t'as pas tort parce que je sais combien va y'avoir de char a stocker... c'est vrai
Bon ben merci a tous pour votre aide !
Ps : si je lance le programme en double cliquant sur mon exécutable le programme se passe bien, par contre si je le lance en tapant le nom de l'exécutable dans ma console, ça merde. . . bizarre non ?
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
On est censés deviner ce que signifie "ça merde" ?Envoyé par GyZmoO
Pas de Wi-Fi à la maison : CPL
C'est un terme passe-partout, comme "Ça plante"...
http://www.developpez.net/forums/sho...02&postcount=7
Sauf qu'en plus, "ça merde" peut aussi vouloir dire que ça ne fait pas ce que je veux (soit ça fait autre chose, soit ça ne fait rien de visible), sans planter pour autant...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Roh
Ben tout simplement j'ai les mêmes symptomes :
En fait, a la fin de mon prog, je demande a l'utilisateur de choisir de taper 1 ou 2 , mais quand je lance mon prog en mode console, il attend que je fasse cette saisie au début du prog alors que normalement il doit faire d'autres trucs avant .
Et quand je le lance en double cliquant, ben il se déroule "dans l'ordre", et me demande de saisir 1 ou 2 a la fin du prog !
Vous auriez pu deviner qd même . . .
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Au fait: Peut-on savoir sur quel plate-forme (machine+système) tu travailles ?
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Alors oué biensur : je suis sous win xp pro et je travaille avec mingw voilou !
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Et tu parles de quelle version de ton code source ? On est pas là pour jouer aux devinettes. Comment veux-tu qu'on réponde sérieusement si on ne peut pas reproduire le phénomène chez nous dans les mêmes conditions ?Envoyé par GyZmoO
Soit tu donnes toutes les informations, soit tu vas, je ne sais pas, ... à la pêche. C'est bien la pêche...
Pas de Wi-Fi à la maison : CPL
Mais pourquoi lances-tu en cliquant un programme qui fait des entrées-sorties sur les ports standards ? Un programme comme ça, ça se lance en ligne de commande ! Et on compile aussi en ligne de commande !
Peux-tu poster ton code avec la ligne de commande utilisée pour la compilation et celle utilisée pour l'exécution du programme ?
Je continue à penser que Vindose c'est de la grosse merde pour développer : on y apprend tout sauf les bonnes habitudes, et les environnements de développement sont, à mon goût, peu recommendables lorsque l'on débute en programmation.
When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.
Alors voila mon code source :
Voila, maintenant comment je compile et commence je lance le prog :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 #include <time.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char choix[10]; long choix2; time_t date; struct tm timet; char stringdate[5]; char buffer[20]; char bufferAnniv[4]; char bufferNom[16]; int nbm; FILE *fp; /* Ouverture du fichier en lecture */ fp = fopen ("anniversaire.txt", "r"); printf("DEBUG \n"); if (fp == NULL) { perror("Fichier inexistant ! \n"); return EXIT_FAILURE; } /* Récupération de la date courante et on la formate comme ceci : jjmm */ date = time(NULL); timet = *gmtime(&date); strftime (stringdate, 5, "%d%m", &timet); printf(" --| Nous sommes le %s \n", stringdate); /* Parcours du fichier */ /* dans bufferAnniv on recopie la date de l'entrée dans le fichier */ /* dans bufferNom on recopie le nom qui correspond a la date */ /* Si la date courante correspond a la date de l'entrée dans le fichier on affiche le nom de la personne */ while( fgets( buffer, sizeof(buffer), fp)!=NULL ) { nbm = sscanf(buffer, "%s %s", bufferAnniv, bufferNom); if (nbm != 2) { perror("Erreur conversion sscanf \n"); return EXIT_FAILURE; } if (strncmp(bufferAnniv, stringdate, 4) == 0) { printf(" --| C'est l'anniversaire de %s ! \n", bufferNom); } } printf(" --| 1) Ajouter une entrée \n"); printf(" --| 2) Supprimer une entrée \n"); fgets(choix, sizeof(choix), stdin); choix2 = strtol(choix, NULL, 10); printf("Vous avez choisi : %ld \n", choix2); fclose(fp); return EXIT_SUCCESS; }
Voilagcc -ansi -pedantic -Wall -Werror anniversaire.c -o annif
./annif
Ps : j'adore la pêche
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Ton ergonomie est douteuseEnvoyé par GyZmoO
- Si le fichier n'existe pas, on sort avec une erreur. On le crée comment ?
Une fois crée (avec un éditeur de texte),
tu proposes :1810 Emmanuel
1910 Goret
2010 Chacal
Et si je veux quitter, je fais comment ? J'arrache la prise ?DEBUG
--| Nous sommes le 1910
--| C'est l'anniversaire de Goret !
--| 1) Ajouter une entrÚe
--| 2) Supprimer une entrÚe
Pas de Wi-Fi à la maison : CPL
Ah ben il est pas fini encore le prog c'est pour ça, et de tte façon on le quitte pas ce programme, un point c'est tout !
Non oué sans déconner il me reste des trucs a faire, et donc si je comprend bien, ça a marché pour toi ?
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
J'en sais rien, je ne peux pas quitter...Envoyé par GyZmoO
Pas de Wi-Fi à la maison : CPL
Donc voici mon code re re re modifié !!!
Et j'ai toujours les mêmes symptomes, c'est a dire que quand je suis en mode console, et bien il attend que je saisisse un choix avant de faire ce qu'il a a faire .. . Et quand je le lance en double cliquant, tout se passe bien . . .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116 #include <time.h> #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char choix[10]; long choix2; time_t date; struct tm timet; char stringdate[5]; char buffer[20]; char bufferAnniv[4]; char bufferNom[16]; int nbm; FILE *fp; /* Ouverture du fichier en lecture */ fp = fopen ("anniversaire.txt", "r"); printf("DEBUG \n"); if (fp == NULL) { do{ printf(" --| Voulez vous créer le fichier maintenant ? \n"); printf(" --| 1 : oui \n"); printf(" --| 0 : non \n"); fgets(choix, sizeof(choix), stdin); choix2 = strtol(choix, NULL, 10); } while ((choix2 != 1) && (choix2 != 0)); if (choix2 == 1) { if ((fp = fopen("anniversaire.txt", "w")) == NULL) { perror(" --| Il est impossible de créer le fichier ! \n"); return EXIT_FAILURE; } fclose(fp); if((fp = fopen("anniversaire.txt", "r")) == NULL) { perror(" --| Erreur ouverture fichier \n"); return EXIT_FAILURE; } } if (choix2 == 0) { perror(" --| A bientôt \n"); return EXIT_SUCCESS; } } /* Récupération de la date courante et on la formate comme ceci : jjmm */ date = time(NULL); timet = *gmtime(&date); strftime (stringdate, 5, "%d%m", &timet); printf(" --| Nous sommes le %s \n", stringdate); /* Parcours du fichier */ /* dans bufferAnniv on recopie la date de l'entrée dans le fichier */ /* dans bufferNom on recopie le nom qui correspond a la date */ /* Si la date courante correspond a la date de l'entrée dans le fichier on affiche le nom de la personne */ while( fgets( buffer, sizeof(buffer), fp)!=NULL ) { nbm = sscanf(buffer, "%s %s", bufferAnniv, bufferNom); if (nbm != 2) { perror("Erreur conversion sscanf \n"); return EXIT_FAILURE; } if (strncmp(bufferAnniv, stringdate, 4) == 0) { printf(" --| C'est l'anniversaire de %s ! \n", bufferNom); } } do{ printf(" --| 1) Ajouter une entrée \n"); printf(" --| 2) Supprimer une entrée \n"); printf(" --| 0) Quitter \n"); fgets(choix, sizeof(choix), stdin); choix2 = strtol(choix, NULL, 10); printf(" --| Vous avez choisi : %ld \n", choix2); } while((choix2 != 1) && (choix2 != 2) && (choix2 != 0)); printf(" --| Vous avez choisi : %ld \n", choix2); fclose(fp); return EXIT_SUCCESS; }
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Ce programme semble fonctionner correctement chez moi dans les 3 modes (IDE, click direct et console).Envoyé par GyZmoO
Pas de Wi-Fi à la maison : CPL
Ah bon ben merci a tout le monde en tout cas pour les tuyaux
Je sais pas d'ou ça vient... tant pis
define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.
Oui en général ce terme est très utilisé pour désigner un "comportement indéfini"Envoyé par Emmanuel Delahaye
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager