Débutant en C++ : pkoi ça marche pas - Programmation
Marsh Posté le 28-05-2002 à 22:02:31
j'veux pas foutre la merde mais si tu te mets à Win32, tu devrais plutot inclure "windows.h" plutot que "stdafx.h" qui est la bibli spé aux MFC. enfin, je crois...
Marsh Posté le 28-05-2002 à 22:08:22
c'est exactement ça
Marsh Posté le 29-05-2002 à 11:01:40
torpe23 a écrit a écrit : j'veux pas foutre la merde mais si tu te mets à Win32, tu devrais plutot inclure "windows.h" plutot que "stdafx.h" qui est la bibli spé aux MFC. enfin, je crois... |
Dis pas n'imp...
stdafx.h c'est juste le nom par défaut du precompiled header..
LeGreg
Marsh Posté le 29-05-2002 à 12:03:57
Bouh printf en C++ c mal...
Bon, j'ai pas teste mais je suis pas sur que printf fonctionne bien dans un appli windows(c de l'affichage en mode console), essaie peut etre une afxmessagebox, sinon c peut etre aussi parce que tu n'as pas d'attente apres l'affichage, le programme sort tout de suite apres et tu n'as pas le temps de le voir ajoute:
char tmp;
cin<<tmp;
apres ton affichage ca te permettra peut etre de voir qque chose(en fait je crois que ton prog marche mais ne te donne pas le temps de voir le resultat)
Marsh Posté le 29-05-2002 à 12:15:48
RiffRaff a écrit a écrit : essaie peut etre une afxmessagebox |
afxmessagebox = MFC
Marsh Posté le 29-05-2002 à 12:25:49
Pourquoi Afx !?
MessageBox tout court, ça ira très bien.
Donc, déja, remplace "stdafx.h" par "windows.h"
et ensuite, vire moi ce (ou ces) printf qui passeront jammais, et remplace les par MessageBox (met NULL pour le paramètre hWnd si t'as pas envie de t'emmerder).
[jfdsdjhfuetppo]--Message édité par el_gringo le 29-05-2002 à 12:26:06--[/jfdsdjhfuetppo]
Marsh Posté le 29-05-2002 à 12:40:08
autre question, je voudrais dans le message de ma msgbox faire
"Coef K=" & K où K est un double.
Y'a moyen de faire un cast Double -> String à la volée ?
Marsh Posté le 29-05-2002 à 13:24:32
finalement j'ai fait ça en console avec printf...
Y'a pas un truc comme printf our le Format des CString des MFC en Win32 basique...
Marsh Posté le 29-05-2002 à 13:37:32
moi je fais comme ca :
int a = 15;
int b = 12;
char buffer[128]; /* tu met la taille comme tu l'sens en fait */
sprintf(buffer, "Bonjour, le resultat est %d et %d", a, b);
MessageBox(NULL, buffer, "Debug", MB_OK);
y a peut etre une autre solution mais bon, ca marche, c'est l'essentiel...
Marsh Posté le 29-05-2002 à 13:41:15
bon, j'ai relu le topic, et je crois que je suis hors sujet....
ou bien je le suis pas et ca confirme bien le fait que je capte plus rien tellement je suis crevé.
vivement ce soir que je dorme
(c'etait spark qui raconte sa vie...)
Marsh Posté le 29-05-2002 à 13:54:14
CString strConvertion;
int a,b;
a = b = 15;
strConvertion.Format("%d, %d", a, b);
AfxMessageBox(strConvertion);
ou
printf("%s",strConvertion);
autant se servir de ce qui existe deja (MFC Rulezz)
Marsh Posté le 29-05-2002 à 14:46:15
La Vipère -> pour une fois, je voulais faire sans les MFC car j'ai pas le choix....
Marsh Posté le 28-05-2002 à 19:39:08
Voilà, d'habitude je fais du MFC mais là j'essaye de passer en Win32
Pkoi quand je lance ce code compilé il se passe rien ?
// Kurtosis.cpp : Defines the entry point for the application.
//
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#define N 1024
#define Pi 3.1415926535
double liste[N];
void Kurtosis();
double GetGaussRandom();
void Initialisation();
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
//On initialise
Initialisation();
//On teste
Kurtosis();
return 0;
}
void Kurtosis()
{
double variance=0, moment4=0, moy=0;
int i =0;
//calcul moyenne
for(i=0; i < N; i++)
{
moy+=liste[i];
}
moy/=N;
//calcul moment d'ordre 4
for(i=0; i < N; i++)
{
moment4+=pow((liste[i]-moy),4);
}
moment4/=N;
//calcul de la variance
for(i=0; i < N; i++)
{
variance+=pow((liste[i]-moy),2);
}
variance/=N;
printf("K=%f",moment4/pow(variance,2));
return;
}
void Initialisation()
{
for(int i=0;i < N; i++)
{
liste[i]=GetGaussRandom();
}
return;
}
double GetGaussRandom()
{
int u1=0, u2=0;
srand( (unsigned)time( NULL ) );
while(u1*u2==0)
{
u1=rand();
u2=rand();
}
return sqrt(-2 * log(u1)) * cos(2*Pi*u2);
}