База даных на С++

Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 18:47, курсовая работа

Описание

Програмування — це процес проектування, написання, тестування, і підтримки комп'ютерних програм. Програмування поєднує в собі елементи інженерії (існує навіть відповідна спеціальна галузь інженерії, фундаментальних наук і мистецтва.
У більш вузькому значенні програмування розглядається як кодування у вигляді програми одного чи кількох взаємопов'язаних алгоритмів . У ширшому сенсі процес програмування охоплює і створення, тобто розробку, алгоритмів, і аналіз потреб майбутніх користувачів програмного забезпечення.

Содержание

Вступ
Призначення та область використан
Опис і обґрунтування проектних рішень щодо розробки програмного продукту……………..……………………
Реалізація курсової роботи………………………
Інструкція користувача……………………………
Розрахунки та матеріали, що підтверджують надійність та працездатність програми……………..………………
Перелік скорочень
Висновок
Перелік використаної літератури.
Додатки.

Работа состоит из  1 файл

База даных на С++.docx

— 876.91 Кб (Скачать документ)

getch();

exit(1);

}

n=0;  fin>>a[n].artic>>a[n].naimtovar>>a[n].colvovyp>>a[n].cena>>a[n].colvo;

while(fin.good()) {

n++;  fin>>a[n].artic>>a[n].naimtovar>>a[n].colvovyp>>a[n].cena>>a[n].colvo; }

fin.close();

}

Якщо такий файл існує, то підпрограма «voidtovari::outputfile»  його відкриває та виводить на екран.

voidtovari::outputfile()

{ int i;

cout<<setw(10)<<"Kod_tov"<<setw(14)<<"Naime_tov"<<setw(18)<<"V_upacovke"<<setw(14)<<"Cena_tov"<<setw(16)<<"Kollvo_tov"<<endl;

for(i=0;i<n;i++) cout<<setw(10)<<a[i].artic<<setw(18)<<a[i].naimtovar<<setw(8)<<a[i].colvovyp<<setw(16)<<a[i].cena<<setw(16)<<a[i].colvo<<endl;

}

Підпрограма «voidtovari::alfsort» яка сортує по найменування товару.

voidtovari::alfsort()

{

intfl,i,l;

tovar t;

  l=n-1;

do

  {

  fl=0;

for(i=0;i<l;i++)

if(strcmp(a[i].naimtovar,a[i+1].naimtovar)>0)

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

  fl=1;   

  }

l--;

  }

Підпрограма «voidtovari::sort_chisl_1» ,сортування по номеру товару.

voidtovari::sort_chisl_1()

{

intfl,i,l;

tovar t;

  l=n-1;

do

  {

   fl=0;

for(i=0;i<l;i++)

if(strcmp(a[i].artic,a[i+1].artic)>0) {

t=a[i];

      a[i]=a[i+1];

      a[i+1]=t;

      fl=1;}

   l--;

  }

while(fl==1);

return;

Підпрограма «voidtovari::sort_chisl_3» в який виконується сортування по ціні товару.

voidtovari::sort_chisl_3()

{

intfl,i,l;

tovar t;

  l=n-1;

do

  {

   fl=0;

for(i=0;i<l;i++)

if(strcmp(a[i].cena,a[i+1].cena)>0)

{

t=a[i];

      a[i]=a[i+1];

      a[i+1]=t;

      fl=1;

    }

   l--;

  }

while(fl==1);

return;

}

Підпрограма «voidtovari::sort_chisl_4», сортування за кількістю.

voidtovari::sort_chisl_4()

{

intfl,i,l;

tovar t;

  l=n-1;

do

  {

   fl=0;

for(i=0;i<l;i++)

if(strcmp(a[i].colvo,a[i+1].colvo)>0)

{

t=a[i];

      a[i]=a[i+1];

      a[i+1]=t;

      fl=1;

    }

   l--;

  }

while(fl==1);

return;

Підпрограма «voidtovari::sohranenie» яка зберігає новий або відредагований файл.

voidtovari::sohranenie()

{

charfile[L];

ofstreamout;

intotvet;

cout<<"Sohranitizmeneniya?"<<endl<<"Yes(press 1),No(press 0)";

cin>>otvet;

if(otvet==1)

{

cout<<"vveditedirektoriyukudavjbjhotelisohranit";

cin>>file;

out.open(file);

if(out==NULL)

{

cout<<"Filenesozdan"<<endl<<"programmtobefinished";

getch();

exit(1);

}

}

int i;

for(i=0;i<n;i++)out<<setw(10)<<a[i].artic<<setw(10)<<a[i].naimtovar<<setw(10)<<a[i].colvovyp<<setw(13)<<a[i].cena<<setw(13)<<a[i].colvo<<endl;

cout<<endl;

}

Пошук по вибраному полю виконує підпрограма «voidtovari::poisk».

voidtovari::poisk()

{

int i,d=0,f=0,j=0;

int q,w,e,r,t;

charartic[L], naimtovar[L],colvovyp[L],cena[L],colvo[L];

cout<<"Proizvestipoiskpo:"<<endl;

cout<<"Nomeru? Da-1,Net-0: ";

cin>>q;

if(q==1) {cout<<"VvediteKodtovara :"; cin>>artic;f++;}

cout<<"iskatponaimenovaniutovara? Da-1,Net-0: ";

cin>>w;

if(w==1) {cout<<"Vveditenaimenovanietovara: ";cin>>naimtovar;f++;}

cout<<"iskatpoarticulutovara?Da-1,Net-0: ";

cin>>e;

if(e==1) {cout<<"Vvvedite v upacovke: "; cin>>colvovyp;f++;}

cout<<"iskatpoceneedinicitovara? Da-1,Net-0: ";

cin>>r;

if(r==1) {cout<<"Vveditecenutovara: ";cin>>cena;f++;}

cout<<"iskatpocollichestvutovara? Da-1,Net-0: ";

cin>>t;

if(t==1) {cout<<"Vveditecollichestvotavara: ";cin>>colvo;f++;}

for(i=0;i<n;i++)

{

if(q==1) {if(strcmp(artic, a[i].artic)==0) d=d+1;}

if(w==1) {if(strcmp(naimtovar,a[i].naimtovar)==0) d=d+1;}

if(e==1) {if(strcmp(colvovyp, a[i].colvovyp)==0) d=d+1;}

if(r==1) {if(strcmp(cena,a[i].cena)==0) d=d+1;}

if(t==1) {if(strcmp(colvo,a[i].colvo)==0) d=d+1;}

cout<<endl;

if(d==f) {cout<<setw(10)<<a[i].artic<<setw(11)<<a[i].naimtovar<<setw(14)<<a[i].colvovyp<<setw(10)<<a[i].cena<<setw(15)<<a[i].colvo<<endl; d=0;j=j+1;}

   d=0; }

if(j==0) cout<<"Poisknedalrezultata!"<<endl<<endl;

cout<<endl<<endl;}

Дана програма має меню яке зображена на рисунку 3.1, тафайл обліку в форматі «.txt» на рисунку 3.2.

Рисунок 3.1 - меню програми

Рисунок 3.2 – Файл обліку ком пакт дисків

 

4 Інструкція користувача

Відкриваємо програму за допомогою  файлу «BAZA.exe». З’являється меню програми .

Рисунок 4.1 – меню програми

Меню має такі пункти:

  1. «Vvodfaila» -  вводиться шлях та ім’я файлу;
  2. «Vivodizfaila»  - виводиться файл на екран;
  3. «Alfofitnaisortirovka» - сортування по імені товару;
  4. «Zapisdannihvfile»- зберігання нового файлу або зміненого;
  5. «SortirovkapoKodytovara» - сортування по коду товару;
  6. «Sortirovkapocolchestvuvupacovke»  - сортування за кількістю в упаковці;
  7. «SortirovkapoCenetovara» - сортування за ціною товару;
  8. «SortirovkapoKollichestvutovara» - сортування за кількістю товару на складі;
  9. «Poiskpopolu» - пошук по обраному полю;
  10. «Dobavleniezapisi v fail» - додавання запису у файл;
  11. «Udaleniezapisiizfailu» - видалення запису з файлу;
  12. «Redaktirovanie» -  редагування файлу;
  13. «Sozdanienovogofaila»  - створення нового файлу;
  14. «Konetsraboti» - вихід із програми.

Відкриваємо файл обліку. Натискаємо 1 потім «Enter», і вказуємо шлях та ім’я файлу.

Рисунок 4.2 – Введення шляху  файлу

Натискаємо «Enter» потім 2, і знову «Enter» . Виводиться файл на екран.

Рисунок 4.3 – Виведення  файлу на екран

Потім з файлом можна робити все що завгодно: сортувати, видаляти або добавляти рядки, змінювати  записи.

Наприклад ми видалимо запис  а потім знову його добавимо.

Набираємо  цифру 11 (видалення) натискаємо «Enter» та вибираємо номер запис який потрібно видалити.

Рисунок 4.4 – Видаляємо  запис з файлу 

Натискаємо «Enter» и вводимо цифру 2 щоб вивести файл на екран.

Рисунок 4.5 – Перевіряємо  чи запис видалено 

 Бачимо що запису  немає, потім вводимо цифру 10 щоб добавити запис. Вводимо дані запису які потрібні.

Рисунок 4.6 – Вводимо новий  запис в файл

Тиснемо «Enter». Набираємо цифру 2 и знову тиснемо «Enter». Бачимо що запис з’явився.

Рисунок 4.7 – Перевіряємо  файл

Таким же самим способом виконуються всі інші операцій над файлом. Як бачите програма легка і зрозуміла.

 

5 Розрахунки та матеріали, що підтверджують надійність та працездатність програми

Для розрахунку надійності та працездатності програми вибрали відповідно до моделі Муса. У цій моделі надійність програмного забезпечення на етапі експлуатації оцінюється за результатом тестування.

Нехай тривалості етапів тестування складають годин:

t1= 15;

t2= 20;

t3= 26.

Кількість відмов на першому  етапі n1=2, на другомуn2= 4 , а на третьому n3=3.

Середня швидкість виконання програмного забезпечення А= 108/год,

Кількість операторів у ПЗ В=1000.

Визначити надійність R(t)програмно  забезпечення для періоду експлуатації t= 100 годин.

Середня швидкість виконання  одного оператора складає:

 

Первісна кількість помилок  в програмному забезпеченні N буде знайдена за моделлю Шумена методом підбору N=6. Отже, це і є кількість помилок в програмному забезпеченні.

Коефіцієнт прояви помилок  К буде прийнято рівним 2,75*10-7.

Визначення параметрів 0:

 

Нехай значення коефіцієнта  С=3( 3години роботи програми на тестування в реальних умовах). Тоді середнє напрацювання до відмови після тестування на етапі експлуатації згідно формули:

 

Значення надійності програмного  забезпечення для періоду експлуатації t= 100 годин за формулою:

 

 

Перелік скорочень

ОС – операційна систем.

MS Access – програма Microsoft Access.

БД – база даних.

СКБД – система керування базами даних.

 

Висновок

В дані курсовій роботі було розроблена програма обліку для магазину компакт дисків на мові високого рівня С. Програма була розроблена та описані бібліотеки, підпрограма, функцій які були використані. Проводилась робота над помилками.  Також були написані розрахунки та матеріали, що підтверджують надійність та працездатність.

 

Перелік використаної літератури

  1. Программирование на языке СИ: Учебное пособие. -Тамбов,1995.- 169 с.
  2. Програмування на мові Сі – електроний ресурс./Степура А. А. -

Режим доступу: http://ua-referat.com/Програмування_на_мові_Сі

  1. Мова програмування C./Браян. В. Керніган і Деніс М. Річі- 2-ге видання, перероб. і доп.,2009. – 304с.
  2. Язык   C  / Шолмов Л.И. 1998г. – 229с.
  3. Сі (мова програмування) – електроный ресурс

Режим доступу:http://znaimo.com.ua/Сі_(мова_програмування)

 

 

 

 

 

 

 

 

 

 

 

Додаток

 

Додаток А

Лістинг програми

#include<conio.h>

#include<stdlib.h>

#include<stdio.h>

#include<iostream.h>

#include<string.h>

#include<iomanip.h>

#include<fstream.h>

#include <dos.h>

#include <io.h>

const int L=30;

struct tovar

{

char artic[L];

char naimtovar[L];

char colvovyp[L];

char cena[L];

char colvo[L];

int d;

};

const int N=100;

class tovari

{

private:

tovar a[N];

int n;

public:

void input_file();

void outputfile();

void alfsort();

void sohranenie();

void sort_chisl_2();

void sort_chisl_1();

void sort_chisl_3();

void sort_chisl_4();

void add();

void udalenie();

void redaktirovanie();

void input();

void poisk();

};

void main()

{

tovari a;

int pm;

while(1)

{

cout<<"1.Vvod faila"<<endl;

cout<<"2.Vivod iz faila "<<endl;

cout<<"3.Alfofitnai sortirovka"<<endl;

cout<<"4.Zapis dannih v file"<<endl;

cout<<"5.Sortirovka po Kody tovara"<<endl;

cout<<"6.Sortirovka po colichestvu v upacovke"<<endl;

cout<<"7.Sortirovka po Cene  tovara"<<endl;

cout<<"8.Sortirovka po Kollichestvu tovara"<<endl;

cout<<"9.Poisk po polu"<<endl;

cout<<"10.Dobavlenie zapisi v fail"<<endl;

cout<<"11.Udalenie zapisi iz faila"<<endl;

cout<<"12.Redaktirovanie"<<endl;

cout<<"13.Sozdanie novogo faila "<<endl;

cout<<"14.Konets raboti"<<endl;

cout<<endl<<endl;

cout<<"Vash vibor 1-14"<<endl;

cin>>pm;

cout<<endl<<endl;

switch(pm)

{

case 1:a.input_file();break;

case 2:a.outputfile();getch();break;

case 3:a.alfsort();break;

case 4:a.sohranenie();break;

case 5:a.sort_chisl_1();break;

case 6:a.sort_chisl_2();break;

case 7:a.sort_chisl_3();break;

case 8:a.sort_chisl_4();break;

case 9:a.poisk();break;

case 10:a.add();break;

case 11:a.udalenie();break;

case 12:a.redaktirovanie();break;

case 13:a.input();break;

case 14:cout<<"Konets raboti";

getch();

return;

default:cout<<"Net tacogo puncta";

getch();break;

}}}

void tovari::alfsort()

{

  int fl,i,l;

  tovar t;

  l=n-1;

  do

  {

fl=0;

  for(i=0;i<l;i++)

  if(strcmp(a[i].naimtovar,a[i+1].naimtovar)>0)

  {     

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

fl=1;

  }  

l--;

  }

  while(fl==1);

  return;

}

void tovari::input_file()

{

ifstream fin;

char file[L];

cout<<"Ukazite put k filu : ";

cin>>file;

fin.open(file);

if(fin==NULL)

{

cout<<"File not open";

getch();

exit(1);

}

n=0; fin>>a[n].artic>>a[n].naimtovar>>a[n].colvovyp>>a[n].cena>>a[n].colvo;

while(fin.good())

{

n++;

fin>>a[n].artic>>a[n].naimtovar>>a[n].colvovyp>>a[n].cena>>a[n].colvo;

}

fin.close();

void tovari::outputfile()

{

int i;   cout<<setw(10)<<"Kod_tov"<<setw(14)<<"Naime_tov"<<setw(18)<<"V_upacovke"<<setw(14)<<"Cena_tov"<<setw(16)<<"Kollvo_tov"<<endl;

for(i=0;i<n;i++)

cout<<setw(10)<<a[i].artic<<setw(18)<<a[i].naimtovar<<setw(8)<<a[i].colvovyp<<setw(16)<<a[i].cena<<setw(16)<<a[i].colvo<<endl;

}

void tovari::sort_chisl_1()

{

   int fl,i,l;

   tovar t;

  l=n-1;

Информация о работе База даных на С++