Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/48: Рейтинг темы: голосов - 48, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
1

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

28.05.2014, 06:00. Показов 9057. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть задание помоги интересует не выполнение а справка что можете посоветовать почитать на эту тему что нужно использовать и если можно примеры. в программировании слаб заушник( времени мало информации в инете мало. помогите!!!

Задание:

Все задания выполняются на языки 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" и сохранятся в него. Функции, которые можно выполнять с БД: удалить, добавить, изменить запись. Вывести все запчасти необходимые для сборки Системного блока компьютера в трех ценовых диапазонах: самый дорогой, средний и самый дешевый. Системный блок должен состоять из видеокарты, процесса, материнской платы, оперативной памяти, корпуса и жесткого диска.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2014, 06:00
Ответы с готовыми решениями:

Создать базу данных склада компьютерного магазина ("base.txt")
Доброго времени суток! Так уж вышло, что пытаюсь научиться писать на C++ и для одного из примеров...

Создать базу данных оптового склада
Ребят, прошу помощи. Нужно сдать данную работу на днях. Было бы круто, если бы скинули готовую...

База данных компьютерного магазина
создал запрос квитанция, в нем показывалось имя фамилия отчество отдельно,дата название товара,...

Создать базу данных магазина "Виртуальный мир", вывести данные о доходах с продаж
Всем здравствуйте доброго дня Перейду сразу к делу У меня есть задача Магазин «Виртуальный мир»...

16
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
28.05.2014, 07:53 2
Простейший вариант:
1. Определяешь структуру данных для хранения в файле. Например одна запись это одна строка. '\n' это переход на другую строку если что. В каждой строке будет название;цена;тип;
2. При запуске программы открываешь файл (fopen)
3. В цикле, который закончится когда указатель чтения дойдет до конца файла, читаешь символы и запихиваешь их в char. Для стоимости проще будет тоже создать временно char[]. Как считал строку, записываешь их в массив со структурами.
4. Выводишь на экран
5. Ну дальше придумываешь меню и функции, которые будут выполняться.
6. Перед закрытием программы очищаешь файл, проходишь по массивы структур и записываешь в файл.
0
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
01.06.2014, 21:36  [ТС] 3
а можно пример что и как должно быть в файле записано
0
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
02.06.2014, 05:12 4
alexb4, На самом деле что угодно, главное что бы смог потом это расшифровать.
Я же тебе писал пример....

название;цена;тип;
название;цена;тип;
название;цена;тип;
название;цена;тип;
название;цена;тип;
название;цена;тип;
0
327 / 230 / 55
Регистрация: 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");
  }
  
}
0
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).
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
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 и в справке вычитываешь что сие означает
0
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 и в справке вычитываешь что сие означает
просто вышло окно на доли секунды и закрылось оно, а работы программы не увидел как таковой((
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
02.06.2014, 21:26 9
Цитата Сообщение от alexb4 Посмотреть сообщение
просто вышло окно на доли секунды и закрылось оно, а работы программы не увидел как таковой
запусти не F5 а ctrl+F5
вообще эта тема не раз обсуждалась
например для VC можно сделать
C++
1
system("pause");
перед return
0
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
03.06.2014, 06:21  [ТС] 10
uglyPinokkio, А код что вы скинули что он по идеи должен был делать? то что он записывает в файл я это понял. Это как пример? и то что файл в который записывается иформация из программы бинарный это обязательно или можно в обычном формате???
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
03.06.2014, 06:22 11
Цитата Сообщение от alexb4 Посмотреть сообщение
просто вышло окно на доли секунды и закрылось оно, а работы программы не увидел как таковой((
Ну собственно:

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

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

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

3. Называть каталоги и файлы на языке отличном от английского - моветон.
0
0 / 0 / 0
Регистрация: 28.05.2014
Сообщений: 6
03.06.2014, 06:32  [ТС] 12
значит я все правильно понял в этой проге. а если не бесплатно то какова цена вопроса. Просто время у меня более менее наработки есть кое какие.
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
03.06.2014, 07:00 13
Цитата Сообщение от alexb4 Посмотреть сообщение
значит я все правильно понял в этой проге. а если не бесплатно то какова цена вопроса. Просто время у меня более менее наработки есть кое какие.
Так там же уже пол задачи есть? Чтение - изменение - сохранение есть.
Удаление можно сделать просто через обнуление цены - при чтении не выводить записи с нулевой ценой.
Осталось сделать меню с выбором функций.
Выбор конфигурации сделать тупым перебором по цене. Для студенческой работы пойдет.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
03.06.2014, 21:09 14
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
в файле base.txt. Файл бинарный,
сам то понял что сказал?
расширение текстовое а файл бинарный
0
solar_wind
03.06.2014, 21:29
  #15

Не по теме:

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

0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
03.06.2014, 21:55 16
Цитата Сообщение от solar_wind Посмотреть сообщение
Расширение это всего лишь часть названия, хотя конечно немного не логично
А тож
хоть бы bin назвал бинарные данные или bd база данных, али ишо как
а то txt, двойной щелчок мыши в винде и открывается блокнот, не думаю что пользователи тебе спасибо скажут
0
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
04.06.2014, 06:02 17
Цитата Сообщение от ValeryS Посмотреть сообщение
сам то понял что сказал?
расширение текстовое а файл бинарный
Вполне. И даже написал почему так.

Цитата Сообщение от ValeryS Посмотреть сообщение
хоть бы bin назвал бинарные данные или bd база данных, али ишо как
Учимся читать условие. Или просто читать.
0
04.06.2014, 06:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2014, 06:02
Помогаю со студенческими работами здесь

Составить базу данных для товарного склада
Составить базу данных для товарного склада, предусмотрев поля: наименование товара, его количество,...

Составить базу данных для товарного склада
Составить базу данных для товарного склада,предусмотрев поля: наименование товара, его...

Проверьте пожалуйста базу данных склада на ошибки в проектировании
Таблицы User и rule будут использованы для создания разграничения прав доступа. MySQLWorkBench...

Изменить базу данных: приходе и расходе добавить номер склада
есть база данных нужна изменит так чтоб и в приходе и расходе добавилось номер склада


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru