MULTIPROG

nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 - 26 avril 2006 à 22:14
meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 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.

https://codes-sources.commentcamarche.net/source/37269-multiprog

meech Messages postés 209 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 14 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és 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 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és 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
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és 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
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és 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
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 ?

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...).
Rejoignez-nous