Здравствуйте. Подскажите пожалуйста функции, примеры как в программе на С++ осуществить проверку числового формата.
shock_X Return Value Returns the number of fields successfully converted and assigned; the return value does not include fields that were read but not assigned. A return value of 0 indicates that no fields were assigned.
о, да, был у меня трабл как то с выводом float'a, там вечные 1.#IND, 1.#INF и 1.#INV происходили, я даже в догадках растерялся - как это ловить, так что обошёлся сравнением первого байта с 7F, хотя понимаю что это непохек полный .\
Это ответ на Ваш вопрос. Если он Вас не устраивает -- сформулируйте свой вопрос так, чтобы было понято что Вам нужно.
flankerx эта функция считывает из строки, например: "777lol" 777, но если ввести строку, например: "ThisIsString" то она (функция) возвращает значение равное нулю. В моей задаче это не подходит.
В общем разобрался немного, получилось вот так: Код (Text): #include <stdio.h> #include <stdlib.h> int main () { int i; char string[256]; do { system("cls"); printf("i="); fgets(string, 256, stdin); i = atoi(string); } while (i<=0 || i>100); printf ("i=%d", i); return 0; }
isdigit Код (Text): // Ввести целое N.Вывести кол-во десятичных цифр,необходимых для представления этого числа. #include "stdafx.h" #include <string.h> // strlen #include <ctype.h> // isdigit char buf[260]="\0"; int main(int argc, char* argv[]) { printf("Input integer: "); gets(buf); // Проверка наличия только цифр for(size_t i=0;i<strlen(buf);i++) if(!isdigit(buf[i])) return 1; printf("Amount of decimal digits: %d\n",strlen(buf)); gets(buf); return 0; }
Возникла проблема. Значит неделю назад сдал преподавателю алгоритм будущей программы, он проверил и сказал что всё верно. Ниже алгоритм, по которому нужно сделать программу: Код (Text): Функция EnterWithCheck Вход: - Выход: X:integer Локальные переменные: NoError:boolean Начало Повторять НЦ Очистка экрана; NoError:=true; Вывод("Введите X в интервале от -100 до 100"); Ввод X; Если (X<-100) или (X>100) или (X не число) то НЦ NoError:=false; Error; // Это вызов функции, которая выводит сообщение об ошибке КЦ КЦ Пока NoError=false; Конец Интересует строка: "Если (X<-100) или (X>100) или (X не число)". Нужно написать проверку числового формата именно так. Если преподаватель сказал что так можно сделать - значит можно. Но как?
wsd по-моему надо будет ещё ввести локальные переменные. Но алгоритм уже разработан и изменения не есть хорошо
Partner Код (Text): scanf( "%d", &iTest); printf("%d", iTest); проверь shock_X я сейчас занят, освобожусь кину сорец
W4FhLF Никто не запрещает использовать Си. Это консольный проект (геометрическая задача). Нужно ввести 6 чисел, а ответом будет предложение Поэтому что Си, что Си++ - разницы нет wsd Black_mirror Спасибо, сейчас опробуем.