Форум программистов, компьютерный форум CyberForum.ru

Создать базу данных (БД) склада компьютерного магазина - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
alexb4
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
28.05.2014, 06:00     Создать базу данных (БД) склада компьютерного магазина #1
Есть задание помоги интересует не выполнение а справка что можете посоветовать почитать на эту тему что нужно использовать и если можно примеры. в программировании слаб заушник( времени мало информации в инете мало. помогите!!!

Задание:

Все задания выполняются на языки c++ в среде Visual Studio. Результатом выполнения задания является работающая консольная программа, протокол, который включает в себя задание, алгоритм работы основных функций и код программы.
Задание состоит из основной задачи и дополнительных двух заданий. Без выполнения обоих частей задание не считается выполненным.

Для работы с файлами использовать функции fopen, fclose, fread, fwrite.
База данных(БД ) представляет собой массив структур. Запись представляет собой структура вида:
C++
1
2
3
4
5
6
struct Inventar
{
char Name[30];
double Cost;
char Type[30];
};
Вот сама задача:

Создать базу данных(БД) склада компьютерного магазина . БД содержит наименование запчасти, цена, тип. (Пример: "asus 7670", 4300р, видеокарта). БД должна загружаться из файла "base.txt" и сохранятся в него. Функции, которые можно выполнять с БД: удалить, добавить, изменить запись. Вывести все запчасти необходимые для сборки Системного блока компьютера в трех ценовых диапазонах: самый дорогой, средний и самый дешевый. Системный блок должен состоять из видеокарты, процесса, материнской платы, оперативной памяти, корпуса и жесткого диска.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 06:00     Создать базу данных (БД) склада компьютерного магазина
Посмотрите здесь:

C++ Создать базу данных
Создать базу данных «Учет прибыли предприятия» C++
Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде локальной переменной внутри функции. C++
Создать базу данных автобусного парка C++
C++ Создать базу данных автомобилей
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
28.05.2014, 07:53     Создать базу данных (БД) склада компьютерного магазина #2
Простейший вариант:
1. Определяешь структуру данных для хранения в файле. Например одна запись это одна строка. '\n' это переход на другую строку если что. В каждой строке будет название;цена;тип;
2. При запуске программы открываешь файл (fopen)
3. В цикле, который закончится когда указатель чтения дойдет до конца файла, читаешь символы и запихиваешь их в char. Для стоимости проще будет тоже создать временно char[]. Как считал строку, записываешь их в массив со структурами.
4. Выводишь на экран
5. Ну дальше придумываешь меню и функции, которые будут выполняться.
6. Перед закрытием программы очищаешь файл, проходишь по массивы структур и записываешь в файл.
alexb4
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
01.06.2014, 21:36  [ТС]     Создать базу данных (БД) склада компьютерного магазина #3
а можно пример что и как должно быть в файле записано
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
02.06.2014, 05:12     Создать базу данных (БД) склада компьютерного магазина #4
alexb4, На самом деле что угодно, главное что бы смог потом это расшифровать.
Я же тебе писал пример....

название;цена;тип;
название;цена;тип;
название;цена;тип;
название;цена;тип;
название;цена;тип;
название;цена;тип;
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
02.06.2014, 07:31     Создать базу данных (БД) склада компьютерного магазина #5
fopen, fclose, fread, fwrite это не С++, это С

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <stdio.h>
 
#pragma pack(push,1)
struct Inventar
{
char Name[30];
double Cost;
char Type[30];
};
#pragma pack(pop)
 
#define MAX_RECORDS 20
int main()
{
  Inventar db_records[MAX_RECORDS]={0};
  FILE* db_file=fopen("base.txt","rb");
  if(db_file)
  {
     int record_no=0;
     while(record_no<MAX_RECORDS && fread(&db_records[record_no],sizeof(Inventar),1,db_file))
     {
        printf("%d %s %6.2f %s\n",record_no,db_records[record_no].Name,db_records[record_no].Cost,db_records[record_no].Type);
        record_no++;
     }     
     fclose(db_file);
     db_file=0;
  }
   
  srand( (unsigned)time( NULL ) );
  int rand_rec = 0;
  for(int i=0;i<MAX_RECORDS;i++)
   rand_rec = (double)rand() / (RAND_MAX + 1) * (MAX_RECORDS);
  printf("Change record %d\n",rand_rec);
  
  strncpy(db_records[rand_rec].Name,"Test Name",sizeof(db_records[rand_rec].Name)-1);
  db_records[rand_rec].Cost = 100.2;
  strncpy(db_records[rand_rec].Type,"Test Type",sizeof(db_records[rand_rec].Type)-1);
  
  db_file=fopen("base.txt","wb");
  if(db_file)
  {
     for(int rec_no=0;rec_no<MAX_RECORDS;rec_no++)
     {
        if(!fwrite(&db_records[rec_no],sizeof(Inventar),1,db_file))
        {
           printf("Database file write error\n");
           break;
        }
     }
     fclose(db_file);
  }
  else
  {
     printf("Database file open error\n");
  }
  
}
alexb4
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
02.06.2014, 21:07  [ТС]     Создать базу данных (БД) склада компьютерного магазина #6
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
fopen, fclose, fread, fwrite это не С++, это С
Код C
Попытался компилировать выдал такую ошибку:
Ошибка 1 error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. e:\основы программирования\база\проект1\проект1\исходный код.cpp 19 1 Проект1

добавил вот это
Код
#pragma warning(disable : 4996)
эта ошибка ушла появилась эта
"Проект1.exe" (Win32). Загружено "E:\Основы Программирования\База\Проект1\Debug\Проект1.exe". Символы загружены.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcr120d.dll". Невозможно найти или открыть PDB-файл.
Программа "[7424] Проект1.exe" завершилась с кодом 0 (0x0).

Уменя стоит VS2013 если что...

Добавлено через 9 минут
включил символы в настройках символы загрузились а ошибка примерно такая же((
"Проект1.exe" (Win32). Загружено "E:\Основы Программирования\База\Проект1\Debug\Проект1.exe". Символы загружены.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Символы загружены.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Символы загружены.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Символы загружены.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcr120d.dll". Символы загружены.
Программа "[8240] Проект1.exe" завершилась с кодом 0 (0x0).
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
02.06.2014, 21:08     Создать базу данных (БД) склада компьютерного магазина #7
Цитата Сообщение от alexb4 Посмотреть сообщение
эта ошибка ушла появилась эта
"Проект1.exe" (Win32). Загружено "E:\Основы Программирования\База\Проект1\Debug\Проект1.exe". Символы загружены.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcr120d.dll". Невозможно найти или открыть PDB-файл.
Программа "[7424] Проект1.exe" завершилась с кодом 0 (0x0).
и где тут ошибки
первая строка сообщает, что загружена отладочная информация
потом в трех строках тебе сообщается что отладочной информации для системных библиотек не найдено
и последняя строчка сообщает что программа успешно отработала и закрылась
Цитата Сообщение от alexb4 Посмотреть сообщение
Уменя стоит VS2013 если что
выделяешь строчку которая тебе не нравится и жмешь F1 и в справке вычитываешь что сие означает
alexb4
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
02.06.2014, 21:15  [ТС]     Создать базу данных (БД) склада компьютерного магазина #8
Цитата Сообщение от ValeryS Посмотреть сообщение
Originally Posted by alexb4
эта ошибка ушла появилась эта
"Проект1.exe" (Win32). Загружено "E:\Основы Программирования\База\Проект1\Debug\Проект1.exe". Символы загружены.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Невозможно найти или открыть PDB-файл.
"Проект1.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcr120d.dll". Невозможно найти или открыть PDB-файл.
Программа "[7424] Проект1.exe" завершилась с кодом 0 (0x0).
и где тут ошибки
первая строка сообщает, что загружена отладочная информация
потом в трех строках тебе сообщается что отладочной информации для системных библиотек не найдено
и последняя строчка сообщает что программа успешно отработала и закрылась
Originally Posted by alexb4
Уменя стоит VS2013 если что
выделяешь строчку которая тебе не нравится и жмешь F1 и в справке вычитываешь что сие означает
просто вышло окно на доли секунды и закрылось оно, а работы программы не увидел как таковой((
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
02.06.2014, 21:26     Создать базу данных (БД) склада компьютерного магазина #9
Цитата Сообщение от alexb4 Посмотреть сообщение
просто вышло окно на доли секунды и закрылось оно, а работы программы не увидел как таковой
запусти не F5 а ctrl+F5
вообще эта тема не раз обсуждалась
например для VC можно сделать
C++
1
system("pause");
перед return
alexb4
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
03.06.2014, 06:21  [ТС]     Создать базу данных (БД) склада компьютерного магазина #10
uglyPinokkio, А код что вы скинули что он по идеи должен был делать? то что он записывает в файл я это понял. Это как пример? и то что файл в который записывается иформация из программы бинарный это обязательно или можно в обычном формате???
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
03.06.2014, 06:22     Создать базу данных (БД) склада компьютерного магазина #11
Цитата Сообщение от alexb4 Посмотреть сообщение
просто вышло окно на доли секунды и закрылось оно, а работы программы не увидел как таковой((
Ну собственно:

1. Это не полное решение задачи, а только чтение-сохранение массива структур. Я больше 10 минут бесплатно не работаю .

Приложение загружает из файла до MAX_RECORDS записей, изменяет одну из них, выбранную случайным образом и сохраняет обратно.

2. Работа программы видна в файле base.txt. Файл бинарный, поскольку по условию это не запрещено а конвертировать double в текст было лень.

3. Называть каталоги и файлы на языке отличном от английского - моветон.
alexb4
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
03.06.2014, 06:32  [ТС]     Создать базу данных (БД) склада компьютерного магазина #12
значит я все правильно понял в этой проге. а если не бесплатно то какова цена вопроса. Просто время у меня более менее наработки есть кое какие.
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
03.06.2014, 07:00     Создать базу данных (БД) склада компьютерного магазина #13
Цитата Сообщение от alexb4 Посмотреть сообщение
значит я все правильно понял в этой проге. а если не бесплатно то какова цена вопроса. Просто время у меня более менее наработки есть кое какие.
Так там же уже пол задачи есть? Чтение - изменение - сохранение есть.
Удаление можно сделать просто через обнуление цены - при чтении не выводить записи с нулевой ценой.
Осталось сделать меню с выбором функций.
Выбор конфигурации сделать тупым перебором по цене. Для студенческой работы пойдет.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
03.06.2014, 21:09     Создать базу данных (БД) склада компьютерного магазина #14
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
в файле base.txt. Файл бинарный,
сам то понял что сказал?
расширение текстовое а файл бинарный
solar_wind
03.06.2014, 21:29
  #15

Не по теме:

ValeryS, Расширение это всего лишь часть названия, хотя конечно немного не логично

ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
03.06.2014, 21:55     Создать базу данных (БД) склада компьютерного магазина #16
Цитата Сообщение от solar_wind Посмотреть сообщение
Расширение это всего лишь часть названия, хотя конечно немного не логично
А тож
хоть бы bin назвал бинарные данные или bd база данных, али ишо как
а то txt, двойной щелчок мыши в винде и открывается блокнот, не думаю что пользователи тебе спасибо скажут
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2014, 06:02     Создать базу данных (БД) склада компьютерного магазина
Еще ссылки по теме:

Создать базу данных (массив структур) в соответствии с заданной структуры C++
C++ Создать базу данных склада компьютерного магазина ("base.txt")
C++ Создать базу данных

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
uglyPinokkio
325 / 228 / 41
Регистрация: 30.05.2014
Сообщений: 682
04.06.2014, 06:02     Создать базу данных (БД) склада компьютерного магазина #17
Цитата Сообщение от ValeryS Посмотреть сообщение
сам то понял что сказал?
расширение текстовое а файл бинарный
Вполне. И даже написал почему так.

Цитата Сообщение от ValeryS Посмотреть сообщение
хоть бы bin назвал бинарные данные или bd база данных, али ишо как
Учимся читать условие. Или просто читать.
Yandex
Объявления
04.06.2014, 06:02     Создать базу данных (БД) склада компьютерного магазина
Ответ Создать тему
Опции темы

Текущее время: 01:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru