-> LA <- CALCULETTE POUR CALCULER PLEIN DE TRUCS !!!!!!

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 7 déc. 2003 à 02:46
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004 - 13 déc. 2003 à 09:24
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/18480-la-calculette-pour-calculer-plein-de-trucs

mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
13 déc. 2003 à 09:24
Qui peu m'aider ? J'arriv pa a mètre plusieurs couleurs de textes en même temps sur l'écran.

Moi quand je fais ça ca affiche tout dans la première couleur que j'ai choisi :



// ici par exemple tout sera écrit en bleu au lieu de bleu-rouge-jaune
textcolo(BLUE); clrscr();
printf("écrit en bleu");
textcolor(RED);
printf("écrit en rouge");
textcolor(YELLOW);
printf("écrit en jaune");

Qui pourrai m'aider ?
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
12 déc. 2003 à 23:27
ca allegerais qd meme beaucoup les envois de mails ...

cote algo, je pense que ca serai simple a modifier :
qd un nouveau msg arrive, le script envoie un mail au participants du post. Vu que celui qui a deja poste 2 fois ne recois qu'un seul mail, il doit bien y avoir un flag qui sert a retenir qu'une alerte a deja ete envoyee au participant.

une fois que la liste des msg a ete scannee (ou au debut du script) , le flag est remis a 0.

il suffirais de ne le mettre a 0 que lorsque le participant vient lire les msgs, comme ca il ne recevrai qu'un mail au 1er msg qui arrive. Pour les autres msgs entrant, le script verrai le flag a 1 et n'e,verrai pas le mail d'alerte

tout depend de l'endoit ou le flag est reinitialise
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
12 déc. 2003 à 09:53
et puis aussi, c intéressant de svr qu'il y a des nvo msg sur un code, mais c pas super de savoir qu'il y en a 5, on le verra bien quand on ira voir le code...
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
12 déc. 2003 à 00:31
faudrai gerer du multipage la ...

si a l'occasion on pouvais eviter de recevoire un mail pour le message qu'on viens de rajouter soi-meme...

j'aime bien savoir qd quelqu'un a ecris derriere moi, mais ca m'interresse pas tellement de savoir que moi j'ai ecris quelque chose ...
ou alors reformuler le sujet du mail dans ce cas la, genre "confirmation de depot du message"

un 'tit algo :

for (i=0; i<NbCommentateursDuPost;i++)
if (strcmp(Commentateur[i].Email, AuteurPostEnCours.Email))
EmailNewPost(Commentateur[i].Email);

je sais plus si il faut un ! devant strcmp, mais l'idee est la. ca couterais pas grand chose en ressources et ca economiserais un peu de BP
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
10 déc. 2003 à 20:27
ouè et je croi ki kommen a yen avoir bcp ! lol
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
10 déc. 2003 à 20:25
gars louche à raison, c'est pas très grave, ce sont les commentaires qui comptent.
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
10 déc. 2003 à 20:13
ouè ta raison
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
10 déc. 2003 à 20:11
L'important c'est que toi tu saches ce que tu vaux!
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
10 déc. 2003 à 20:08
Et commen je vé faire remonter ma moyenne maintenant !!!!!! ??????
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 déc. 2003 à 16:01
Pour cette raison que chacun doit prevenir des qu'il voit un truc lui semblant anormal, nous n'intervenons que si nous sommes prevenus. Les admins CS font cela en plus de leur boulot et on ne peut pas tout voir, il faut nous aider a maintenir convivial ce site communautaire.
Bossez bien.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
10 déc. 2003 à 15:53
merci BruNews :-)

arf, c'est qd même dommage pour les codes sources qu'il a mal coté, il y en a eu pas mal, en tout cas j'en ai vu plus d'un depuis ce matin O_o

à pluche ;-)
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
10 déc. 2003 à 15:35
lol C vrè je l'ai mêm pa vu ds la list des inscrits
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
10 déc. 2003 à 15:33
Cela ne devrait plus se produire, nous l'avons expulse dans la matinee.
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
10 déc. 2003 à 15:26
merci kirua jte revodrè ca
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
10 déc. 2003 à 15:24
ça doit être bruniouze (pas BruNews) qui fout la merde depuis ce matin, il a fait ça sur pleins de codes !!
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
10 déc. 2003 à 15:06
C ki ki ma foutu une sale note ?
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
10 déc. 2003 à 08:00
garslouche, oui je sais bien, c pr ça que j'ai dit pour les architecture 32 bits, et je connais pas grand monde qui a ds son salon ou ds sa chambre un PC 64 bits...

hmm, kimmself, pr info, y a déjà une classe Complex fournie ds les en-têtes standards de C++, si ça t'intéresse.
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
10 déc. 2003 à 00:48
perso je separerais la partie entiere de la partie decimale.

c'est + simple pour la somme :

decimale1 + decimale2 = decimale3 + retenueDECIMALE
retenueDECIMALE + entiere1 + entiere2 = entiere3 + retenueENTIERE

par contre, pour les multiplications, ta metode est + rapide je pense :
n1 * n2 = n3
PosVirg 3 = PosVirg1 + PosVirg2


c'est comme pour les nombres complexes, sur l'utilisation des formes a+ib ou M exp(iTeta) : la 1e est preferable pour les sommes/soustractions alors que la 2e est preferable pour les multiplications/divisions ...
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
9 déc. 2003 à 23:44
euh non.... 32 bits ne veut pas dire PC !!! Ca veut juste dire que le processeur travaille modulo 2^32 !
Tu peux très bien avoir des PC sur 64 bits (d'ailleurs ils arrivent sur le marché)

Et Win32 c'est le nom des API qui utilisent le fait que le processeur soit en 32 bits
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
9 déc. 2003 à 20:35
oui ben après je me suis rendu compte d'un truc, en approfondissant, stdint ne propose que des entiers de max 64 bits, or un long int du C++ classique le fait aussi (avec des ordinnateurs 32bits, ce qui est le cas typiquement des PC (on dit bien Win32 pour windows qui tourne sur des PC)
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
9 déc. 2003 à 18:09
lol kirua mé bon on peut pa tt savoir ! on en appren tt lé jour !
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
9 déc. 2003 à 17:37
AH !
je viens de découvrir ça, lol, ... c la honte mais bon:
il existe un en-tête appelé stdint.h qui intègre des implémentations de types d'entiers de plus grande précision (par exemple le _uint64 qui est un entier non signé sur 64 bits). Il y a surement d'autres "espèces"

ce que tu peux faire: une classe de nombre comme je le disais avec le type entier le plus "gros" que stdint propose, et intégrer à ta classe une propriété short virgul; par exemple qui indique la position de la virgule. additionner deux nombres de ce type donnera le int + le int et la position de la virgule reste à déterminer.

c'est une idée rapide, à murir, et le coup de "je stock la position de la virgule" est très certainement une anti-optimisation, mais peut-être que pour un début...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
9 déc. 2003 à 12:52
moi aussi j'ai tenté DJGPP, et j'aime pas, voilà ;-)
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
9 déc. 2003 à 01:17
perso j'ai deja utilise DJGPP, et je trouve ca pas mal, a condition de vouloir rester sous dos...

pour ton jeu, avec DJGPP, je te conseil la libraire allegro qui est orientee jeu. elle te permet de faire des anim de sprites, gerer le son ....

cote graphisme "simples", tu as la librairie GRX20


Mais toujours sous dos ...
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
8 déc. 2003 à 20:40
merci kirua je vé le prendr ca mieu et C vrai k'avec 3 semain de prog un cass brik C pa encor de mon niveau lol
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
8 déc. 2003 à 19:47
laisse un message sur le forum
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2003 à 19:47
après trois semaines de prog tu devrais peut-être pas commencer un casse briques...

enfin, la clef de ton problème, c'est probablement les struct (ou la POO si tu prog en C++)

apprends ça à fond, et ça sera bcp plus clair.
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
8 déc. 2003 à 19:34
KI PEU M'AIDER pr mon prochain prog : jvoudré faire un cass brik mé je sui totalmen largé et ca plante tt le tps !!!!!!!!!! merci bcp
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2003 à 19:33
pour turbo, je l'ai jamais utilisé (enfin, j'utilise Borland C++ Builder, mais pas Turbo C)

pour un bon EDI C++ tu as en gratuit et excellent (je l'utilise) DevC++ de Bloodshed, ils en sont à la version 5 beta (4.9.6.8 il me semble).

et en payant tu as l'autre versant le plus connu: VC++ de Microsoft

pour les autres, tu as bien DJGPP sous Dos (EDI et compilo C++)

Pour Linux tu as KWrite pour la coloration syntaxique, KDevelop comme EDI complet, mais ils sont fournis "en standard" avec les distributions Mandrake en tout cas, les autres je pense que c'est le cas aussi.

Voilà, moi je te conseil DevC++ de Bloodshed, gogogo google ;-)
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
8 déc. 2003 à 19:27
tu C pa ou jpourrè trouver un compliateur en C++ ? turbo C++ ce serai cool j'adore ce prog
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2003 à 19:21
attention, ne fait surtout pas ça:
#define PI 4*atan(1)
!!
parce que les commandes du préprocesseurs (introduites par #) sont en fait des "macros", càd qu'un programme va (avant la compilation et le liage) remplacer ds ton code les PI par 4*atan(1).
le résultat: ton programme va chaque fois recalculer PI alors que c'est une constante !!
je te conseil ceci, qui est uniquement acceptable en C++ (pas en C):

const double PI = 4*atan(1);

tu remplaces ton define par ça et ça ira.
sinon, ben t'as pas le choix -> 3,14... que tu écris à la main ds un define, mais 7 ou 10 décimales suffiront, de tte manière tu vas perdre la précision avec la suite ;-)
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
8 déc. 2003 à 18:01
Sympa tt vos conseils ca mèd bcp packe ca fé ke 3 semain ke je prog et g ke 14 ans (enfin prèsk mon anni c jeudi 11/12)

javé complètemen oublié quon pouvé définir des variables avec des calculs ! merci bcp
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2003 à 12:40
ah ben je me disais aussi !
mais en radians alors, donc c'est bon pour la lib math.h
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
8 déc. 2003 à 11:10
atan(1) = PI /4 !
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2003 à 08:04
t'as vu ça ou pour atan(1) ?? c'est avec quels unité de degrés? (parce que j'ai essayé là tout juste avec ma calc graphique et j'obtiens 45 en degré et 0,57 en radians, en grades ça fait 50)
kimmelf2 Messages postés 267 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 27 novembre 2005
8 déc. 2003 à 02:14
un gros pb avec ton pi : t'es sur que tu ne t'es pas trompe dans une des decimales ???? ca remettrais un question ta precision ;-)

y'a pourtant beaucoup beaucoup beaucoup beaucoup beaucoup + simple :

pi = atan(1);

tout simplement ...
eldered Messages postés 232 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 mai 2022
8 déc. 2003 à 01:13
okok, j'essayeré son un autre PC avec win 98 ! Merci ++
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
7 déc. 2003 à 19:22
eldred moi G win 98 é ca marche tré bien. sinon tu lance ton prog en *.exe et la prend la photo
eldered Messages postés 232 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 mai 2022
7 déc. 2003 à 17:34
Hum, sinon, moi j'avais fait un calculette en Pascal toute pourrie parceque ct mon premier programme lol, ms bon, j'avais fais une mise à l'arrondie a 7 chiffres apres la virgule, sans utiliser l'arrondie "naturelle" du compilo.

Voila le prog : http://perso.wanadoo.fr/eddy.albert/items/progs/appli/ProjetCalculatrice.rar
{Le programme est accompagné d'un rapport technique avec l'explication de cette mise à l'arrondie}

Voila la fonction {C du pascal ms c l'algo qui est important}:

{------------------------------------------------------------------------------}
If (operator='/') then
begin
If (b=0) then {Division}
begin
textcolor(14);
Write(' --> ');
textcolor(7);
Writeln('Division par 0 impossible !!! Veuillez ressaisir ...');
Writeln;
end
else
begin
atemp:=a;
puissance:=1;
resultat:=0;
while ((atemp>0) and (puissance>=0.00000001)) do
begin
tot:=0;
while (atemp-b>=0) do
begin
atemp:=atemp-b;
tot:=tot+1;
end;
If puissance<>0.00000001 then {Test pour l'arrondi}
begin
resultat:=resultat+tot*puissance;
puissance:=puissance*0.1;
atemp:=atemp*10;
end
else
begin
if tot>=5 then
begin
resultat:=resultat+0.0000001; {Mise a l'arrondi}
end;
end;
end;
end;
end;
{------------------------------------------------------------------------------}

Voila, je c pas si ça pe t'aider ms bon c toujours une premiere piste!

++
eldered Messages postés 232 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 mai 2022
7 déc. 2003 à 17:18
Hum, imprim Ecran sous Tc ça marche chez toi, impressionnat ! Tu tournes sous kel os ?

Moi j'ai essayé sous XP pro et 2OOO pro, rien a faire !

++
mnjagg Messages postés 34 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 5 mai 2004
7 déc. 2003 à 15:45
pour prendr un screenshot suffit d'appuer sur Impr. écran pdt que le prgo est en route
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
7 déc. 2003 à 15:37
ouai c'est le mieux a faire, j'avais deja fait une classe longInt sur 64 bits de precision
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
7 déc. 2003 à 12:20
mdr djl, tu me devances, mais j'ai d'autres petites infos ^^
les float te tuent toute ta précision tout simplement parce qu'ils ne sont pas capables d'être précis sur toute leur portée.
ainsi, si le résultat réel est 7,1258697, il se pourrait qu'en mémoire il soit écrit l'équivalent de: 7,1258689, et là, ta précision extraordinnaire: envolée

pour PI à 100 décimales, c'est réellement inutile...

si tu veux créer une calculatrice réellement précise, tu ne pourras pas te contenter des types de base, tu vas devoir créer une classe du genre GrandNombre et une autre FlottantPrecis et là à toi de gérer le stockage des valeurs de manière infaillible, sur des tableaux d'octets, et à toi de surcharger les opérateurs comme un petit fou pour pvr +, -, /, *, +=, -=, *=, /=, %, %=, ==, !=, >, <, >=, <= entre deux éléments de la même classe, entre éléments des deux classes, avec les types conventionnels (int, char, float, double, long, short). ça risque d'être long.

pr faciliter ça, je te conseilles qd même d'utiliser une classe de base Nombre et d'en dériver Flottant et Entier, comme ça tu crées une méthode GetValue() que tu redéfinis dans les classes dérivées, et tu ne dois surcharger les opérateurs que dans la classe de base.
eldered Messages postés 232 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 25 mai 2022
7 déc. 2003 à 11:25
Salut, ton prog est sympas, ms mets les fichiers BGI dans ton zip, a la racine de ton prog, sinon on ne peux pas l'ouvrir !

Sinon, comment tu as fait ton screenShot sous Tc ?
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 déc. 2003 à 10:16
et 20 maxi en 64 bits.
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
7 déc. 2003 à 02:46
ton pi a 100 decimal ne sert a rien, la precision d'un float c'est 7 chiffres!
Rejoignez-nous