Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail



Ответ
 
Опции темы
Старый 12.12.2016, 21:40   #1
BlackGold
 
Аватар для BlackGold
 
Регистрация: 12.12.2016
Сообщений: 8
Репутация: 10
По умолчанию С приём пакета!

Долго думал и не мог сформулировать проблему!

Задача в том ! Формат ip (c) узнать относиться ли первая часть IP(NET) к нам или нет! И вторая часть IP (host), что бы я например ввел число(в hex) и условие говорила наша ли эта сеть если да то бла бла бла если нет то бла бла бла!
Потом введите host вторая часть IP и показывает значение ,
используя уровень IP (C 24+8) 32 bit

Блин ужас не знаю получилось ли объяснить(

Вот что вышло у меня и дальше не могу понять что делать
Спасибо)

Код:

int main(){
    unsigned long format,mask,m;
    unsigned int a,mask2;
    m=0xFFFFFFFF;
    mask=0xFFFFFFFF;
    printf("Enter Hex Number:\n ");
    scanf("%X", &format);
    printf("%X\n",mask & format);
    if (mask&format==m){
        printf(" Our IP");
    } else{
        printf("Not Our IP\n");
    }
    mask2=0x000000FF;
    printf("Enter the host:\n ");
    scanf("%X", &a);
    printf("\n%X",mask2 & a);
}


Последний раз редактировалось BlackGold; 12.12.2016 в 23:07.
BlackGold вне форума   Ответить с цитированием
Старый 13.12.2016, 01:10   #2
olej.tsil
Заблокирован
 
Регистрация: 30.11.2016
Сообщений: 216
Репутация: -8
По умолчанию

Цитата:
Сообщение от BlackGold Посмотреть сообщение
Блин ужас не знаю получилось ли объяснить(
Не получилось.
Действительно "блин ужас".
olej.tsil вне форума   Ответить с цитированием
Старый 14.12.2016, 02:53   #3
BlackGold
 
Аватар для BlackGold
 
Регистрация: 12.12.2016
Сообщений: 8
Репутация: 10
Радость Помогите Дополнить!

Нужно что бы если вводил в scanf меньше 6 знаков (0xFFFFFF) то программа заканчивала работу либо писала введите правильно
Код:

int main() {
    unsigned long format, mask, m;
    unsigned int a, mask2;
    m = 0xFFFFFF;
    mask = 0xFFFFFF;
    printf("Enter the address with Hex format (Example: FFFFFF):\n ");
    scanf("%X", &format);
    //printf("%X\n", mask & format);
    if (mask & format == m) {
        printf(" Our address Net %d.%d.%d\n", format & 0xFF, (format & 0x00FF), (format & 0x0000FF));
    }

    else
    {
        printf(" Not Our address Net %d.%d.%d\n", format & 0xFF, (format & 0x00FF), (format & 0x0000FF));
    }
    mask2 = 0x000000FF;
    printf("Enter host address with Hex format (Example: FF):\n ");
    scanf("%X", &a);
    printf("\n.%d\n", a & 0x000000FF);
    printf("Complete address information: %d.%d.%d.%d\n", format & 0xFF, (format & 0x00FF), (format & 0x0000FF),(a & 0x000000FF));
}

BlackGold вне форума   Ответить с цитированием
Старый 14.12.2016, 08:18   #4
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 4,618
Репутация: 1407
По умолчанию

Код:

format & 0xFF, (format & 0x00FF), (format & 0x0000FF)

Это все одно и то же.
waleri вне форума   Ответить с цитированием
Старый 16.12.2016, 20:21   #5
BlackGold
 
Аватар для BlackGold
 
Регистрация: 12.12.2016
Сообщений: 8
Репутация: 10
По умолчанию

ВОТ что нужно было) Не знал как объяснить)
Код:

int main() {
    unsigned long format, mask, m;
    unsigned int a, mask2,b;
    b=0x000000FF;
    m = 0xFFFFFF;
    mask = 0xFFFFFF;
    printf("Enter the address with Hex format (Example: FFFFFF):\n ");
    scanf("%X", &format);
    //printf("%X\n", mask & format);
    if (mask & format == m ) {

        printf(" Our Net address  %d.%d.%d\n", format & 0xFF, (format & 0x00FF), (format & 0x0000FF));

    }
    else if((format<=1048575) || (format>=16777215)){
        printf("Incorrect format address\n");
        _Exit (EXIT_SUCCESS);
    }
    else
    {
        printf(" Not Our Net address   %d.%d.%d\n", format & 0xFF, (format & 0x00FF), (format & 0x0000FF));
    }
    mask2 = 0x000000FF;
    printf("Enter host address with Hex format (Example: FF):\n ");
    scanf("%X", &a);

    if (mask2 & a == b ) {

        printf(" Our host address  .%d\n", a & 0x000000FF);

    }
    else if((a<=15) || (a>255)){
        printf("Incorrect format address\n");
        _Exit (EXIT_SUCCESS);
    }
    else
    {
        printf(" Not Our host address  %d\n", a & 0x000000FF);
    }

    printf("\n.%d\n", a & 0x000000FF);
    printf("Complete address information: %d.%d.%d.%d\n", format & 0xFF, (format & 0x00FF), (format & 0x0000FF),(a & 0x000000FF));
}

BlackGold вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приём данных с COM порта Евгений55 Microsoft Office Excel 3 05.01.2013 16:46
Приём и обработка смс Lida Petrova Фриланс 11 27.12.2012 14:46
приём сообщения по UDP Astron Работа с сетью в Delphi 5 22.04.2010 17:04
Приём файлов с почты D7 BARNEY Работа с сетью в Delphi 1 16.08.2009 14:36
Приём изображений Terran Работа с сетью в Delphi 2 15.12.2007 16:03




12:02.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Покупайте на сайте www.skinon.ru уникальные чехлы и наклейки для телефонов.
купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru