Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2281 connectés 

 


Dernière réponse
Sujet : help en c
LetoII juste une question pour embetter ça te sert à quoi ça:
 
FILE *outputfile="d:\text.txt";
 
je doit dire que je suis relativement perplex, mais bon

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
LetoII juste une question pour embetter ça te sert à quoi ça:
 
FILE *outputfile="d:\text.txt";
 
je doit dire que je suis relativement perplex, mais bon
lamasu voici le prog corrigé à la fin pour ceux qui sont intrigués !
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
double resultat,a,b;
FILE *outputfile="d:\text.txt";
 
main (argc, argv)
 int argc;
 char *argv[];
{
  if (argc != 3)
    fprintf (stderr, "SYNTAX : %s [value1] [value2] \n", argv[0]);
  else
  {  
    a = atof (argv[1]);
    b = atof (argv[2]);
 
    resultat=a * b ;
    printf("res de %f fois %f egal %f",a,b,resultat);
    printf("arg %s %s",argv[1],argv[2]);
    outputfile = fopen("text.txt","w" );
    fprintf(outputfile,"%s %f\n","set var",resultat);
    fclose(outputfile);
  }
}
 
je pense qu'il n'y a pas besoin de math.h
Carbon_14 ?
j'ai regardé mon prog, math.h n'y était pas (! ?).
 
Avec char *c1, *c2;
 
c1 = argv[1];
c2 = argv[2];
 
float Float1 = atof(c1); // idiot ?
 
En remplaçant argv[1] par la chaîne littérale voulue, atof() fonctionne ? Si oui, c'est argv[] qui ne lui plaît pas.  :fou:
youdontcare

lamasu a écrit a écrit :

    resultat=(*argv[1]) * (*argv[2]); //c'est surement ici ke ca va pas
    printf("resultat de %f * %f = %f",*argv[1],*argv


à quoi servent les '*' devant tes argv[] ?
 
resultat = atof(argv[1]) * atof(argv[2]), ça ne marche pas ?

lamasu ca y est j'ai reussit merci !
je me suis aussi aider de cette page http://www.cplusplus.com/ref/cstdlib/atof.html
lamasu non ! ca marche toujours pas, j'ai mis math.h c'est toujours au moment de la conversion que ca deconne.
un probleme avec atof ?
Carbon_14 Il y a #include <math.h> déclaré au début ?
 
atof renvoie un double, je pense pas que cela gène !
Essayer F1 = (float)atof() ?
 
Les valeurs sont biens "entrées" sur la ligne de commande sans espace ?
lamasu on dirait que atof ne fait pas son boulot correctement !
j'ai une conversion qui ne correspond pas !
El_gringo Mais, sans essayer, je confirme...en tout cas, c sur que ça pouvais pas marcher !
argv est fait pour pouvoir récupérer n'importe quoi...il prend donc tt ss forme d'une chaine de char...il ne reste après plus qu'a les convertir en ce qu'on veux: des floats pour toi, avec la fonction que t'as indiqué carbon14 : atof.

 

[edtdd]--Message édité par El_gringo--[/edtdd]

Carbon_14 Dans un de mes vieux programmes, on a un  
char *argv[];
et non un float *argv[];
 
Si on trouve dans argv[1] le premier float, et dans [2] le second, on peut passer par la fonction
atof() qui retourne le float contenu dans la chaîne.
Flot1 = atof(argv[1]);
Flot2 = atof(argv[2]);
 
Ai pas essayé pour voir si ça résoud le pb.
lamasu j'ai fait un prog qui est sensé prendre 2 parametres et les multiplier pour stocker le resultat dans un fichier.
 
Mon prob : je n'arrive pas à prendre correctement des floats... j'ai un resultat bidon ! si quelqu'un peut me trouver l'erreur
 
#include <stdio.h>
float resultat;
FILE *outputfile="d:\text.txt";
 
main (argc, argv)
 int argc;
 float * argv[];
{
  if (argc != 3)
    fprintf (stderr, "SYNTAX : %s [value1] [value2]\n", argv[0]);
  else
  {  
    resultat=(*argv[1]) * (*argv[2]); //c'est surement ici ke ca va pas
    printf("resultat de %f * %f = %f",*argv[1],*argv[2],resultat);
    outputfile = fopen("text.txt","w" );
    fprintf(outputfile,"%s %f\n","set var",resultat);
    fclose(outputfile);
  }
}

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)