Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

_Ayl_
Статус: Студент
Рейтинг: 1418
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 1157
∙ повысить рейтинг »
Micren
Статус: Бакалавр
Рейтинг: 1076
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / C/C++

Номер выпуска:1426
Дата выхода:23.11.2009, 14:30
Администратор рассылки:Dr_Andrew, Старший модератор
Подписчиков / экспертов:675 / 181
Вопросов / ответов:3 / 4
IRC-канал по теме:#C

Вопрос № 174290: Здравствуйте! Прошу помочь мне написать программу (желательно на Borland C или TurboC): Приложение связано с ведением некоторой части БД, содержащей информацию о морском или речном грузовом порте. Информация в записях БД следующая: 1) № пи...


Вопрос № 174335: Помогите пожалуйста написать программу на C под Linux :Написать функцию, меняющую старшую половину байта с младшей ( 0xAB ® 0xBA ). Результат вывести на экран в шестнадцатеричном виде....
Вопрос № 174336: Уважаемые эксперты помогите написать программу на C под Linux: Используя средства динамического распределения памяти:считать в буфер заданный текстовый файл, преобразовать символы в верхний регистр и вывести на экран;...

Вопрос № 174290:

Здравствуйте! Прошу помочь мне написать программу (желательно на Borland C или TurboC):
Приложение связано с ведением некоторой части БД, содержащей информацию о морском или речном грузовом порте.
Информация в записях БД следующая:
1) № пирса;
2) средняя пропускная способность пирса (тонн/сутки);
3) общий метраж для швартовки судов (в десятках метров);
4) оставшийся свободный метраж на настоящий момент времени;
5) количество погрузочных/разгрузочных кранов;
6) максимальная грузоподъемность кранов;
7) свободная временная площадь для размещения грузов на настоящий момент времени для данного пирса (в тыс. кв. метров).
При вводе параметров «метраж судна» и «максимальный груз для погрузки/разгрузки» необходимо выполнить поиск в БД и вывести список пирсов (в виде «№ пирса, средняя пропускная способность, свободная временная площадь для размещения грузов»), для которых метраж судна укладывается в оставшийся свободный метраж пирса и максимальн ая грузоподъемность кранов превышает максимальный груз для погрузки/разгрузки судна.

Отправлен: 16.11.2009, 18:04
Вопрос задал: Faraon, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает Dr_Andrew, Старший модератор :
Здравствуйте, Faraon!
В консольном приложении Win32 для управления файлами баз данных используется класс TPortBase. Для загрузки / сохранения данных в файле используется объект класса TPier, хранящий сведения о том или ином пирсе (см. комментарии в коде программы). Архив с проектом Visual C++ 6 и исполняемым файлом программы прикреплён к ответу.

Приложение:
Прикрепленный файл: загрузить »

Ответ отправил: Dr_Andrew, Старший модератор
Ответ отправлен: 21.11.2009, 19:43
Казахстан, Алма-Ата
Организация: Казахский научный центр карантинных и зоонозных инфекций
Адрес сайта: Медицинские программы для Linux
ICQ # 256452186

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256775 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 174335:

    Помогите пожалуйста написать программу на C под Linux :Написать функцию, меняющую старшую половину байта с младшей
    ( 0xAB ® 0xBA ). Результат вывести на экран в шестнадцатеричном виде.

    Отправлен: 18.11.2009, 03:31
    Вопрос задал: plusvv, Посетитель
    Всего ответов: 1
    Страница вопроса »


    Отвечает Micren, Бакалавр :
    Здравствуйте, plusvv.
    Программа. С. Компилировал gcc. В программе несколько примеров решения Вашей задачи.
    Код:
    #include <stdio.h>

    // 1й пример
    unsigned char swapByteLoHi1(unsigned char byte)
    {
    struct byteParts
    {
    unsigned lo:4;
    unsigned hi:4;
    }* pByteParts;
    pByteParts=(struct byteParts*)&byte;
    return pByteParts->lo<<4 | pByteParts->hi;
    }

    // 2й пример
    unsigned char swapByteLoHi2(unsigned char byte)
    {
    return (byte<<4) | (byte>>4);
    }

    // 3й пример
    unsigned char swapByteLoHi3(unsigned char byte)
    {
    // AT&T Assembler(не Intel!!!)
    asm("rorb $4,%%al":"=al"(byte):"al"(byte));
    return byte;
    }

    int main()
    {
    unsigned char byte=0xab;
    printf("Вначале:%X\n",byte);
    printf("После перестановки:%X\n",swapByteLoHi1(byte));
    printf("После перестановки:%X\n",swapByteLoHi2(byte));
    printf("После перестановки:%X\n",swapByteLoHi3(byte));
    return (0);
    }

    Вывод программы:
    Код:
    /home/micren/Projects/174335-c/Debug/src/174335_c 
    ----------------------------------------------
    Вначале:AB
    После перестановки:BA
    После перестановки:BA
    После перестановки:BA

    ----------------------------------------------
    Program exited successfully with errcode (0)
    Press the Enter key to close this terminal ...

    Ответ отправил: Micren, Бакалавр
    Ответ отправлен: 18.11.2009, 05:49

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256646 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 174336:

    Уважаемые эксперты помогите написать программу на C под Linux:
    Используя средства динамического распределения памяти:считать в буфер заданный текстовый файл, преобразовать символы в верхний
    регистр и вывести на экран;

    Отправлен: 18.11.2009, 06:01
    Вопрос задал: fernando, Посетитель
    Всего ответов: 2
    Страница вопроса »


    Отвечает Micren, Бакалавр :
    Здравствуйте, fernando.
    Программа. C99. Компилировал gcc.
    Код:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <ctype.h>

    int main()
    {
    char fname[80];
    FILE* file;
    // Вводим имя файла
    printf("Путь к файлу:");
    fgets(fname,sizeof(fname),stdin);
    fname[strlen(fname)-1]=0;

    // Открываем
    if((file=fopen(fname,"r"))!=0)
    {
    // Определим размер буфера
    if(fseek(file,0,SEEK_END))
    {
    printf("Ошибка\n");
    return -1;
    }
    size_t length=ftell(file);
    rewind(file);

    char* buffer;
    // Выделим память
    if((buffer=malloc(length))!=0)
    {
    // Читаем
    if(fread(buffer,length,1,fi le)==1)
    {
    // В верхний регистр
    char *ch=buffer,*end=buffer+length;
    while(ch!=end)
    {
    *ch=toupper(*ch);
    ++ch;
    }
    printf("%s",buffer);
    }
    else
    {
    printf("Ошибка чтения\n");
    fclose(file);
    return -1;
    }
    }
    else
    {
    printf("Невозможно выделить память для буфера\n");
    fclose(file);
    return -1;
    };
    fclose(file);
    }
    else
    {
    printf("Не удалось открыть файл:%s\n",fname);
    }
    return (0);
    }

    Ответ отправил: Micren, Бакалавр
    Ответ отправлен: 18.11.2009, 07:53

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256649 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Dr_Andrew, Старший модератор :
    Здравствуйте, fernando!
    Ещё один вариант решения. Комментарии в коде.

    Приложение:

    Ответ отправил: Dr_Andrew, Старший модератор
    Ответ отправлен: 18.11.2009, 15:17
    Казахстан, Алма-Ата
    Организация: Казахский научный центр карантинных и зоонозных инфекций
    Адрес сайта: Медицинские программы для Linux
    ICQ # 256452186

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256662 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.11 от 17.11.2009

    В избранное