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

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


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

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

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

Лысков Игорь Витальевич
Статус: Профессионал
Рейтинг: 165
∙ повысить рейтинг >>
Micren
Статус: Студент
Рейтинг: 122
∙ повысить рейтинг >>
Person
Статус: 3-й класс
Рейтинг: 73
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1257
от 04.03.2009, 22:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 494, Экспертов: 52
В номере:Вопросов: 2, Ответов: 2

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

Вопрос № 161541: Здравствуйте Эксперты! Как можно сделать на с.с++ в линуксе запрос к базе данных, считать данные с определенного файла. Спасибо...


Вопрос № 161557: Здравствуйте уважаемые эксперты!!!! Помогите пожалуйста решить задание: Даны три матрицы А(2;2) В(2;3) С(4;3). В каждом из этих матриц найти максимальный элемент и заменить его нулем....

Вопрос № 161.541
Здравствуйте Эксперты!
Как можно сделать на с.с++ в линуксе запрос к базе данных, считать данные с определенного файла.
Спасибо
Отправлен: 27.02.2009, 13:56
Вопрос задал: Bobsa (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Dr_Andrew
Здравствуйте, Bobsa!
К сожалению, Вы не указали к какой именно базе данных необходимо сделать подключение.
Предположим, что имеется база данных MySQL с названием Brucellosis. База данных содержит единственную таблицу с данными заболеваемости; название таблицы Incidence. В таблице имеются поля: ID, Year, Territory, Number_adults, Incidence_adults.
Для написания приложения для подключения к базе данных воспользуемся средствами библиотеки Qt 3.x. По умолчанию в большинстве дистрибутивов Linux обычно установлен драйвер базы данных SQLite; для работы с базой данных MySQL необходимо установить дополнительный пакет (в Fedora 7 это qt-MySQL-3.3.8-4.fc7.i386.rpm).
Первоначально программа должна установить соединение с базой данных, исходя из настроек, выбранных пользователем. Окно настроек подключения может выглядеть так:

Код окна см. в прикр еплённом файле (класс TConnectionForm).
Затем пользователь выбирает таблицу базы данных для редактирования. Окно выбора таблицы может выглядеть так:

Код окна см. прикреплённом файле (класс TTablesForm).
Окно программы с открытой для редактирования таблицей может выглядеть так:

Код окна см. прикреплённом файле (класс TMainForm).
Разумеется, это только шаблон, для придания которому полной функциональности требуется значительная доработка, но функции редактирования таблиц баз данных MySQL программа выполняет.
Удачи!

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.

Ответ отправил: Dr_Andrew (статус: Специалист)
Ответ отправлен: 27.02.2009, 16:43

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


    Вопрос № 161.557
    Здравствуйте уважаемые эксперты!!!! Помогите пожалуйста решить задание:
    Даны три матрицы А(2;2) В(2;3) С(4;3). В каждом из этих матриц найти максимальный элемент и заменить его нулем.
    Отправлен: 27.02.2009, 16:54
    Вопрос задал: dmi_5116 (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Micren
    Здравствуйте, dmi_5116!
    Программа:
    Код:

    #include <locale>
    #include <iostream>
    #include <iomanip>
    #include <cstdlib>
    #include <ctime>

    using namespace std;

    // Заполняет матрицу случайными значениями и ваводит на экран
    void initializeMatrix(const wchar_t* const msg,double* matrix,unsigned int dim1,unsigned int dim2)
    {
    wcout<<msg<<endl;
    for(unsigned int i=0;i<dim1;i++)
    {
    for(unsigned int j=0;j<dim2;j++)
    {
    wcout<<setw(7)<<setprecision(5)<<(*matrix++=(double)rand()/RAND_MAX*50)<<L' ';
    }
    wcout<<endl;
    }
    }

    // Заменяет максимальный элемент нулем и выводит полученную матрицу
    void changeMax2 Zero(const wchar_t* const msg,double* matrix,unsigned int dim1,unsigned int dim2)
    {
    double *end=matrix+dim1*dim2
    ,*mPtr=matrix
    ,*max=matrix;
    // Ищем максимальный
    while(mPtr!=end)
    {
    if(*max<*mPtr)max=mPtr;
    mPtr++;
    }
    // Меняем на 0
    *max=0;
    // Выводим результат
    wcout<<msg<<endl;
    for(unsigned int i=0;i<dim1;i++)
    {
    for(unsigned int j=0;j<dim2;j++)
    wcout<<setw(7)<<setprecision(5)<<*matrix++<<L' ';
    wcout<<endl;
    }
    }

    int main()
    {
    // Инициализация генератора случайных чисел
    srand((unsigned int)time(0));
    locale::global(locale("rus_rus.866"));
    // Размерности матриц
    const int dimA1=2,
    dimA2=2;
    const int dimB1=2,
    dimB2=3;
    const int dimC1=4,
    dimC2=3;
    // Матрицы
    double A[dimA1][dimA2],B[dimB1][dimB2],C[dimC1][dimC2];
    // Заполняем их
    initializeMatrix(L&qu ot;Матрица A:",&A[0][0],dimA1,dimA2);
    initializeMatrix(L"Матрица B:",&B[0][0],dimB1,dimB2);
    initializeMatrix(L"Матрица C:",&C[0][0],dimC1,dimC2);
    // Результат
    changeMax2Zero(L"Матрица A после замены максимального на 0:",&A[0][0],dimA1,dimA2);
    changeMax2Zero(L"Матрица B после замены максимального на 0:",&B[0][0],dimB1,dimB2);
    changeMax2Zero(L"Матрица C после замены максимального на 0:",&C[0][0],dimC1,dimC2);
    system("PAUSE");
    return 0;
    }

    Пример работы:
    Код:

    Матрица A:
    34.451 7.7883
    37.916 8.3041
    Матрица B:
    6.212 36.123 47.932
    15.577 5.3575 27.076
    Матрица C:
    6.0854 9.4928 34.191
    11.658 30.612 26.5 94
    34.393 35.932 44.958
    36.59 1.6373 23.457
    Матрица A после замены максимального на 0:
    34.451 7.7883
    0 8.3041
    Матрица B после замены максимального на 0:
    6.212 36.123 0
    15.577 5.3575 27.076
    Матрица C после замены максимального на 0:
    6.0854 9.4928 34.191
    11.658 30.612 26.594
    34.393 35.932 0
    36.59 1.6373 23.457
    Ответ отправил: Micren (статус: Студент)
    Ответ отправлен: 27.02.2009, 18:28

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


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

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

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

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

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

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

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

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


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное