Puis-je demander sur ce newsgroup si un code est "propre" ? J'ai exposé
mon problème plus haut : 'gestion de fichier [Débutant]'.
Voilà, j'ai modifié et ça permet d'écrire un tirage de 15 numéros dans
un fichier :
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
char *tmp = malloc (2);
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
printf ("ERREUR : impossible d'ouvrir le fichier.n");
else
{
for(i = 1; i <= 15; i++)
{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);
if(tmp[1] != 0)
fputc (tmp[1], fichier);
if(i < 15)
fputc ('-', fichier);
if(i == 15)
fputc ('n', fichier);
}
free (tmp);
fclose (fichier);
}
}
Y-a-t'il assez de contrôle ?
PS : Triaxx et Fauberteau Frédéric sont les mêmes personnes sous un OS
différent.
Puis-je demander sur ce newsgroup si un code est "propre" ? J'ai exposé
mon problème plus haut : 'gestion de fichier [Débutant]'.
Voilà, j'ai modifié et ça permet d'écrire un tirage de 15 numéros dans
un fichier :
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
char *tmp = malloc (2);
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
printf ("ERREUR : impossible d'ouvrir le fichier.n");
else
{
for(i = 1; i <= 15; i++)
{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);
if(tmp[1] != 0)
fputc (tmp[1], fichier);
if(i < 15)
fputc ('-', fichier);
if(i == 15)
fputc ('n', fichier);
}
free (tmp);
fclose (fichier);
}
}
Y-a-t'il assez de contrôle ?
PS : Triaxx et Fauberteau Frédéric sont les mêmes personnes sous un OS
différent.
Puis-je demander sur ce newsgroup si un code est "propre" ? J'ai exposé
mon problème plus haut : 'gestion de fichier [Débutant]'.
Voilà, j'ai modifié et ça permet d'écrire un tirage de 15 numéros dans
un fichier :
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
char *tmp = malloc (2);
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
printf ("ERREUR : impossible d'ouvrir le fichier.n");
else
{
for(i = 1; i <= 15; i++)
{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);
if(tmp[1] != 0)
fputc (tmp[1], fichier);
if(i < 15)
fputc ('-', fichier);
if(i == 15)
fputc ('n', fichier);
}
free (tmp);
fclose (fichier);
}
}
Y-a-t'il assez de contrôle ?
PS : Triaxx et Fauberteau Frédéric sont les mêmes personnes sous un OS
différent.
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage "définir
avant d'utiliser".
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
Je ne vois pas pourquoi tu passes NULL à la fonction. Ca sert à quoi? A
lui dire de ne rien faire? Puisque 'fichier' n'est pas utilisé après la
fonction, c'est sans doute qu'il est inutile ici.
Sisi, je vais m'en sert, ce n'est qu'une ébauche de programme.
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
char *tmp = malloc (2);
Pourquoi pas
char tmp[2];
tout simplement?
OK, je prends note ...
Ca évitera des oublis comme le test de 'tmp' après allocation. Si il est
NULL, il ne faut pas continuer.int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception. En
effet, 'fichier' n'a pas à être un paramètre, mais devrait être une variable
locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
Eviter affectation ('=') et test d'expression ('==') dans la même ligne. Ca
n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
printf ("ERREUR : impossible d'ouvrir le fichier.n");
Par contre, il est recommandé de toujours utiliser les {}.
OK
else
{
for(i = 1; i <= 15; i++)
La version 'idiomatique' est plutôt:
C'est vrai, et pourtant, on me l'a tellement dit ...
for(i = 0; i < 15; i++)
car les tableaux C sont basés à 0, et que i est souvent l'indice d'un
tableau.{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);if(tmp[1] != 0)
C'est pas possible. %2s" ne permet de renter qu'un caractère. Dans ce cas, le
2ème est forcément à 0.
Et pourtant, si, puisque mon programme marche ...
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de débutant.
Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que l'on
fputc (tmp[1], fichier);
if(i < 15)
fputc ('-', fichier);
if(i == 15)
fputc ('n', fichier);
}
free (tmp);
fclose (fichier);
}
}
Y-a-t'il assez de contrôle ?
La question est plutôt. "Ce code est-il à l'épreuve des balles ?"
Alors, je doute qu'il le soit.
PS : Triaxx et Fauberteau Frédéric sont les mêmes personnes sous un OS
différent.
On avait compris!
Ah bah tant mieux.
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage "définir
avant d'utiliser".
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
Je ne vois pas pourquoi tu passes NULL à la fonction. Ca sert à quoi? A
lui dire de ne rien faire? Puisque 'fichier' n'est pas utilisé après la
fonction, c'est sans doute qu'il est inutile ici.
Sisi, je vais m'en sert, ce n'est qu'une ébauche de programme.
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
char *tmp = malloc (2);
Pourquoi pas
char tmp[2];
tout simplement?
OK, je prends note ...
Ca évitera des oublis comme le test de 'tmp' après allocation. Si il est
NULL, il ne faut pas continuer.
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception. En
effet, 'fichier' n'a pas à être un paramètre, mais devrait être une variable
locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
Eviter affectation ('=') et test d'expression ('==') dans la même ligne. Ca
n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
printf ("ERREUR : impossible d'ouvrir le fichier.n");
Par contre, il est recommandé de toujours utiliser les {}.
OK
else
{
for(i = 1; i <= 15; i++)
La version 'idiomatique' est plutôt:
C'est vrai, et pourtant, on me l'a tellement dit ...
for(i = 0; i < 15; i++)
car les tableaux C sont basés à 0, et que i est souvent l'indice d'un
tableau.
{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);
if(tmp[1] != 0)
C'est pas possible. %2s" ne permet de renter qu'un caractère. Dans ce cas, le
2ème est forcément à 0.
Et pourtant, si, puisque mon programme marche ...
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de débutant.
Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que l'on
fputc (tmp[1], fichier);
if(i < 15)
fputc ('-', fichier);
if(i == 15)
fputc ('n', fichier);
}
free (tmp);
fclose (fichier);
}
}
Y-a-t'il assez de contrôle ?
La question est plutôt. "Ce code est-il à l'épreuve des balles ?"
Alors, je doute qu'il le soit.
PS : Triaxx et Fauberteau Frédéric sont les mêmes personnes sous un OS
différent.
On avait compris!
Ah bah tant mieux.
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage "définir
avant d'utiliser".
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
Je ne vois pas pourquoi tu passes NULL à la fonction. Ca sert à quoi? A
lui dire de ne rien faire? Puisque 'fichier' n'est pas utilisé après la
fonction, c'est sans doute qu'il est inutile ici.
Sisi, je vais m'en sert, ce n'est qu'une ébauche de programme.
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
char *tmp = malloc (2);
Pourquoi pas
char tmp[2];
tout simplement?
OK, je prends note ...
Ca évitera des oublis comme le test de 'tmp' après allocation. Si il est
NULL, il ne faut pas continuer.int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception. En
effet, 'fichier' n'a pas à être un paramètre, mais devrait être une variable
locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
Eviter affectation ('=') et test d'expression ('==') dans la même ligne. Ca
n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
printf ("ERREUR : impossible d'ouvrir le fichier.n");
Par contre, il est recommandé de toujours utiliser les {}.
OK
else
{
for(i = 1; i <= 15; i++)
La version 'idiomatique' est plutôt:
C'est vrai, et pourtant, on me l'a tellement dit ...
for(i = 0; i < 15; i++)
car les tableaux C sont basés à 0, et que i est souvent l'indice d'un
tableau.{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);if(tmp[1] != 0)
C'est pas possible. %2s" ne permet de renter qu'un caractère. Dans ce cas, le
2ème est forcément à 0.
Et pourtant, si, puisque mon programme marche ...
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de débutant.
Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que l'on
fputc (tmp[1], fichier);
if(i < 15)
fputc ('-', fichier);
if(i == 15)
fputc ('n', fichier);
}
free (tmp);
fclose (fichier);
}
}
Y-a-t'il assez de contrôle ?
La question est plutôt. "Ce code est-il à l'épreuve des balles ?"
Alors, je doute qu'il le soit.
PS : Triaxx et Fauberteau Frédéric sont les mêmes personnes sous un OS
différent.
On avait compris!
Ah bah tant mieux.
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception. En
effet, 'fichier' n'a pas à être un paramètre, mais devrait être une
variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
Vous êtes sûrement bien callé en la matière, j'écoute vos conseils.
Eviter affectation ('=') et test d'expression ('==') dans la même ligne.
Ca n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception. En
effet, 'fichier' n'a pas à être un paramètre, mais devrait être une
variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
Vous êtes sûrement bien callé en la matière, j'écoute vos conseils.
Eviter affectation ('=') et test d'expression ('==') dans la même ligne.
Ca n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception. En
effet, 'fichier' n'a pas à être un paramètre, mais devrait être une
variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
Vous êtes sûrement bien callé en la matière, j'écoute vos conseils.
Eviter affectation ('=') et test d'expression ('==') dans la même ligne.
Ca n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
Je ne vois pas pourquoi tu passes NULL à la fonction. Ca sert à quoi? A
lui dire de ne rien faire? Puisque 'fichier' n'est pas utilisé après la
fonction, c'est sans doute qu'il est inutile ici.
Sisi, je vais m'en sert, ce n'est qu'une ébauche de programme.
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception.
En effet, 'fichier' n'a pas à être un paramètre, mais devrait être une
variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de
débutant. Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que l'on
nous a appris lorsque l'on a commencé le C
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
Je ne vois pas pourquoi tu passes NULL à la fonction. Ca sert à quoi? A
lui dire de ne rien faire? Puisque 'fichier' n'est pas utilisé après la
fonction, c'est sans doute qu'il est inutile ici.
Sisi, je vais m'en sert, ce n'est qu'une ébauche de programme.
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception.
En effet, 'fichier' n'a pas à être un paramètre, mais devrait être une
variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de
débutant. Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que l'on
nous a appris lorsque l'on a commencé le C
int main ()
{
FILE *fichier = NULL;
Saisie (fichier);
Je ne vois pas pourquoi tu passes NULL à la fonction. Ca sert à quoi? A
lui dire de ne rien faire? Puisque 'fichier' n'est pas utilisé après la
fonction, c'est sans doute qu'il est inutile ici.
Sisi, je vais m'en sert, ce n'est qu'une ébauche de programme.
return EXIT_SUCCESS;
}
void Saisie (FILE *fichier)
{
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de conception.
En effet, 'fichier' n'a pas à être un paramètre, mais devrait être une
variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de
débutant. Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que l'on
nous a appris lorsque l'on a commencé le C
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de
conception. En effet, 'fichier' n'a pas à être un paramètre, mais
devrait être une variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
Vous êtes sûrement bien callé en la matière, j'écoute vos conseils.
Eviter affectation ('=') et test d'expression ('==') dans la même
ligne. Ca n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de
débutant. Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que
l'on nous a appris lorsque l'on a commencé le C
for(i = 0; i < 15; i++)
{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);
if(tmp[1] != 0)
fputc (tmp[1], fichier);
if(i < 14)
fputc ('-', fichier);
if(i == 14)
fputc ('n', fichier);
}
fclose (fichier);
}
}
void Lecture (FILE *fichier, int grille[])
{
char tmp[2],
c;
int i;
for(i = 0; i <= 55; i++)
grille[(atoi (tmp))-1]++;
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de
conception. En effet, 'fichier' n'a pas à être un paramètre, mais
devrait être une variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
Vous êtes sûrement bien callé en la matière, j'écoute vos conseils.
Eviter affectation ('=') et test d'expression ('==') dans la même
ligne. Ca n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de
débutant. Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que
l'on nous a appris lorsque l'on a commencé le C
for(i = 0; i < 15; i++)
{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);
if(tmp[1] != 0)
fputc (tmp[1], fichier);
if(i < 14)
fputc ('-', fichier);
if(i == 14)
fputc ('n', fichier);
}
fclose (fichier);
}
}
void Lecture (FILE *fichier, int grille[])
{
char tmp[2],
c;
int i;
for(i = 0; i <= 55; i++)
grille[(atoi (tmp))-1]++;
int i;
if((fichier = fopen ("tirages.dat", "a")) == NULL)
Modifier un paramètre est souvent le signe d'une erreur de
conception. En effet, 'fichier' n'a pas à être un paramètre, mais
devrait être une variable locale.
Je ne cromprends pas ce que vous essayez de me dire. 'fichier' pointe
sur l'addresse mémoire de la structure qui permet de gérer ledit
fichier, non ? Je m'en sers donc avec fopen ...
Vous êtes sûrement bien callé en la matière, j'écoute vos conseils.
Eviter affectation ('=') et test d'expression ('==') dans la même
ligne. Ca n'apporte rien d'autre que de la confusion.
Alors, je fais comment ?
scanf() est difficile à bien utiliser. Ce n'est pas une fonction de
débutant. Lire la FAQ pour des alternatives.
Je vous crois, mais c'est pourtant l'une des première fonctions que
l'on nous a appris lorsque l'on a commencé le C
for(i = 0; i < 15; i++)
{
scanf ("%2s", tmp);
fputc (tmp[0], fichier);
if(tmp[1] != 0)
fputc (tmp[1], fichier);
if(i < 14)
fputc ('-', fichier);
if(i == 14)
fputc ('n', fichier);
}
fclose (fichier);
}
}
void Lecture (FILE *fichier, int grille[])
{
char tmp[2],
c;
int i;
for(i = 0; i <= 55; i++)
grille[(atoi (tmp))-1]++;
Merci pour cette attention, ça me touche.
Et voici le code plus avancé, pour mieux comprendre pourquoi ai-je fais ça
:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <time.h>
static int rand_increment = 1;
void Saisie (FILE *fichier)
{
[...]
for(i = 0; i < 15; i++)
{
if(i < 14)
}
void Lecture (FILE *fichier, int grille[])
{
grille[(atoi (tmp))-1]++;
}
int Aleatoire ()
{
int rand_num;
srand (time(0) * rand_increment);
rand_num = (int) (2.0*rand()/(RAND_MAX+1.0));
rand_increment++;
return rand_num;
}
void Affichage (int grille[])
{
[...]
int main ()
{
FILE *fichier = NULL;
char selection;
printf ("OpTirage 0.0.1 (développement)nn");
do
{
printf ("- Saisir un tirage (s)n");
printf ("- Trouver le meilleur tirage (t)n");
printf ("- Quitter (q)n");
scanf (" %c", &selection);
switch(selection)
{
case 's' : Saisie (fichier);
break;
case 't' : Optirage (fichier);
break;
case 'q' : return EXIT_SUCCESS;
default : break;
}
}
while(selection != 'q');
return EXIT_SUCCESS;
}
Merci pour cette attention, ça me touche.
Et voici le code plus avancé, pour mieux comprendre pourquoi ai-je fais ça
:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <time.h>
static int rand_increment = 1;
void Saisie (FILE *fichier)
{
[...]
for(i = 0; i < 15; i++)
{
if(i < 14)
}
void Lecture (FILE *fichier, int grille[])
{
grille[(atoi (tmp))-1]++;
}
int Aleatoire ()
{
int rand_num;
srand (time(0) * rand_increment);
rand_num = (int) (2.0*rand()/(RAND_MAX+1.0));
rand_increment++;
return rand_num;
}
void Affichage (int grille[])
{
[...]
int main ()
{
FILE *fichier = NULL;
char selection;
printf ("OpTirage 0.0.1 (développement)nn");
do
{
printf ("- Saisir un tirage (s)n");
printf ("- Trouver le meilleur tirage (t)n");
printf ("- Quitter (q)n");
scanf (" %c", &selection);
switch(selection)
{
case 's' : Saisie (fichier);
break;
case 't' : Optirage (fichier);
break;
case 'q' : return EXIT_SUCCESS;
default : break;
}
}
while(selection != 'q');
return EXIT_SUCCESS;
}
Merci pour cette attention, ça me touche.
Et voici le code plus avancé, pour mieux comprendre pourquoi ai-je fais ça
:
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <time.h>
static int rand_increment = 1;
void Saisie (FILE *fichier)
{
[...]
for(i = 0; i < 15; i++)
{
if(i < 14)
}
void Lecture (FILE *fichier, int grille[])
{
grille[(atoi (tmp))-1]++;
}
int Aleatoire ()
{
int rand_num;
srand (time(0) * rand_increment);
rand_num = (int) (2.0*rand()/(RAND_MAX+1.0));
rand_increment++;
return rand_num;
}
void Affichage (int grille[])
{
[...]
int main ()
{
FILE *fichier = NULL;
char selection;
printf ("OpTirage 0.0.1 (développement)nn");
do
{
printf ("- Saisir un tirage (s)n");
printf ("- Trouver le meilleur tirage (t)n");
printf ("- Quitter (q)n");
scanf (" %c", &selection);
switch(selection)
{
case 's' : Saisie (fichier);
break;
case 't' : Optirage (fichier);
break;
case 'q' : return EXIT_SUCCESS;
default : break;
}
}
while(selection != 'q');
return EXIT_SUCCESS;
}
In 'fr.comp.lang.c', Fauberteau Frédéric wrote:
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage "définir
avant d'utiliser".
Sauf qu'on n'est pas forcement adepte de l'organisation bottom-up, et
In 'fr.comp.lang.c', Fauberteau Frédéric <triaxx@corporation.org> wrote:
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage "définir
avant d'utiliser".
Sauf qu'on n'est pas forcement adepte de l'organisation bottom-up, et
In 'fr.comp.lang.c', Fauberteau Frédéric wrote:
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage "définir
avant d'utiliser".
Sauf qu'on n'est pas forcement adepte de l'organisation bottom-up, et
Emmanuel Delahaye wrote:In 'fr.comp.lang.c', Fauberteau Frédéric
wrote:
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage
"définir avant d'utiliser".
Sauf qu'on n'est pas forcement adepte de l'organisation bottom-up, et
qu'on peut preferer avoir les fonctions "top" au debut de l'unite de
compilation, et les fonctions "bottom" plus loin, meme si c'est au prix
de la redaction d'un prototype separe.
Perso, je prefere :-)
Emmanuel Delahaye wrote:
In 'fr.comp.lang.c', Fauberteau Frédéric <triaxx@corporation.org>
wrote:
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage
"définir avant d'utiliser".
Sauf qu'on n'est pas forcement adepte de l'organisation bottom-up, et
qu'on peut preferer avoir les fonctions "top" au debut de l'unite de
compilation, et les fonctions "bottom" plus loin, meme si c'est au prix
de la redaction d'un prototype separe.
Perso, je prefere :-)
Emmanuel Delahaye wrote:In 'fr.comp.lang.c', Fauberteau Frédéric
wrote:
#include <stdio.h>
#include <stdlib.h>
void Saisie (FILE *fichier);
Pourquoi un prototype séparé? Il suffisait de suivre le vieil adage
"définir avant d'utiliser".
Sauf qu'on n'est pas forcement adepte de l'organisation bottom-up, et
qu'on peut preferer avoir les fonctions "top" au debut de l'unite de
compilation, et les fonctions "bottom" plus loin, meme si c'est au prix
de la redaction d'un prototype separe.
Perso, je prefere :-)
C'est très dur de ne pas utiliser scanf ...
C'est très dur de ne pas utiliser scanf ...
C'est très dur de ne pas utiliser scanf ...