Petit erreur

Fermé
barbie - 30 janv. 2013 à 21:46
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 30 janv. 2013 à 23:08
Bonjour,
pourquoi cette ecriture ne mache pas? qui peut m'aider ou de proposer une autre ecriture equivalente,merci.
on char s[100];int x;float pht ; int ttv; int pdp2;
sscanf(s+pdp2,"%7.3f:%3d",&pht,&x,&ttv);

3 réponses

kratosmindfreak Messages postés 43 Date d'inscription mercredi 23 janvier 2013 Statut Membre Dernière intervention 1 février 2013
30 janv. 2013 à 21:50
d'abord il faut pas oublier d'initialiser variable pdp2
+
dans sscanf il y a un erreur tu as pas entrer ttv car tu as pas faire &d
donc il faut faire:
sscanf(s+pdp2,"%7.3f:%3d:%3d",&pht,&x,&ttv);
0
dsl j'ai char x,avec x=":';
0
kratosmindfreak Messages postés 43 Date d'inscription mercredi 23 janvier 2013 Statut Membre Dernière intervention 1 février 2013
30 janv. 2013 à 22:15
pas c'est pas besoin de faire &x dans sscanf
seulement faire:
sscanf(s+pdp2,"%7.3f:%3d",&pht,&ttv);
0
ça marche pas avec %7.3f ça marche sauf avec %f et moi je veux l'afficher sous cette forme par exemple 1000.000 et non pas 1000.000000
0
kratosmindfreak Messages postés 43 Date d'inscription mercredi 23 janvier 2013 Statut Membre Dernière intervention 1 février 2013
30 janv. 2013 à 23:01
pas c'est simple tu es pas besoin de faire %7.3f fait seulement %.3f
:D
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
30 janv. 2013 à 23:08
Pas de %7.3f dans ton sscanf. Il faut mettre tout simplement %f. Ta variable vaudra 1000, et ça t'y peux rien. C'est même du binaire en fait.
En revanche, à l'affichage, donc avec printf() (ou autre), tu peux utiliser : printf("%7.3f\n", pht);
0