Bonjour a tous,
Mon probleme est dans le titre.
J'ai un switch case et a l'interieur est il "permis" de sortir d'un
case par un return ( le switch case est bien sur dans une fonction)
A la compile ( gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5))
je n'ai aucun message d'avertissement. Mais je voudrais etre sur que
c'est correcte. Rien vu a ce sujet.
Merci de vos reponses.
gil
Bonjour a tous,
Mon probleme est dans le titre.
J'ai un switch case et a l'interieur est il "permis" de sortir d'un
case par un return ( le switch case est bien sur dans une fonction)
A la compile ( gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5))
je n'ai aucun message d'avertissement. Mais je voudrais etre sur que
c'est correcte. Rien vu a ce sujet.
Merci de vos reponses.
gil
Bonjour a tous,
Mon probleme est dans le titre.
J'ai un switch case et a l'interieur est il "permis" de sortir d'un
case par un return ( le switch case est bien sur dans une fonction)
A la compile ( gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5))
je n'ai aucun message d'avertissement. Mais je voudrais etre sur que
c'est correcte. Rien vu a ce sujet.
Merci de vos reponses.
gil
Bonjour a tous,
J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
Encore une fois peu importe l'algo ( bien que la remarque de Charlie
Gordon pose pour moi Pb) :-)
int test_jour( int day, int month, int year ) /* coherence des jours
et mois faite avant l'appel a cette fonction */
{
int retourúux; /* Faux Vrai definis + haut */
/* cas special de l'annee ( 1752 accepte mais Hors Sujet ... ) mois
& jour du changement : on retourne Faux ( + tard) */
if (year == Gregoire && month == 9 && day > 2)
{
printf("nAttention annee, mois et jour >2 du passage Julien ->
Gregorien !n");
printf("---------> On verra plus tard <--------------nn");
return(Faux);
}
switch (day)
{
case 29:
if ( month != 2)
{
retour = Vrai;
break;
}
if ( year%4 == 0 && (year%400 == 0 || year%100 != 0)) /* 1500
?? charlie G. */
{
printf("nL'nnee %d est bien Bissextile !!nn",year);
retour = Vrai;
}
else
{
printf("nAnnee non bissextile !!nn");
retour = Faux;
}
break;
case 30:
if ( month == 2)
{
printf("n Le mois de %s n'a pas 30 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
case 31:
if ((month == 2) || (month == 4) || (month == 6) || (month == 9)
|| (month =))
{
printf("nLe mois de %s n'a pas 31 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
/* les autres cas sont ok */
default:
retour = Vrai;
}
return(retour);
}
Je tiens a preciser que c'est toujours dans le cadre de l'utilisation du
switch case !!
( suis rentre dans la norme ?)
Bonjour a tous,
J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
Encore une fois peu importe l'algo ( bien que la remarque de Charlie
Gordon pose pour moi Pb) :-)
int test_jour( int day, int month, int year ) /* coherence des jours
et mois faite avant l'appel a cette fonction */
{
int retourúux; /* Faux Vrai definis + haut */
/* cas special de l'annee ( 1752 accepte mais Hors Sujet ... ) mois
& jour du changement : on retourne Faux ( + tard) */
if (year == Gregoire && month == 9 && day > 2)
{
printf("nAttention annee, mois et jour >2 du passage Julien ->
Gregorien !n");
printf("---------> On verra plus tard <--------------nn");
return(Faux);
}
switch (day)
{
case 29:
if ( month != 2)
{
retour = Vrai;
break;
}
if ( year%4 == 0 && (year%400 == 0 || year%100 != 0)) /* 1500
?? charlie G. */
{
printf("nL'nnee %d est bien Bissextile !!nn",year);
retour = Vrai;
}
else
{
printf("nAnnee non bissextile !!nn");
retour = Faux;
}
break;
case 30:
if ( month == 2)
{
printf("n Le mois de %s n'a pas 30 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
case 31:
if ((month == 2) || (month == 4) || (month == 6) || (month == 9)
|| (month =))
{
printf("nLe mois de %s n'a pas 31 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
/* les autres cas sont ok */
default:
retour = Vrai;
}
return(retour);
}
Je tiens a preciser que c'est toujours dans le cadre de l'utilisation du
switch case !!
( suis rentre dans la norme ?)
Bonjour a tous,
J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
Encore une fois peu importe l'algo ( bien que la remarque de Charlie
Gordon pose pour moi Pb) :-)
int test_jour( int day, int month, int year ) /* coherence des jours
et mois faite avant l'appel a cette fonction */
{
int retourúux; /* Faux Vrai definis + haut */
/* cas special de l'annee ( 1752 accepte mais Hors Sujet ... ) mois
& jour du changement : on retourne Faux ( + tard) */
if (year == Gregoire && month == 9 && day > 2)
{
printf("nAttention annee, mois et jour >2 du passage Julien ->
Gregorien !n");
printf("---------> On verra plus tard <--------------nn");
return(Faux);
}
switch (day)
{
case 29:
if ( month != 2)
{
retour = Vrai;
break;
}
if ( year%4 == 0 && (year%400 == 0 || year%100 != 0)) /* 1500
?? charlie G. */
{
printf("nL'nnee %d est bien Bissextile !!nn",year);
retour = Vrai;
}
else
{
printf("nAnnee non bissextile !!nn");
retour = Faux;
}
break;
case 30:
if ( month == 2)
{
printf("n Le mois de %s n'a pas 30 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
case 31:
if ((month == 2) || (month == 4) || (month == 6) || (month == 9)
|| (month =))
{
printf("nLe mois de %s n'a pas 31 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
/* les autres cas sont ok */
default:
retour = Vrai;
}
return(retour);
}
Je tiens a preciser que c'est toujours dans le cadre de l'utilisation du
switch case !!
( suis rentre dans la norme ?)
"Albert" wrote in message
news:4395a5a5$0$18308$J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
if (year < 1) {
printf("annee incorrecte : %dn", year);
return Faux;
}
if (year == Gregoire && month == 9 && day > 2)
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre
1752 directement dans ce test, ce sera plus lisible.
"Albert" <albert@hall.org> wrote in message
news:4395a5a5$0$18308$8fcfb975@news.wanadoo.fr...
J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
if (year < 1) {
printf("annee incorrecte : %dn", year);
return Faux;
}
if (year == Gregoire && month == 9 && day > 2)
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre
1752 directement dans ce test, ce sera plus lisible.
"Albert" wrote in message
news:4395a5a5$0$18308$J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
if (year < 1) {
printf("annee incorrecte : %dn", year);
return Faux;
}
if (year == Gregoire && month == 9 && day > 2)
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre
1752 directement dans ce test, ce sera plus lisible.
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre
1752 directement dans ce test, ce sera plus lisible.
Tout à fait. Surtout que le fait d'utiliser une majuscule N'est PAS une
convention commune en C pour une constante, et là tu pièges tes lecteurs.
Rien à voir avec les constantes en C. C'est une convention sur les noms
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre
1752 directement dans ce test, ce sera plus lisible.
Tout à fait. Surtout que le fait d'utiliser une majuscule N'est PAS une
convention commune en C pour une constante, et là tu pièges tes lecteurs.
Rien à voir avec les constantes en C. C'est une convention sur les noms
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre
1752 directement dans ce test, ce sera plus lisible.
Tout à fait. Surtout que le fait d'utiliser une majuscule N'est PAS une
convention commune en C pour une constante, et là tu pièges tes lecteurs.
Rien à voir avec les constantes en C. C'est une convention sur les noms
Pour le code, s'il fonctionne, c'est un miracle (sur le sujet, voir les
"Dialogues de saint Grégoire le Grand sur les miracles des Pères
d'Italie"), vu la position des break.
Pour le code, s'il fonctionne, c'est un miracle (sur le sujet, voir les
"Dialogues de saint Grégoire le Grand sur les miracles des Pères
d'Italie"), vu la position des break.
Pour le code, s'il fonctionne, c'est un miracle (sur le sujet, voir les
"Dialogues de saint Grégoire le Grand sur les miracles des Pères
d'Italie"), vu la position des break.
"Albert" wrote in message
news:4395a5a5$0$18308$Bonjour a tous,
J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
Encore une fois peu importe l'algo ( bien que la remarque de Charlie
Gordon pose pour moi Pb) :-)
Effectivement, il y a toujours des problemes.int test_jour( int day, int month, int year ) /* coherence des jours
et mois faite avant l'appel a cette fonction */
{
int retourúux; /* Faux Vrai definis + haut */
Je suppose que Faux est défini à 0 et Vrai à 1, tout autre choix serait mal venu
(certains ont essayé : ils ont eu des problèmes ;-)
Je persiste à dire qu'il FAUT tester les plages de day, month et year ici.
Le fait que tu le fasses ailleurs est anecdotique.
Juste pour rire ? :-)
ensemble cohérent
justement
compréhensible par le lecteur du code.*
elle devrait implémenter tous les tests pour valider que day/month/year est un
jour correct.
Explicite SVP .
if (day < 1 || day > 31) {
printf("jour incorrect : %dn", day);
return Faux;
}
if (month < 1 || month > 12) {
printf("mois incorrect : %dn", month);
return Faux;
}
if (year < 1) {
printf("annee incorrecte : %dn", year);
return Faux;
}
Ensuite il n'y a plus que les cas particuliers à tester
?
/* cas special de l'annee ( 1752 accepte mais Hors Sujet ... ) mois
& jour du changement : on retourne Faux ( + tard) */
if (year == Gregoire && month == 9 && day > 2)
{
printf("nAttention annee, mois et jour >2 du passage Julien ->
Gregorien !n");
printf("---------> On verra plus tard <--------------nn");
return(Faux);
}
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre 1752
directement dans ce test, ce sera plus lisible.
T'est francais toi
1582, mais elle n'a pas été appliquée tout de suite dans toutes les régions...
le 2 sept 1752 seulement pour certains pays anglo-saxons.
ok
de définir l'annee et pas aussi le mois et les jours concernés, le lecteur
pourrait imaginer que la definition de Gregoire permet d'adapter le programme
aux différentes régions quant à la date de prise en compte de la réforme, mais
ce n'est pas le cas en l'état.
Tu peux même facilement mettre le test correct :
if (year == 1752 && month
== 9 && day > 2 && day < 14) {
printf("nDate incorrecte dans la plage supprimée par la réforme du
calendrier grégorien anglo-saxon.nn");K&R
return Faux;
}switch (day)
{
case 29:
if ( month != 2)
{
retour = Vrai;
break;
}
if ( year%4 == 0 && (year%400 == 0 || year%100 != 0)) /* 1500
?? charlie G. */
{
printf("nL'nnee %d est bien Bissextile !!nn",year);
retour = Vrai;
}
else
{
printf("nAnnee non bissextile !!nn");
retour = Faux;
}
break;
Pourquoi mettre une majuscule à bissextile ?
Pourquoi une fois sur deux seulement ?
Voici une explication pour ma remarque concernant 1500 qui te pose problème :
Ton test pour les années bissextiles est faux pour certaines années antérieures
à 1752
calendrier Julien qui était en vigueur alors (je passe sur les détails sordides
concernant le passage du 1er mars au 1er janvier pour le début de l'année, et
les imprécisions concernant la date de prise en compte effective de la réforme
de Jules César et d'Auguste...)
Il faut un peu compliquer la formule comme ceci :
if (year % 4 == 0 && (year <= 1752 || year % 400 == 0 || year % 100 != 0)) {
// annee bissextile
} else {
// annee non bissextile dans le calendrier anglo-saxon.
}case 30:
if ( month == 2)
{
printf("n Le mois de %s n'a pas 30 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
Il manque toujours un break ici. Dans le cas des mois differents de 2, le code
de case 31 sera executé et donc les dates du 30 avril, 30 juin, 30 septembre et
30 novembre seront refusées à tort. Contrairement à d'autres langages, il n'y a
pas de break implicite entre les case d'un swith en C.case 31:
if ((month == 2) || (month == 4) || (month == 6) || (month == 9)
|| (month =))
{
printf("nLe mois de %s n'a pas 31 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
Manque aussi un break ici, mais par chance sans conséquences./* les autres cas sont ok */
default:
retour = Vrai;
Il manque aussi un break ici, il est optionnel, mais fortement recommandé!}
return(retour);
}Je tiens a preciser que c'est toujours dans le cadre de l'utilisation du
switch case !!
( suis rentre dans la norme ?)
Tu étais déjà dans la norme C, mais pas dans les conventions habituelles, de
plus l'algorithme était incomplet et incorrect.
Le C est un langage piégeux, et tu est tombé dans certaines de ces
chausses-trappes à l'origine de nombreux bugs.
Pour éviter cela, il est important d'être très soigneux et d'appliquer
systématiquement les pratiques recommandées par de plus experts que toi, de
compiler avec tous les avertissements que le compilateur peut emettre et de
corriger le code pour y remédier.
Enfin évite de laisser des tabulations dans ton code, utilise des espaces pour
indenter, cela permet de préserver la présentation quelle que soit
l'environnement, comme ici où les tabs sont carrément ignorés.
"Albert" <albert@hall.org> wrote in message
news:4395a5a5$0$18308$8fcfb975@news.wanadoo.fr...
Bonjour a tous,
J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
Encore une fois peu importe l'algo ( bien que la remarque de Charlie
Gordon pose pour moi Pb) :-)
Effectivement, il y a toujours des problemes.
int test_jour( int day, int month, int year ) /* coherence des jours
et mois faite avant l'appel a cette fonction */
{
int retourúux; /* Faux Vrai definis + haut */
Je suppose que Faux est défini à 0 et Vrai à 1, tout autre choix serait mal venu
(certains ont essayé : ils ont eu des problèmes ;-)
Je persiste à dire qu'il FAUT tester les plages de day, month et year ici.
Le fait que tu le fasses ailleurs est anecdotique.
Juste pour rire ? :-)
ensemble cohérent
justement
compréhensible par le lecteur du code.*
elle devrait implémenter tous les tests pour valider que day/month/year est un
jour correct.
Explicite SVP .
if (day < 1 || day > 31) {
printf("jour incorrect : %dn", day);
return Faux;
}
if (month < 1 || month > 12) {
printf("mois incorrect : %dn", month);
return Faux;
}
if (year < 1) {
printf("annee incorrecte : %dn", year);
return Faux;
}
Ensuite il n'y a plus que les cas particuliers à tester
?
/* cas special de l'annee ( 1752 accepte mais Hors Sujet ... ) mois
& jour du changement : on retourne Faux ( + tard) */
if (year == Gregoire && month == 9 && day > 2)
{
printf("nAttention annee, mois et jour >2 du passage Julien ->
Gregorien !n");
printf("---------> On verra plus tard <--------------nn");
return(Faux);
}
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre 1752
directement dans ce test, ce sera plus lisible.
T'est francais toi
1582, mais elle n'a pas été appliquée tout de suite dans toutes les régions...
le 2 sept 1752 seulement pour certains pays anglo-saxons.
ok
de définir l'annee et pas aussi le mois et les jours concernés, le lecteur
pourrait imaginer que la definition de Gregoire permet d'adapter le programme
aux différentes régions quant à la date de prise en compte de la réforme, mais
ce n'est pas le cas en l'état.
Tu peux même facilement mettre le test correct :
if (year == 1752 && month
== 9 && day > 2 && day < 14) {
printf("nDate incorrecte dans la plage supprimée par la réforme du
calendrier grégorien anglo-saxon.nn");K&R
return Faux;
}
switch (day)
{
case 29:
if ( month != 2)
{
retour = Vrai;
break;
}
if ( year%4 == 0 && (year%400 == 0 || year%100 != 0)) /* 1500
?? charlie G. */
{
printf("nL'nnee %d est bien Bissextile !!nn",year);
retour = Vrai;
}
else
{
printf("nAnnee non bissextile !!nn");
retour = Faux;
}
break;
Pourquoi mettre une majuscule à bissextile ?
Pourquoi une fois sur deux seulement ?
Voici une explication pour ma remarque concernant 1500 qui te pose problème :
Ton test pour les années bissextiles est faux pour certaines années antérieures
à 1752
calendrier Julien qui était en vigueur alors (je passe sur les détails sordides
concernant le passage du 1er mars au 1er janvier pour le début de l'année, et
les imprécisions concernant la date de prise en compte effective de la réforme
de Jules César et d'Auguste...)
Il faut un peu compliquer la formule comme ceci :
if (year % 4 == 0 && (year <= 1752 || year % 400 == 0 || year % 100 != 0)) {
// annee bissextile
} else {
// annee non bissextile dans le calendrier anglo-saxon.
}
case 30:
if ( month == 2)
{
printf("n Le mois de %s n'a pas 30 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
Il manque toujours un break ici. Dans le cas des mois differents de 2, le code
de case 31 sera executé et donc les dates du 30 avril, 30 juin, 30 septembre et
30 novembre seront refusées à tort. Contrairement à d'autres langages, il n'y a
pas de break implicite entre les case d'un swith en C.
case 31:
if ((month == 2) || (month == 4) || (month == 6) || (month == 9)
|| (month =))
{
printf("nLe mois de %s n'a pas 31 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
Manque aussi un break ici, mais par chance sans conséquences.
/* les autres cas sont ok */
default:
retour = Vrai;
Il manque aussi un break ici, il est optionnel, mais fortement recommandé!
}
return(retour);
}
Je tiens a preciser que c'est toujours dans le cadre de l'utilisation du
switch case !!
( suis rentre dans la norme ?)
Tu étais déjà dans la norme C, mais pas dans les conventions habituelles, de
plus l'algorithme était incomplet et incorrect.
Le C est un langage piégeux, et tu est tombé dans certaines de ces
chausses-trappes à l'origine de nombreux bugs.
Pour éviter cela, il est important d'être très soigneux et d'appliquer
systématiquement les pratiques recommandées par de plus experts que toi, de
compiler avec tous les avertissements que le compilateur peut emettre et de
corriger le code pour y remédier.
Enfin évite de laisser des tabulations dans ton code, utilise des espaces pour
indenter, cela permet de préserver la présentation quelle que soit
l'environnement, comme ici où les tabs sont carrément ignorés.
"Albert" wrote in message
news:4395a5a5$0$18308$Bonjour a tous,
J'ai pris note de toutes vos remarques, aussi je propose ce nouveau
code. Plus de return mais une var local retour;
Encore une fois peu importe l'algo ( bien que la remarque de Charlie
Gordon pose pour moi Pb) :-)
Effectivement, il y a toujours des problemes.int test_jour( int day, int month, int year ) /* coherence des jours
et mois faite avant l'appel a cette fonction */
{
int retourúux; /* Faux Vrai definis + haut */
Je suppose que Faux est défini à 0 et Vrai à 1, tout autre choix serait mal venu
(certains ont essayé : ils ont eu des problèmes ;-)
Je persiste à dire qu'il FAUT tester les plages de day, month et year ici.
Le fait que tu le fasses ailleurs est anecdotique.
Juste pour rire ? :-)
ensemble cohérent
justement
compréhensible par le lecteur du code.*
elle devrait implémenter tous les tests pour valider que day/month/year est un
jour correct.
Explicite SVP .
if (day < 1 || day > 31) {
printf("jour incorrect : %dn", day);
return Faux;
}
if (month < 1 || month > 12) {
printf("mois incorrect : %dn", month);
return Faux;
}
if (year < 1) {
printf("annee incorrecte : %dn", year);
return Faux;
}
Ensuite il n'y a plus que les cas particuliers à tester
?
/* cas special de l'annee ( 1752 accepte mais Hors Sujet ... ) mois
& jour du changement : on retourne Faux ( + tard) */
if (year == Gregoire && month == 9 && day > 2)
{
printf("nAttention annee, mois et jour >2 du passage Julien ->
Gregorien !n");
printf("---------> On verra plus tard <--------------nn");
return(Faux);
}
Pourquoi définir Gregoire ailleurs pour l'année 1752 ? Autant mettre 1752
directement dans ce test, ce sera plus lisible.
T'est francais toi
1582, mais elle n'a pas été appliquée tout de suite dans toutes les régions...
le 2 sept 1752 seulement pour certains pays anglo-saxons.
ok
de définir l'annee et pas aussi le mois et les jours concernés, le lecteur
pourrait imaginer que la definition de Gregoire permet d'adapter le programme
aux différentes régions quant à la date de prise en compte de la réforme, mais
ce n'est pas le cas en l'état.
Tu peux même facilement mettre le test correct :
if (year == 1752 && month
== 9 && day > 2 && day < 14) {
printf("nDate incorrecte dans la plage supprimée par la réforme du
calendrier grégorien anglo-saxon.nn");K&R
return Faux;
}switch (day)
{
case 29:
if ( month != 2)
{
retour = Vrai;
break;
}
if ( year%4 == 0 && (year%400 == 0 || year%100 != 0)) /* 1500
?? charlie G. */
{
printf("nL'nnee %d est bien Bissextile !!nn",year);
retour = Vrai;
}
else
{
printf("nAnnee non bissextile !!nn");
retour = Faux;
}
break;
Pourquoi mettre une majuscule à bissextile ?
Pourquoi une fois sur deux seulement ?
Voici une explication pour ma remarque concernant 1500 qui te pose problème :
Ton test pour les années bissextiles est faux pour certaines années antérieures
à 1752
calendrier Julien qui était en vigueur alors (je passe sur les détails sordides
concernant le passage du 1er mars au 1er janvier pour le début de l'année, et
les imprécisions concernant la date de prise en compte effective de la réforme
de Jules César et d'Auguste...)
Il faut un peu compliquer la formule comme ceci :
if (year % 4 == 0 && (year <= 1752 || year % 400 == 0 || year % 100 != 0)) {
// annee bissextile
} else {
// annee non bissextile dans le calendrier anglo-saxon.
}case 30:
if ( month == 2)
{
printf("n Le mois de %s n'a pas 30 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
Il manque toujours un break ici. Dans le cas des mois differents de 2, le code
de case 31 sera executé et donc les dates du 30 avril, 30 juin, 30 septembre et
30 novembre seront refusées à tort. Contrairement à d'autres langages, il n'y a
pas de break implicite entre les case d'un swith en C.case 31:
if ((month == 2) || (month == 4) || (month == 6) || (month == 9)
|| (month =))
{
printf("nLe mois de %s n'a pas 31 jours !!!nn",t_mois[month-1]);
retour = Faux;
break;
}
Manque aussi un break ici, mais par chance sans conséquences./* les autres cas sont ok */
default:
retour = Vrai;
Il manque aussi un break ici, il est optionnel, mais fortement recommandé!}
return(retour);
}Je tiens a preciser que c'est toujours dans le cadre de l'utilisation du
switch case !!
( suis rentre dans la norme ?)
Tu étais déjà dans la norme C, mais pas dans les conventions habituelles, de
plus l'algorithme était incomplet et incorrect.
Le C est un langage piégeux, et tu est tombé dans certaines de ces
chausses-trappes à l'origine de nombreux bugs.
Pour éviter cela, il est important d'être très soigneux et d'appliquer
systématiquement les pratiques recommandées par de plus experts que toi, de
compiler avec tous les avertissements que le compilateur peut emettre et de
corriger le code pour y remédier.
Enfin évite de laisser des tabulations dans ton code, utilise des espaces pour
indenter, cela permet de préserver la présentation quelle que soit
l'environnement, comme ici où les tabs sont carrément ignorés.
Je reste etonne de la vehemence de ce forum.
J'ai pris parti pour l'accuse je l'avoue mais je pensais etre entre
personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Je reste etonne de la vehemence de ce forum.
J'ai pris parti pour l'accuse je l'avoue mais je pensais etre entre
personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Je reste etonne de la vehemence de ce forum.
J'ai pris parti pour l'accuse je l'avoue mais je pensais etre entre
personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Il faut eviter ce mot car chacun sait qu'il n'est que ce que l'on CROIT
savoir Je dirais par exemple une celebre phrase d'Apelle " sutor ne supra
crepidam"
"Branlare humanum est, sed perseverara diabolicum", sans oublier le
en quelques lignes:
de quoi ?
T'est francais toi
Attention. C'est "Tu ais français, toi ?"
Je reste etonne de la vehemence de ce forum.
Ce forum est étonnnant. On y trouve de tout. La preuve ...
J'ai pris parti pour l'accuse je l'avoue
"Mon vieux complice", comme disait la fille de joie.
mais je pensais etre entre personnes
intellgentes et surtout pas SECTAIRES.
Suis decu
Vous arrêtez de fumer , vous aussi ? Si vous vouler parler, je suis à
Il faut eviter ce mot car chacun sait qu'il n'est que ce que l'on CROIT
savoir Je dirais par exemple une celebre phrase d'Apelle " sutor ne supra
crepidam"
"Branlare humanum est, sed perseverara diabolicum", sans oublier le
en quelques lignes:
de quoi ?
T'est francais toi
Attention. C'est "Tu ais français, toi ?"
Je reste etonne de la vehemence de ce forum.
Ce forum est étonnnant. On y trouve de tout. La preuve ...
J'ai pris parti pour l'accuse je l'avoue
"Mon vieux complice", comme disait la fille de joie.
mais je pensais etre entre personnes
intellgentes et surtout pas SECTAIRES.
Suis decu
Vous arrêtez de fumer , vous aussi ? Si vous vouler parler, je suis à
Il faut eviter ce mot car chacun sait qu'il n'est que ce que l'on CROIT
savoir Je dirais par exemple une celebre phrase d'Apelle " sutor ne supra
crepidam"
"Branlare humanum est, sed perseverara diabolicum", sans oublier le
en quelques lignes:
de quoi ?
T'est francais toi
Attention. C'est "Tu ais français, toi ?"
Je reste etonne de la vehemence de ce forum.
Ce forum est étonnnant. On y trouve de tout. La preuve ...
J'ai pris parti pour l'accuse je l'avoue
"Mon vieux complice", comme disait la fille de joie.
mais je pensais etre entre personnes
intellgentes et surtout pas SECTAIRES.
Suis decu
Vous arrêtez de fumer , vous aussi ? Si vous vouler parler, je suis à
Il faut eviter ce mot car chacun sait qu'il n'est que ce que l'on CROIT
savoir Je dirais par exemple une celebre phrase d'Apelle " sutor ne supra
crepidam"
"Branlare humanum est, sed perseverara diabolicum", sans oublier le
en quelques lignes:
de quoi ?
T'est francais toi
Attention. C'est "Tu ais français, toi ?"
Je reste etonne de la vehemence de ce forum.
Ce forum est étonnnant. On y trouve de tout. La preuve ...
J'ai pris parti pour l'accuse je l'avoue
"Mon vieux complice", comme disait la fille de joie.
mais je pensais etre entre personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Vous arrêtez de fumer , vous aussi ? Si vous voulez parler, je suis à
Il faut eviter ce mot car chacun sait qu'il n'est que ce que l'on CROIT
savoir Je dirais par exemple une celebre phrase d'Apelle " sutor ne supra
crepidam"
"Branlare humanum est, sed perseverara diabolicum", sans oublier le
en quelques lignes:
de quoi ?
T'est francais toi
Attention. C'est "Tu ais français, toi ?"
Je reste etonne de la vehemence de ce forum.
Ce forum est étonnnant. On y trouve de tout. La preuve ...
J'ai pris parti pour l'accuse je l'avoue
"Mon vieux complice", comme disait la fille de joie.
mais je pensais etre entre personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Vous arrêtez de fumer , vous aussi ? Si vous voulez parler, je suis à
Il faut eviter ce mot car chacun sait qu'il n'est que ce que l'on CROIT
savoir Je dirais par exemple une celebre phrase d'Apelle " sutor ne supra
crepidam"
"Branlare humanum est, sed perseverara diabolicum", sans oublier le
en quelques lignes:
de quoi ?
T'est francais toi
Attention. C'est "Tu ais français, toi ?"
Je reste etonne de la vehemence de ce forum.
Ce forum est étonnnant. On y trouve de tout. La preuve ...
J'ai pris parti pour l'accuse je l'avoue
"Mon vieux complice", comme disait la fille de joie.
mais je pensais etre entre personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Vous arrêtez de fumer , vous aussi ? Si vous voulez parler, je suis à
Je reste etonne de la vehemence de ce forum.
J'ai pris parti pour l'accuse je l'avoue mais je pensais etre entre
personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Je reste etonne de la vehemence de ce forum.
J'ai pris parti pour l'accuse je l'avoue mais je pensais etre entre
personnes intellgentes et surtout pas SECTAIRES.
Suis decu
Je reste etonne de la vehemence de ce forum.
J'ai pris parti pour l'accuse je l'avoue mais je pensais etre entre
personnes intellgentes et surtout pas SECTAIRES.
Suis decu