Дан IP адрес. Необходимо проверить его правильность (все числа в диапазоне 0-255, числа разделены точками, количество чисел: 4, точек: 3). Помогите исправить ввод адреса (В строке циклом находятся цифры и записываются в 1 переменную. При окончании строки точка записывается в массив separators, а число - в nums) и проверку (функция is_valid). Ввод без строки реализовать не получилось.
#include <iostream>
#include <cstring>
#include <cctype>
#include <cmath>
#include <cstdlib>
//#include <fstream>
using namespace std;
class IPAddress{
int nums[3];
char separators[3];
public:
void input();
bool is_valid();
};
void IPAddress::input(){
char c[101]={};
char sym='0';
int j=0, num=0, ia;
cin.getline(c,101);
for(int i=0; i<4; i++){
//ia=sym-'0';
while(true!=false){
sym=c[j];
ia=sym-'0';
if(isdigit(sym)!=0){
num*=10;
num+=ia;
}
else{
break;
}
j++;
}
if(c[j]=='.') separators[i]='.';
j++;
num=0;
}
}
bool IPAddress::is_valid(){
bool err=true;
for(int i=0; i<4; i++){
if(nums[i]>255||nums[i]<0) err=false;
if(i!=3){
if(separators[i]!='.') err=false;
}
}
return err;
}
int main() {
IPAddress ip;
ip.input();
if(ip.is_valid()==true) cout << 1;
else cout << 0;
return 0;
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
ЗдравствуйтеВ программирование я совсем новичок (совсем зеленый, так сказать :D) Ну и вообщем,появилась у меня идея,сделать что то типа конвертера...
Не понимаю как записать и считать BSON документ из файлаИспользуется официальная библиотека bsoncxx от MongoDB
Пример кода отображения DialogFragment(просто показывает прогресс бар)