Please,un petit exemple(langage C)

Selia Messages postés 15 Statut Membre -  
 nab -
bonsoir,
en fait là j'ai besion d'aide,
un truc tout bete , simple comme bonjour,
l'utilisation de la fonction "atof"
voilà ce que j'ai fait dans mon programme:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{float x;
int i;
char ch[100];
puts("donnez ch");
gets(ch);
x=atof(ch);
scanf("%f",x);
getch();
}

alors dites moi ce qui est faux!
peut etre qu'apres tout rien juste!!!!!!!!!!
puisque ça ne veut pas marcher.

merci.

Selia.

6 réponses

  1. geerik Messages postés 4 Statut Membre 7
     
    à l'attention de salcon ( bien choisi, le pseudo...) :

    JE CROYAIS NAIVEMENT QU'IL Y AVAIT QQ REGLES DE BIENSEANCE SUR CE FORUM !!!

    Je reviens de loin...

    Au plaisir de ne pas se connaître...
    7
  2. cataclypse
     
    Salut,

    d'après moi, c'est dans le scanf qu'il y a une erreur.
    Remplace "scanf("%f",x); " par "scanf("%f", &x); "

    L'exemple suivant fonctionnechez moi.

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int main(int argc, char * argv[])
    {
    	float x;
    	int i;
    	char ch[100];
    	puts(" donnez ch");
    	gets(ch);
    	puts(ch);
    	x = atof(ch);
    	printf(" atof : %f", x);
    	scanf("%f", &x);
    	printf(" float : %f", x);
    	getch();
    	return 0;
    }
    
    3
    1. Selia Messages postés 15 Statut Membre
       
      wow
      merci,
      mon Dieu, dire que j'ai oublié ce tout petit détail, petit mais.........

      mais là j'ai un autre probleme:
      je n'arrive pas a executer le programme , il est compilé mais quand j'execute c'est un autre programme qui s'execute(un programme que j'ai executé ce main)

      merci de repondre:-)

      Selia.
      0
    2. Selia Messages postés 15 Statut Membre
       
      bonjour ,
      bein vous savez quoi?
      j'arrive pas a executer des programmes avec le atof,
      par exemple l'exemple que je vous ai donné ne marche pas , et meme celui la:
      #include<stdio.h>
      #include<string.h>
      #include<stdlib.h>
      #include<conio.h>

      int main(int argc, char * argv[])
      {
      float x;
      int i;
      char ch[100];
      puts(" donnez ch");
      gets(ch);
      puts(ch);
      x = atof(ch);
      printf(" atof : %f", x);
      scanf("%f",&x);
      printf(" float : %f", x);
      getch();
      return 0;
      }


      ou alors celui là:

      #include<stdio.h>
      #include<string.h>
      #include<conio.h>
      #include<stdlib.h>
      main()
      {float x;
      int i;
      char *ch="12.45";
      x=atof(ch);
      scanf("le resultate est %f",&x);
      getch();
      }

      pouvez vous me dire pourquoi?!!!!

      merci.
      0
  3. nab
     
    t'est vraiment béte !! pas de chance !!
    2
  4. sendel
     
    Bonjour,
    J'ai un projet en C et je ne sais comment le faire
    Je dois faire un programme qui à partir de deux individus 'Eve' et 'Adam' peut donner naissance à un enfant auquel on donne un nom et le sexe. ce prgm doit pouvoir marier 2 individus, les séparer, les faire déceder et une fonction affiche qui doit afficher les infos liées à un individu.
    Merci
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 123
     
    la syntaxe de la fonction scanf est incorrecte car la variable x doit etre precedé du caractere &
    1
  7. kciop
     
    Hello!

    Voici un exemple :
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    
    int main() {
            double x;
            char* ch="+1234.56e-7";
    
            x=atof(ch);
            printf("%s converti en double = %g",ch,x);
            return 0;
    }
    


    atof renvoie des doubles et atoff renvoie des floats.

    Bon courage!
    --
    Kciop
    0
    1. Selia Messages postés 15 Statut Membre
       
      merci pour la reponse ,
      je ne savais pas qu'il y'avait une difference,
      mais vous savre "ça ne s'execute pas"
      alors?
      je fait quoi?
      vous etes que ça marche?

      et merci encore une fois de repondre.

      Selia.
      0
      1. kciop > Selia Messages postés 15 Statut Membre
         
        Hello!

        Chez moi ca marche :
        user@comp ~
        $ cat toto.c
        #include<stdio.h>
        #include<string.h>
        #include<stdlib.h>
        int main() {
                double x;
                char* ch="+1234.56e-7";
        
                x=atof(ch);
                printf("%s converti en double = %g",ch,x);
                return 0;
        }
        
        user@comp ~
        $ gcc toto.c
        
        user@comp ~
        $ ./a.exe
        +1234.56e-7 converti en double = 0.000123456
        


        Bon courage!
        --
        Kciop
        0