nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 2007
-
26 avril 2006 à 22:14
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007
-
27 avril 2006 à 10:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
meech
Messages postés209Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention14 août 2007 27 avril 2006 à 10:40
Salut,
Pour les problèmes d'affichage des caractères spéciaux dans la console, il convient d'utiliser la fonction OemToChar.
Ciao.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 27 avril 2006 à 01:53
Prends bien en compte tout ce qui t'a été dit plus haut.
Evite de mettre un exe la prochaine fois.
Attends d'avoir plus élaboré à nous proposer dans un prochaine source, celle ci restera jusqu'à dimanche.
Bonne continuation.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 26 avril 2006 à 23:15
if(j_sem == 0) cprintf("samedi");
else if(j_sem == 1) cprintf("dimanche");
else if(j_sem == 2) cprintf("lundi");
else if(j_sem == 3) cprintf("mardi");
else if(j_sem == 4) cprintf("mercredi");
else if(j_sem == 5) cprintf("jeudi");
else if(j_sem 6) cprintf("vendredi");
> A remplacer absolument par un switch. Ou si tu utilises beaucoup les jours de la semaine, créer un tableau de chaines et donc toutes tes lignes serait remplacées par:
cprintf(jour_semaine[j_sem]);
En réponse à nightlord, random suit randomize. Donc aucun pb avec la fonction random.
A part ca, ton code est relativement lisible (car généralement bien identé et espacé) à part certain endroit abominable. Mais comme tu as l'air de commencer a maitriser les fonctions ultra basiques du C. Il faut pas s'arreter sur ces quelques fonctions, mais voir toutes les possiblités du langage.
Bon évidemment, je suis d'accord avec nightlord, ton code ne sera utile qu'à toi puisque ca t'as permis de pratiquer, mais ca n'apportera rien à un débutant.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 26 avril 2006 à 23:12
je fais pas de c++ mais
while( (degres < 1 || degres > 2) && degres != 0);
Se simplifie en while((degres < 0) || (degres > 2))
moi je le simplifierais en : while( degres > 0);
plus grand que 0 ou plus grand que 2 vaudrais pas mieu dire :plus grand que 0 ?
nightlord666
Messages postés746Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 mai 200710 26 avril 2006 à 22:14
Personellement, je n'ai même pas regardé ton code, car voir un fichier source d'une taille si grosse, ça ne me donne pas envie... Bon je vais être sympa, je vais essayer...
1: Il faudrait que tu apprenne à mettre tes fonctions dans des fichiers séparés, avec des headers séparés. Ca permettrait d'augmenter la lisibilité de ton code.
2: #define TRUE 1
#define FALSE 0
--> Inutile : ce sont des mots-clés du C++ et utilisables avec maintenant presque tous les compilateurs.
3: L'executable doit être renommé en ._exe ou toute autre extension, car il est effacé à l'upload.
4: main() s'écrit normalement int main() ou int main(int argc, char** argv) ou int main(int argc, char** argv, char** envp).
Je pense que cette syntaxe de main n'est pas compatible avec tous les compilateurs (en tout cas, pas avec GCC).
5: sleep(1)
A quoi bon faire attendre une milliseconde ?
7: valid = TRUE;
if(a < 1582 || m < 1 || m > 12) valid = FALSE;
else if((m 1 || m 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
&& (j < 1 || j > 31)) valid = FALSE;
else if((m 4 || m 6 || m == 9 || m == 11) && (j < 1 || j > 30))
valid = FALSE;
else if(m == 2)
Pourrais tu me dire à quoi ça sert ? Je n'ai pas compris ?
8: Les accents ne passent pas sur la console DOS de Win XP, ça ne fait pas très beau...
9: Je ne connais pas la fonction random(), mais en tout cas je ne vois aucun srand dans ta source. random() appelle t-il srand lui-même ?
Bon je vais m'arrêter là pour les fautes et remarques en tout genre.
Ta source n'a pas un très grand interêt en elle-même je trouve (sauf qu'elle m'a appris les règles du craps ^^). Il faudra que tu fasse des sources plus utiles, et surtout plus optimisées, car je n'ai jamais vu un code si gros et qui fait si peut de chose (p-e à cause de l'utilisation de conio...).
27 avril 2006 à 10:40
Pour les problèmes d'affichage des caractères spéciaux dans la console, il convient d'utiliser la fonction OemToChar.
Ciao.
27 avril 2006 à 01:53
Evite de mettre un exe la prochaine fois.
Attends d'avoir plus élaboré à nous proposer dans un prochaine source, celle ci restera jusqu'à dimanche.
Bonne continuation.
26 avril 2006 à 23:15
else if(j_sem == 1) cprintf("dimanche");
else if(j_sem == 2) cprintf("lundi");
else if(j_sem == 3) cprintf("mardi");
else if(j_sem == 4) cprintf("mercredi");
else if(j_sem == 5) cprintf("jeudi");
else if(j_sem 6) cprintf("vendredi");
> A remplacer absolument par un switch. Ou si tu utilises beaucoup les jours de la semaine, créer un tableau de chaines et donc toutes tes lignes serait remplacées par:
cprintf(jour_semaine[j_sem]);
En réponse à nightlord, random suit randomize. Donc aucun pb avec la fonction random.
A part ca, ton code est relativement lisible (car généralement bien identé et espacé) à part certain endroit abominable. Mais comme tu as l'air de commencer a maitriser les fonctions ultra basiques du C. Il faut pas s'arreter sur ces quelques fonctions, mais voir toutes les possiblités du langage.
Bon évidemment, je suis d'accord avec nightlord, ton code ne sera utile qu'à toi puisque ca t'as permis de pratiquer, mais ca n'apportera rien à un débutant.
26 avril 2006 à 23:12
while( (degres < 1 || degres > 2) && degres != 0);
Se simplifie en while((degres < 0) || (degres > 2))
moi je le simplifierais en : while( degres > 0);
plus grand que 0 ou plus grand que 2 vaudrais pas mieu dire :plus grand que 0 ?
26 avril 2006 à 22:14
1: Il faudrait que tu apprenne à mettre tes fonctions dans des fichiers séparés, avec des headers séparés. Ca permettrait d'augmenter la lisibilité de ton code.
2: #define TRUE 1
#define FALSE 0
--> Inutile : ce sont des mots-clés du C++ et utilisables avec maintenant presque tous les compilateurs.
3: L'executable doit être renommé en ._exe ou toute autre extension, car il est effacé à l'upload.
4: main() s'écrit normalement int main() ou int main(int argc, char** argv) ou int main(int argc, char** argv, char** envp).
Je pense que cette syntaxe de main n'est pas compatible avec tous les compilateurs (en tout cas, pas avec GCC).
5: sleep(1)
A quoi bon faire attendre une milliseconde ?
6: while( (degres < 1 || degres > 2) && degres != 0);
Se simplifie en while((degres < 0) || (degres > 2))
7: valid = TRUE;
if(a < 1582 || m < 1 || m > 12) valid = FALSE;
else if((m 1 || m 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
&& (j < 1 || j > 31)) valid = FALSE;
else if((m 4 || m 6 || m == 9 || m == 11) && (j < 1 || j > 30))
valid = FALSE;
else if(m == 2)
Pourrais tu me dire à quoi ça sert ? Je n'ai pas compris ?
8: Les accents ne passent pas sur la console DOS de Win XP, ça ne fait pas très beau...
9: Je ne connais pas la fonction random(), mais en tout cas je ne vois aucun srand dans ta source. random() appelle t-il srand lui-même ?
Bon je vais m'arrêter là pour les fautes et remarques en tout genre.
Ta source n'a pas un très grand interêt en elle-même je trouve (sauf qu'elle m'a appris les règles du craps ^^). Il faudra que tu fasse des sources plus utiles, et surtout plus optimisées, car je n'ai jamais vu un code si gros et qui fait si peut de chose (p-e à cause de l'utilisation de conio...).