Taranael
Messages postés54Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention21 juin 2007
-
5 avril 2005 à 23:07
cerf_volant
Messages postés4Date d'inscriptionmercredi 30 juin 2004StatutMembreDernière intervention 5 mai 2005
-
14 avril 2005 à 15:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Taranael
Messages postés54Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention21 juin 20071 5 avril 2005 à 23:07
Une première amélioration très importante à apporter de toute urgence :
Changer le nom de tes variables ! Parce qu'actuellement le code est parfaitement illisible !! J'ai essayé mais je passe mon temps à chercher à quoi correspondait chaque variable !
Le programme perdra pas en rapidité si une variable s'appelle "PremierOperande" au lieu de "a"
Taranael
Messages postés54Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention21 juin 20071 5 avril 2005 à 23:28
Bon j'me suis un peu battu avec ton code et voilà ce que je dirais d'autre mis à part mon commentaire au dessus (désolé au passage du double mess)
- au début de ton code tu déclares ton main en int , mais finalement tu fais que retourner 0 donc déclares le en void !
- tu as inclus <stdlib.h> mais aucune fonction ne necessite cette bibliothèque , tu peux la virer ! Sinon math.h n'a pas sa place non plus :)
- plutôt que de balancer un main atroce avec 40 variables déclarées au début, utilises plutôt des fonctions , cad dans ton grand switch plutôt que de mettre le code en dur tu fais
switch ( ChoixCalcul )
{
case '2' : CalculReel(); break;
case '3' : CalculComplexe(); break;
default : printf ( "Rate ...");
}
- quand tu fais Variable = Variable * 2 , utilises plutôt la notation plus compacte et plus claire Variable *= 2 , et ça marche avec tous les opérateurs mathématiques
- tu n'as pas traité la division des complexes , si tu ne sais pas comment faire renseignes toi sur internet sur la méthode du conjugué , c'est facile j'ai fait ça en terminale :)
- faute de frappe dans le questionnaire sur les complexes , tu demandes deux fois la puissance de B2 (la première fois il s'agissait de B1)
- quand tu rends un résultat complexe inutile de mettre %d%s%d avec "+i" pour le %s , remplaces directement par %d+i%d
Bon voilà , mis à part le nom des variables c'est à peu près tout ce que j'ai pu remarquer ! On attend la vers 2.0 et sinon si je peux te donner un conseil pour la version 3.0 essait de pouvoir traiter une expression complète d'un seul coup pour les complexes en récupérant une chaine de caractères puis en utilisant des piles ! Je sais que j'avais fait ça en C mais ça fait un moment donc si tu veux plus d'infos demandes moi par mail parce qu'il faut que je retrouve tout ça !
asmanur
Messages postés230Date d'inscriptionmercredi 11 février 2004StatutMembreDernière intervention 4 août 2005 6 avril 2005 à 07:34
Taranael > Main doit tjrs renvoyer un entirer et c'est presque tjrs 0 Je vois pas pk tu veux le déclarer en void : sur certain compilo ca peut en plus générer des erreurs.
Personnellement j'ai rien compris à ta calculette un nomnre complexe c'est bien de la forme a + bi ? Pourquoi tu t'amuses à demander des puissances? à la limite des puissances de 10 je comprendrais mais là je comprends pas.
Autre chose pour traiter entièrement une expression complète c'est extrêment facile :
5.2 + 6.3 => scanf("%f%c%f")
Sinon c'est vrai vaut mieux utiliser des fonctions et des variables claires
a+
morefaya
Messages postés4Date d'inscriptionlundi 15 décembre 2003StatutMembreDernière intervention11 mars 2006 6 avril 2005 à 11:23
ok pas de probleme je vais corriger lecode et le remettre.merci pour les conseils.
Taranael
Messages postés54Date d'inscriptiondimanche 27 février 2005StatutMembreDernière intervention21 juin 20071 6 avril 2005 à 11:42
Je sais pas pour le void j'ai jamais rencontré de problème de compilation
Premier cour de C à l'IUT :
#include <stdio.h>
void main()
{
printf ( "Hello word !");
}
Sous VC6 aucun problème , je crois me souvenir ne pas avoir eu non plus de problèmes avec Dev C++ ou Borland C.
Enfin de toute façon c'est pas grave c'est pas ça qui va faire buger Windows ( quoique XD)
5 avril 2005 à 23:07
Changer le nom de tes variables ! Parce qu'actuellement le code est parfaitement illisible !! J'ai essayé mais je passe mon temps à chercher à quoi correspondait chaque variable !
Le programme perdra pas en rapidité si une variable s'appelle "PremierOperande" au lieu de "a"
5 avril 2005 à 23:28
- au début de ton code tu déclares ton main en int , mais finalement tu fais que retourner 0 donc déclares le en void !
- tu as inclus <stdlib.h> mais aucune fonction ne necessite cette bibliothèque , tu peux la virer ! Sinon math.h n'a pas sa place non plus :)
- plutôt que de balancer un main atroce avec 40 variables déclarées au début, utilises plutôt des fonctions , cad dans ton grand switch plutôt que de mettre le code en dur tu fais
switch ( ChoixCalcul )
{
case '2' : CalculReel(); break;
case '3' : CalculComplexe(); break;
default : printf ( "Rate ...");
}
- quand tu fais Variable = Variable * 2 , utilises plutôt la notation plus compacte et plus claire Variable *= 2 , et ça marche avec tous les opérateurs mathématiques
- tu n'as pas traité la division des complexes , si tu ne sais pas comment faire renseignes toi sur internet sur la méthode du conjugué , c'est facile j'ai fait ça en terminale :)
- faute de frappe dans le questionnaire sur les complexes , tu demandes deux fois la puissance de B2 (la première fois il s'agissait de B1)
- quand tu rends un résultat complexe inutile de mettre %d%s%d avec "+i" pour le %s , remplaces directement par %d+i%d
Bon voilà , mis à part le nom des variables c'est à peu près tout ce que j'ai pu remarquer ! On attend la vers 2.0 et sinon si je peux te donner un conseil pour la version 3.0 essait de pouvoir traiter une expression complète d'un seul coup pour les complexes en récupérant une chaine de caractères puis en utilisant des piles ! Je sais que j'avais fait ça en C mais ça fait un moment donc si tu veux plus d'infos demandes moi par mail parce qu'il faut que je retrouve tout ça !
6 avril 2005 à 07:34
Personnellement j'ai rien compris à ta calculette un nomnre complexe c'est bien de la forme a + bi ? Pourquoi tu t'amuses à demander des puissances? à la limite des puissances de 10 je comprendrais mais là je comprends pas.
Autre chose pour traiter entièrement une expression complète c'est extrêment facile :
5.2 + 6.3 => scanf("%f%c%f")
Sinon c'est vrai vaut mieux utiliser des fonctions et des variables claires
a+
6 avril 2005 à 11:23
6 avril 2005 à 11:42
Premier cour de C à l'IUT :
#include <stdio.h>
void main()
{
printf ( "Hello word !");
}
Sous VC6 aucun problème , je crois me souvenir ne pas avoir eu non plus de problèmes avec Dev C++ ou Borland C.
Enfin de toute façon c'est pas grave c'est pas ça qui va faire buger Windows ( quoique XD)