Использование структур

Страницы работы

14 страниц (Word-файл)

Содержание работы

Министерство образования и науки РФ

ГОУВПО «Комсомольский-на-Амуре государственный технический университет»

Кафедра МОП ЭВМ

Лабораторная работа №6

«Использование структур»

                                                               Выполнил: Рогозин В.А.

Группа: 4ВС-1

Проверил: Могильников Е.В.

Комсомольск-на-Амуре

2006

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

Алгоритм:

Создаётся структура, с которую с помощью функции add() заносятся данные, при каждом вызове функции add() динамически выделяется память для новых элементов структуры.

Для организации хранения данных используется связный список.

Для вывода всего списка используется функция screen(), которая по порядку перебирает все элементы связного списка, пока указатель на следующую структуру нестанет равным NULL. В функциях удаления переименования и обмена используется функция поиска poisk() которая по порядку перебирает элементы списка и сравнивает введённое значение с значением текущего элемента, если значения совпадают то указателю на структуру  присваивается значение найденного указателя на структуру структуры.

Для переименования определённой строки используется функция поиска, а затем повторный ввод данный для этой строки, для удаления также используется функция поиска, и затем указателю на текущую строку присваивается адрес указателя на следующую строку.

Блок-схема:

prov()                                                                                      poisk()

 


rab()

Блок-схема: знак завершения: начало
 


screen()

 


add()                                                                                                          rename()

 


Блок-схема: типовой процесс: add();             

 


dell()                                                                              obmen()

 


////////////////////////

// Rogozin V.A. 4BC-1 //

////////////////////////

#include<iostream.h>

#include<conio.h>

#include<stdlib.h>

int zn,k=0,s=0;

struct sm

{

char *vid,*proiz;

int kod,kol;

float cena;

sm *next;

}*perv,*tec,*posl,*temp,*temp2,*temp3;

int prov();

void rab();

void poisk();

void dell();

void add();

void rename();

void obmen();

void screen();

void main(void)

{

perv=(sm*)calloc(1,sizeof(sm));

posl=(sm*)calloc(1,sizeof(sm));

temp=(sm*)calloc(1,sizeof(sm));

temp->vid=(char*)calloc(100,sizeof(char));

temp->proiz=(char*)calloc(100,sizeof(char));

temp2=(sm*)calloc(1,sizeof(sm));

temp2->vid=(char*)calloc(100,sizeof(char));

temp2->proiz=(char*)calloc(100,sizeof(char));

perv->vid=(char*)calloc(100,sizeof(char));

perv->proiz=(char*)calloc(100,sizeof(char));

posl->vid=(char*)calloc(100,sizeof(char));

posl->proiz=(char*)calloc(100,sizeof(char));

posl=perv;

perv->next=NULL;

posl->next=NULL;

int c;

while(1)

{

clrscr();

cout<<"1-screen\n2-add\n3-rename\n4-dell\n5-obmen\n0-exit\n=>";

cin>>c;

switch(c)

{

case 1:

{ screen(); getch(); break;}

case 2:

{ add(); getch(); break;}

case 3:

{ rename(); getch(); break;}

case 4:

{ dell(); getch(); break;}

case 5:

{ obmen(); getch(); break;}

case 0:

{ exit(0);}

}

}

}

int prov()

{

clrscr();

if(k==0)

{

cout<<"baza pustaya";

return 0;

}

return 1;

}

void poisk()

{

int i=0;

temp=perv;

if(prov()==0) return;

while(temp->kod!=zn)

{

temp2=temp;

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
2 Mb
Скачали:
0