Ça fait un moment maintenant et j'essaie toujours de faire fonctionner un certain code. J'ai déjà posé des questions sur différentes commandes, mais maintenant j'espère que c'est la dernière (combinant toutes les questions en un seul code).Numérisation, vérification, conversion, copie de valeurs ... Comment? - C -
Je veux essentiellement à:
* Numérisez une entrée (doit être le caractère?)
* Vérifiez si son un numéro
* Dans le cas contraire, une erreur de retour
* Convertir que caractère dans un nombre flottant
* Copiez la valeur dans une autre variable (je l'ai appelée imp ici)
Voici ce que je suis venu avec:
CODE * ÉDITÉ
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
main(){
int digits;
float imp=0;
char* alpha;
do{
printf("Enter input\n\n");
scanf("\n%c",alpha);
digits=isdigit(alpha);
if(digits==0){
printf("error\n\n");
}
imp=atof(alpha);
}while(digits==0);
}
Le problème est ce code ne fonctionne pas du tout ... Il me donne que atof doit être d'un const char et chaque fois que j'essaye de le changer, ça continue d'échouer. Je suis frustré et forcé de demander ici, parce que je crois que j'ai essayé beaucoup et je continue à échouer, mais je ne serai pas soulagé jusqu'à ce que je l'obtienne au travail xD Donc j'ai vraiment besoin de votre aide les gars.
Dites-moi pourquoi ce code ne marche pas, qu'est-ce que je fais de mal? J'apprends encore C et apprécie vraiment votre aide :)
EDIT erreur est donnée atm:
Argument no 1 of 'isdigit' must be of type 'const int', not '<ptr>char'
EDIT Ce code compile très bien, mais se bloque lorsqu'une entrée est saisie .
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
main(){
int digits;
float imp=0;
char* alpha=0;
do{
printf("Enter input\n\n");
scanf("\n%s",alpha);
digits=(isdigit(alpha[0]));
imp=atof(alpha);
}while(digits==0);
}
Merci d'avoir fait paraître mieux sbi, je n'ai pas les outils d'édition ... Je ne sais pas pourquoi – NLed