Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [С++]База данных 
V
    Опции темы
redrover
Дата 6.3.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 6.3.2009
Где: Тульская область

Репутация: 1
Всего: 1



Написать программу - небольшую базу данных, в которой в файле хранится информация о компьютерах со следующими полями: ИмяКомпьютера, СетевойАдрес, ДатаОбслуживания, Процессор, ОбъемПамяти, ЧислоПоломок. В качестве разделителя полей выступает символ подчеркивания. Предусмотреть возможность вывода всех записей на экран, ввода новых записей, поиск записи по полю СетевойАдрес, сортировка записей по полю ОбъемПамяти.
Итак, вот условие поставленной задачи. Прошу принять во внимание, что преподаватель не ожидает увидеть в коде каких-то сверхнавороченных функций, мы еще немного ламеры даже для такого базового понятия, как класс. Только-только приступили к изучению языка... 
Буду очень признателен, если отзоветесь! 
PM MAIL   Вверх
Dmi3ev
Дата 6.3.2009, 23:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 5
Всего: 41



думаю, что сделать красивый вывод на экран и доработать все остальное сможешь, вот тебе начало:
Код

//---------------------------------------------------------------------------

#include <iostream.h>
#include <fstream.h>

//---------------------------------------------------------------------------
struct my_comp
{
        char name[256];//имя компа
        char address[256];//адрес
        char proc[256];//процессор
};

void my_enter(char *fn)
{
        my_comp mc;

        cout<<"Enter name: "<<endl;
        cin>>mc.name;

        cout<<"Enter address: "<<endl;
        cin>>mc.address;

        cout<<"Enter proc: "<<endl;
        cin>>mc.proc;

        ofstream fo;
        fo.open(fn, ios::app);
        fo<<mc.name<<"_"<<mc.address<<"_"<<mc.proc<<endl;
        fo.close();
}

void my_print(char* fn)
{
        ifstream fi;
        fi.open(fn);
        char s[256];
        while(!fi.eof())
        {
                fi.getline(s, 256);
                cout<<s<<endl;
        }
        fi.close();
}
int main()
{
        char filename[]="D:\\MYBD.txt";
        char c;
        while(c!='q')
        {
                cout<<"1 - Enter new."<<endl;
                cout<<"2 - Print all."<<endl;
                cout<<"q - Quit."<<endl;
                cin>>c;
                switch(c)
                {
                        case '1':
                                my_enter(filename);
                        break;
                        case '2':
                                my_print(filename);
                        break;

                }
        }
        return 0;
}
//---------------------------------------------------------------------------

дальше сам!
еще можешь по форуму поискать, я точно делал нечто подобное и выкладывал...

Это сообщение отредактировал(а) Dmi3ev - 6.3.2009, 23:21


--------------------

PM MAIL   Вверх
Dmi3ev
Дата 7.3.2009, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 5
Всего: 41



вот так можно удаление реализовать...
Код

//...
void del()
{
char s[80];
int n=0, k=1;
cout<<"vvedite nomer zapisi dlia udalenia=";
cin>>n;
ifstream fi;
ofstream fo;
fi.open("D:\\myBD.doc");
fo.open("D:\\myBDtemp.doc");
while (! fi.eof())
 {
  fi.getline(s,80);
  if (k!=n)
    fo<<s<<endl;
  k++;
 }
fi.close();
fo.close();
remove ("D:\\myBD.doc");
rename ("D:\\myBDtemp.doc", "D:\\myBD.doc");
}
//...



--------------------

PM MAIL   Вверх
redrover
Дата 8.3.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 6.3.2009
Где: Тульская область

Репутация: 1
Всего: 1



Ок, спасибо.  smile 
PM MAIL   Вверх
redrover
Дата 8.3.2009, 20:06 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 6.3.2009
Где: Тульская область

Репутация: 1
Всего: 1



Ммм... Кстати, в режиме Win32 не компилирует...  smile  Что делать?

Это сообщение отредактировал(а) redrover - 8.3.2009, 20:07
PM MAIL   Вверх
zim22
Дата 8.3.2009, 20:51 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 16
Всего: 69



написать поподробней что именно не компилируется. какие ошибки выдаёт среда.


--------------------
PM MAIL   Вверх
redrover
Дата 8.3.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 6.3.2009
Где: Тульская область

Репутация: 1
Всего: 1



Код

1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(17) : error C2065: cout: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(17) : error C2065: endl: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(18) : error C2065: cin: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(19) : error C2065: cout: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(19) : error C2065: endl: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(20) : error C2065: cin: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(21) : error C2065: cout: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(21) : error C2065: endl: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(22) : error C2065: cin: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(23) : error C2065: ofstream: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(23) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fo"
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(23) : error C2065: fo: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(24) : error C2065: fo: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(24) : error C2228: выражение слева от ".open" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(24) : error C2653: ios: не является именем класса или пространства имен
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(24) : error C2065: app: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(25) : error C2065: fo: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(25) : error C2065: endl: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(26) : error C2065: fo: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(26) : error C2228: выражение слева от ".close" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(30) : error C2065: ifstream: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(30) : error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fi"
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(30) : error C2065: fi: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(31) : error C2065: fi: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(31) : error C2228: выражение слева от ".open" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(33) : error C2065: fi: необъявленный идентификатор
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(33) : error C2228: выражение слева от ".eof" должно представлять класс, структуру или объединение
1>        тип: 'unknown-type'
1>c:\users\redrover\documents\visual studio 2008\projects\эксперимент по работе с файлами\эксперимент по работе с файлами\эксперимент по работе с файлами.cpp(33) : fatal error C1903: не удается восстановить после предыдущих ошибок; остановка компиляции

PM MAIL   Вверх
zim22
Дата 8.3.2009, 21:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 16
Всего: 69



Код

using namespace std;

добавь после строчек с #include


--------------------
PM MAIL   Вверх
redrover
Дата 8.3.2009, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 6.3.2009
Где: Тульская область

Репутация: 1
Всего: 1



Спасибо.  smile  Тема исчерпана.
Еще вопросик по коду... 
Код

        ofstream fo;
        fo.open(fn, ios::app);
        fo<<mc.name<<"_"<<mc.address<<"_"<<mc.proc<<endl;
        fo.close();


Для чего  fo и fi? Если я правильно понимаю, это file out, file input?

Это сообщение отредактировал(а) redrover - 8.3.2009, 23:03
PM MAIL   Вверх
Dmi3ev
Дата 8.3.2009, 23:59 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 5
Всего: 41



Цитата

Для чего  fo и fi? Если я правильно понимаю, это file out, file input?

совет: погугли, ведь программа есть, тебе осталось только немного разобраться и доработать
вот тебе комментарии небольшие
Код

        ofstream fo;//объявили, будем использовать для записи в файл
        fo.open(fn, ios::app);//открыли файл, имя которого = значению fn, ios::app означает, что мы будем
                                     //добписывать в конец файла данные, а не перезаписывать его каждый раз (можешь убрать это и увидишь, что будет)
        fo<<mc.name<<"_"<<mc.address<<"_"<<mc.proc<<endl;//вывод в файл, аналогично cout<<..., только выводит в файл, а не на экран
        fo.close();//закрыли

Код

        ifstream fi;//объявил, будем использовать для чтения из файла
        fi.open(fn);//открыли файл, имя которого = значению fn
        char s[256];//будем читать каждую строку в эту переменную
        while(!fi.eof())//пока не конец файла
        {
                fi.getline(s, 256);//читаем строку длинной не более 256 в s(можно и так читать fi>>..., аналогично cin)
                                           //но я выбрал такой способ чтения, хотя можно и побуквенно и как только не можно, читай, будешь владеть всеми              
                                           //спосбами
                cout<<s<<endl;//выводим строку
        }
        fi.close();//закрыли

а так советую почитать, много интересного можно делать с помощью 


--------------------

PM MAIL   Вверх
redrover
Дата 14.3.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 6.3.2009
Где: Тульская область

Репутация: 1
Всего: 1



Код

Код

void google(char *fn)
{
    ifstream fi;
    fi.open(fn);
    char s[256];
    while(!fi.eof())
        {
            char g;
            cout<<"search: ";
            cin>>g;
                fi.getline(s, 256);
                for(int i=0; i<256; i++)
                    if(s[i]==g)
                    {
                        cout<<"rezult: "<<s<<endl;
                         i=256;
                    }
        }
    fi.close();
}



Вот код для реализации поиска по символу.)

Это сообщение отредактировал(а) redrover - 14.3.2009, 10:59
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.2398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.