J'ai un problème avec SCCANF() et les types de variables - C - Programmation
Marsh Posté le 09-03-2004 à 13:58:38
y a la balise [code] pour que le code soit lisible, ça donne mieux que [g]+[s]+[i]
Marsh Posté le 09-03-2004 à 14:04:03
ya même [cpp] quand c'est du C
et accessoirement ça s'écrit scanf et non SCCANF (fonction non reconnue en C)
Marsh Posté le 09-03-2004 à 14:05:47
scanf("%c",&reste); -> getchar()
1) vérifier le retour de scanf systèmatiquement
2) si c'est ce que tu veux, bouffe le reste jusqu'à caractère d'espacement (isspace) ou EOF
Marsh Posté le 10-03-2004 à 18:16:34
Merci pour l'info sur la balise! Je savais pas!
Pour l'erreur syntaxique, je sais pertinemment que la fonction s'écrit scanf()!
Inutile de me le remarquer! Si tu avais vu mon code C t'aurais vu qu'il n'y avait pas de fautes! ou presque, sinon je ne serais pas sur ce forum!
Au fait, TAZ, je suis obligé (par le prof) d'utiliser la fonction scanf(), même si d'autres fonctions semblent plus interessantes.
Donc s'il vous plaît, que quelqu'un m'aide!!!
Merci beaucoup de passer du temps à lire mes plaintes diverses!
Marsh Posté le 10-03-2004 à 18:17:49
quoi ? fais ce qu'on te demande d'abord, et comprends avec scanf tu ne pourras pas lire un '\n' ni tout autre caractère d'espacement
Marsh Posté le 15-03-2004 à 15:07:20
Si quelqu'un pouvait me filer le script correctement tapé ce serait vraiment génial... abusé, mais génial.
Ca fait 2 semaines que je rame! J'y comprends rien!
Le prof insiste pour qu'on utilise SCANF()!
Merci d'avance.
Foolslord
Marsh Posté le 15-03-2004 à 15:21:10
on est pas la pour faire tes TP , c'est hors charte ...
alors remue toi un peu et gratte ca.
Marsh Posté le 09-03-2004 à 13:37:46
Salut!
J'ai un vieux bug avec scanf()!!!
J'ai tapé un programme, censé me calculer la somme des carrés de N entiers entrés par l'utilisateur:
#include<stdio.h>
int
main(){
int N,i,z;
[/#ff7100](5) char reste;
float x,y;
do{
printf("Entrez un entier N positif ou nul\n" );
(10) z=scanf("%d",&N);
do{
scanf("%c",&reste);
}while (reste !='\n');
(15)
}while ((z==0)||(N<0));
y=0;
(20) if (N==0){
printf("Aucun réel à entrer... Le programme va s'arrêter!\n" );
return 1;
}
(25) for (i=1;i<=N;i++){
printf("Entrez un réel\n" );
scanf("%f",&x);
y=y+x*x;
}
(30)
printf("La somme des carrés des réels entrés est %f\n",y);
return 0;
}
Quand je le compile, si je lui donne un caractere au lieu d'un entier (ligne 9-10) il me redemande un entier! Jusque là, pas de probleme!
Mais si je lui entre un flottant (ou un réel si vous préférez), continue l'execution du programme et me retourne un résultat incohérent!