Это было время, и я все еще пытаюсь получить определенный код для работы. Ранее я задавал некоторые вопросы о разных командах и т. Д., Но теперь я надеюсь, что это будет последнее (объединение всех вопросов в один код).Сканирование, проверка, преобразование, копирование значений ... Как это сделать? - C -
Я в принципе хочу:
* Сканирование вход (должен быть характер?)
* Проверьте, если его номер
* Если нет, то возвращаемая ошибка
* Преобразовать что символ в поплавок
* Скопируйте значение на другую переменную (здесь я назвал ее imp)
Вот что я придумал:
EDITED КОД *
#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);
}
Проблема этот код не работает вообще ... Это дает мне, что atof должны быть константным char и всякий раз, когда я пытаюсь изменить его, он просто терпит неудачу. Я расстроен и вынужден спросить здесь, потому что я считаю, что пробовал много, и я продолжаю терпеть неудачу, но я не успокоюсь, пока не получу его на работу. XD. Мне действительно нужны твои помощники.
Пожалуйста, скажите мне, почему этот код не работает, что я делаю неправильно? Я все еще учусь C и очень ценю вашу помощь :)
EDIT Ошибка данный атм:
Argument no 1 of 'isdigit' must be of type 'const int', not '<ptr>char'
EDIT Этот код компилируется нормально, но падает, когда вход будет введен ,
#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);
}
Спасибо за то, что он выглядел лучше sbi, у меня нет инструментов для редактирования ... Не знаю, почему – NLed