begin process at 2010 03 14 17:48:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Probleme de pointeur (enfin je pense) dans l'utilisation d'une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme de pointeur (enfin je pense) dans l'utilisation d'une fonction

mercredi 4 mai 2005 à 10:58:35 | Probleme de pointeur (enfin je pense) dans l'utilisation d'une fonction

neutrix

Salut…. Help 

Je souhaite créer un main et une fonction. Tout cela me servira ensuite en info industriel pour un microcontroleur.

Le main s’occupera de recuperer (dans la RAM du µC) les valeurs d’entrée de la fonction puis de renvoyer les sortie dans la RAM. La fonction a juste pour but de faire différents calculs (multiplication, cos, sin…).

Au début, je ne mettais aucune etoile (pour les pointeurs) puis lors du build, ca me mettait plein d’erreurs ; alors j’ai mis des étoiles un peu partout. Mais il me reste une erreur. euh.... meme si je n'ai plus qu'une erreur, peut être que c'est quand même faux !!!!

 

MAIN

void CALCUL(int* V, int* I, int* dt, int* Si, float* Pi);

void main (void)

{

//creation de tableaux simulant les apports de valeurs provenant de la RAM

int V[4],I[4],dt[4];

V[0]=220;

V[1]=230;

V[2]=235;

V[3]=227;

V[4]=231;

I[0]=2;

I[1]=4;

I[2]=2;

I[3]=2;

I[4]=2.1;

dt[0]=2;

dt[1]=2.1;

dt[2]=2.2;

dt[3]=1.2;

dt[4]=2.3;

//compteur permettant la simulation des arrivées des nouvelles mesures

int i=0;

//Utilisation de la fonction dans une boucle infinie (tache de fond)

int t=1;

while (t=0)

{

V=V[i];

I=I[i];

dt=dt[i];

i++;

CALCUL(&V, &I, &dt, &Si, &Pi);

printf("valeur de V : %f",V);

printf("valeur de I : %f",I);

printf("valeur de dt : %f",dt);

printf("valeur de Si : %f",Si);

printf("valeur de PSi : %f",Pi);

//ici se placera le rangement de valeur de sortie dans la RAM

//arret de la boucle while pour arreter le programme de test

if (i=4)

{

t=0;

}

}

system (" pause " )

}

 La fonction

void CALCUL(int* V, int* I, int* dt, int* Si, float* Pi)
{

float phi ;

phi=*dt*M_PI*0.1 ;

Si=*V * *I ;

Pi=Si*cos(phi) ;

}


Merci
mercredi 4 mai 2005 à 11:23:19 | Re : Probleme de pointeur (enfin je pense) dans l'utilisation d'une fonction

vecchio56

Administrateur CodeS-SourceS
Tes tableaux V, I, dt ne sont pas assez grands, leur dimentions doit être au moins 5

while(t=0) -> Tu voulais sans doute écrire while(!t), pareil pour if(i=4) -> if(i==4)

Dans CALCUL, V est en fait un tableau, dont *V signifie V[0], je ne sais pas si c'est vraiment ce que tu veux faire...

V=V[i];
I=I[i];
dt=dt[i];Ces trois lignes n'ont aucun sens, tu ne peux pas affecter un tableau

Même si ton programme compilait bien il ne marcherait sans doute pas. Je pense que tu drvrais changer de méthode de programmation car celle qui consisite a mettre des étoiles un peu partout n'est pas bonne

mercredi 4 mai 2005 à 17:29:49 | Re : Probleme de pointeur (enfin je pense) dans l'utilisation d'une fonction

G0ss3Yn

Salut,
Je crois que tu as besoin de vérifier tes connaissances sur les pointeurs, les tableaux etc....
C'est pas trés compliqué et si tu t'y penche un peu, tu comprendra ce que tu fais, ça t'évitera de mettre 'des étoiles partout' au p'tit bonheur la chance
La prog demande d'être un minimum rigoureux sinon, dans le meilleur cas, ça compile mais ça ne fonctionne pas...
++

G0ss3Yn... ( Bon coding a tous !)


Cette discussion est classée dans : fonction, int, valeur, dt, pi


Répondre à ce message

Sujets en rapport avec ce message

Retour de la valeur d'une variable dans une fonction. [ par did2604 ] Bonjour,J'ai un petit problème avec la fonction suivante. Dans ma fonction, j'incrémente une variable nommée vt2. Je souhaite retourner dans le main c Algo utile ou complètement "bidon"?? [ par ninjagtr ] Bonjour,Je suis tombé sur un bout de code et je ne sais pas s'il a une utilité (autre que de me faire chercher lol).Voici le code : int Devinez(int x) parametre de la fonction main() [ par infodaoudi ] bonjour,dans le programme qui suit : comment executer la fonction main() sachant que j'utilise le vc++ 6.0 (console). autrement dit, comment faire pou Convertir un Int en Char [ par MaxSoldier ] Bonjours, tout d'abord, j'aimerai m'excuser car je sais que cette question a déjà été posée des milliards de fois mais, je n'ai jamais réussi à faire (__cdecl *) => kesako? [ par Oeil_de_taupe ] Bonjour tout le monde, J'ai créé deux classes qui représentent un protocole pour envoyer des données entre deux PC. Lors de l'appele de leur construc prog c : chaine en valeur de retour d'une fonction [ par laetitiavincent ] Bonjour je souhaiterais faire une fonction dans laquelle j'ai une chaine de caractères que je voudrais renvoyée dans le menu principal. Comment puis-j strcat : fonction( char* buffer, int nb ); [ par wizard512 ] Bonsoir,Je souhaiterais savoir Si une fonction similaire a strcat() existerais,mais qui ajoute un entier ( int ) dans une Thread paramètre [ par nicompx ] Salut, Je démarre plusieurs thread qui exécute une fonction. Cette fonction reçoit en paramètre une structure. Si je passe l'adresse de la structure e Valeur par défaut dans une structure [ par julienbj ] Je cherche un moyen de mettre des valeurs pas défaut dans une structure.Je m'explique par un exemple:struct s_a{    int i;    int j;};Plus loin dans l Comment débuter en VC++ 2005 [ par arfimounir ] Salut, il ya 3 jours que je me suis convertis de Vb2005  vers VC++2005.Je veux quelqu'un qui peut me traduire ces methodes de base: de VB en C++.1- Où


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales