Please,un petit exemple(langage C)

Fermé
Selia Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 12 avril 2006 - 29 mars 2006 à 18:31
 nab - 4 nov. 2010 à 15:29
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.
A voir également:

6 réponses

geerik Messages postés 4 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 5 mars 2008 7
5 mars 2008 à 12:51
à 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
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
Selia Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 12 avril 2006
30 mars 2006 à 12:44
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
Selia Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 12 avril 2006
1 avril 2006 à 10:51
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
t'est vraiment béte !! pas de chance !!
2
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

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

Posez votre question
la syntaxe de la fonction scanf est incorrecte car la variable x doit etre precedé du caractere &
1
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
Selia Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 12 avril 2006
1 avril 2006 à 13:43
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
kciop > Selia Messages postés 15 Date d'inscription mercredi 29 mars 2006 Statut Membre Dernière intervention 12 avril 2006
2 avril 2006 à 15:01
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