Calcul basique

Résolu
pidoumtimo Messages postés 65 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 18 août 2004 - 26 juil. 2004 à 17:27
pidoumtimo Messages postés 65 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 18 août 2004 - 27 juil. 2004 à 12:01
Suit a un premier message et un plantage de explorer je ne suis pas sur que mon message ai ete posté... donc je me permet de le reposter et je m'excuse pour le dérangement.

j'ai des données chiffrées, je voudrais effectuer des calculs elementaire dessus (multiplication, division et racine carrée).
Pour cela j'include math.h (pour la racine carrée).

Malheureusment kan j'ecris mes ligne de calcul mon pgm plante....alors que j'ai fait les meme calcul avec la meme syntaxe mais en MFC et ca fonctionne parfaitement, ainsi qu'en console...
Je comprend po...

voila le code en question :(y,p,tough,l,thick,lo sont des entier et Kic, Gic, young, poisson, toughness,length,thickness,loading des int*)

Merci pour l'aide !!!

Timo

case IDC_ASSUM1:

GetDlgItemText(NULL,IDC_EDITNAME,name,40);
y=GetDlgItemInt(NULL,EDITYOUNG,young,30);
p=GetDlgItemInt(NULL,EDITPOISSON,poisson,30);
tough=GetDlgItemInt(NULL,EDITTOUGHNESS,toughness,30);
l=GetDlgItemInt(NULL,EDITLENGTHCRACK,length,30);
thick=GetDlgItemInt(NULL,EDITTHICKNESS,thickness,30);
lo=GetDlgItemInt(NULL,EDITLOADING,loading,30);

SetDlgItemInt(hDlg,EDITYOUNG,55,0);

*q=Pi*l*0.001;
*Kic=(*loading)*1000000*sqrt(*p);
*Gic=((3-(*poisson))/(4*(*young)*1000000))*(*Kic);

SetDlgItemInt(NULL,EDITKIC,*Kic,0);

DialogBoxParam(hInst,MAKEINTRESOURCE(IDD_ASSUM1),hWnd,ChildDlgProc,0);

10 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 juil. 2004 à 11:31
Le 3eme param de GetDlgItemInt donne le status d'erreur. Lis la doc sur MSDN.

ciao...
BruNews, Admin CS, MVP Visual C++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 juil. 2004 à 18:56
Tu dis que sont des int*, ok et ils pointent ou ?

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
27 juil. 2004 à 00:17
Le debugage, tu as essayé ?? parceque a mon avis tu aurais pu localiser plus precisement l'erreur, au lieu de nous donner tout le code.
0
pidoumtimo Messages postés 65 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 18 août 2004
27 juil. 2004 à 09:08
Merci pour votre aide.
Pour JDCjdc: oué j'ai deja essayé le debugage mais pour une raison que j'ignore cela ne fonctionne pas, des que je lance le debugage VC plante mechamment.....Je cherche encore pourquoi.

Pour brunews: merci ca arrange une partie de mon probleme.

Mais maintenant que mes pointeurs pointent sur de la mémoire, kan je demande a mon application de mettre les EditBox a jour avec les donnée contenue dans les mémoires pointées par ces meme pointeurs, il n'affiche rien. Pourtant avec un GetGlgItemInt et un SetDlgItemInt cela devrait fonctionner !!
Comprend po...
L'api c'est bien...Mais c po facile....
Merci pour le coup de main.

Timo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
27 juil. 2004 à 10:46
Dans l'Edit il n'y a rien ? Tu donnes les bons parametres au SetDlgItemInt ?
0
pidoumtimo Messages postés 65 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 18 août 2004
27 juil. 2004 à 10:50
bah je pense. Je t'avouerai que c'est la premiere fois que je fais ca donc je peut me tromper.

J'ai fait :

SetDlgItemInt(hDlg,EDITPOISSON,*young,0);

hDlg etant un handle sur ma fenetre, EDITPOISSON l'ID de l'EditBox visée, *young l'entier a afficher obtenue avec un GetDlgItemInt(hDlg,EDITYOUNG,young,0);.

Je te remercie pour ton aide.

T.
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
27 juil. 2004 à 11:07
Il n'y a rien dans ton edit box ? pas de texte ?? il n'y aurais pas un trucs du genre : option dans l'editeur de resource, un case a cocher pour dire que c'est des entiers dedans ??

Sinon tu peux en guillement faire du debug, en affichant les resultats intermediaires par un MessageBox
0
pidoumtimo Messages postés 65 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 18 août 2004
27 juil. 2004 à 11:18
Bon j'ai résolu le pb de l'afichage dans l'edit box. Juste une erreur de handle a la con.

Mais la malchance me poursuit.
Kan je fais mes calcul tout betes il me sort toujour la meme valeur pour mon résultat quelquesoit les donnée que j'entre....
Ca me gave un peu...

Pourtant j'initialise toutes mes Editbox a 0, donc il devrait me sortir 0..quand je n'entre rien. Et non toujours 56409....

T'as deja rencontré ca ?? et si oui tu sais a quoi c'est du ?

Merci pour ton aide.

Voila le calcul :

GetDlgItemInt(hDlg,EDITLENGTHCRACK,length,0);
GetDlgItemInt(hDlg,EDITLOADING,loading,0);

l=*length;
lo=*loading;

*q=Pi*l*0.001;
k=lo*1000000*sqrt(*q);
*Kic=k;

SetDlgItemInt(hDlg,EDITKIC,*Kic,0);
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
27 juil. 2004 à 11:55
BOOL success;

GetDlgItemInt(hDlg,EDITLENGTHCRACK,length,&success);

if(!success)
{
Error("ca marche po !! :(");
}

// reste du code
0
pidoumtimo Messages postés 65 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 18 août 2004
27 juil. 2004 à 12:01
Merci les gars ca fonctionne.

Je vais pouvoir continuer a me faire exploiter par mon maitre de stage qui me paye pas.

Bon courage pour ce que vous faites.

T.
0
Rejoignez-nous