Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Вычислительный эксперимент

Задание

Разработать алгоритм и программу работы со структурой и файлами, в соответствии с индивидуальным заданием.

Вариант задания 9: база данных компьютерных игр

Программа разрабатывается на языке С++.

 

 

Введение

Целью данной лабораторной работы является приобретение навыков работы на программе с++ для разработки различных приложений. В ходе ее выполнения я получу знания по составлению алгоритмов программ, их схем, а так же научусь применять нужные для работы со структурами и файлами, операторы для составления текста программы.

 

 

1. Разработка алгоритма

Алгоритм программы вывода элементов из файла и записи их в структуру.

 

Рисунок 1- Схема программы вывода элементов из файла и записи их в структуру.

Рисунок 1-Продолжение.

 

 

Рисунок 1-Продолжение.

Рисунок 1-Продолжение.

Рисунок 1-Продолжение.

 

Разработка программы

В соответствии с алгоритмом разработана программа. Текст программы представлен на рисунке 2.

 

#include <conio.h>

#include <iostream>

#include <string.h>

#include <stdlib.h>

#include <fstream>

#include <iomanip>

#include <stdio.h>

#include <ConsoleColor.h>

using namespace std;

struct games

{

char name[30];

int razmer;

int stoimost;

int operativa;

};

int main()

{

FILE * f;

char file[20],q,str[500],mas[200];

ofstream fin;

int a=1,s=0,g=0,h=0,j=0,k,l,sum,n;

games z[50],x[50];

 

do

{

printf("Vedite imya faila dlya chteniya:");

cin>>file;

f=fopen(file,"rt");

}

while(f==NULL);

printf("\nSoderzhimoe faila: \n");

do

{

q=getc(f);

printf("%c",q);

str[s]=q;

s++;

}

while(q!=33);

fcloseall();

 

j=0;

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

{

for(n;str[n]!=10 && n<s;n++)

{

if(a==1 && str[n]!=32)

{

g=0;

while(str[n]!=32)

{

q=str[n];

z[j].name[g]=q;

g++;

n++;

}

z[j].name[g]=NULL;

a=2;

Рисунок 2- Текст программы.

}

if(a==2 && str[n]!=32)

{

g=0;

while(str[n]!=32)

{

q=str[n];

mas[g]=q;

g++;

n++;

}

sum=0;

h=1;

do

{

g--;

k=mas[g];

k=char(k);

l=(k-48)*h;

sum=sum+l;

h=h*10;

}

while(g>0);

z[j].razmer=sum;

a=3;

}

 

if(a==3 && str[n]!=32)

{

while(str[n]!=32)

{

q=str[n];

mas[g]=q;

g++;

n++;

}

sum=0;

h=1;

do

{

g--;

k=mas[g];

k=char(k);

l=(k-48)*h;

sum=sum+l;

h=h*10;

}

while(g>0);

z[j].operativa=sum;

a=4;

}

 

if(a==4 && str[n]!=32)

{

while(str[n]!=32)

{

q=str[n];

mas[g]=q;

g++;

n++;

}

sum=0;

h=1;

do

{

Рисунок 2-Продолжение.

g--;

k=mas[g];

k=char(k);

l=(k-48)*h;

sum=sum+l;

h=h*10;

}

while(g>0);

z[j].stoimost=sum;

a=5;

}

}

a=1;

j++;

}

cout<<endl<<endl;

cout.width(15);cout<<green<<"Nazvanie";

cout.width(15);cout<<"razmer igry";

cout.width(15);cout<<"min kol/vo DDR";

cout.width(15);cout<<"Stoimost"<<white<<endl;

 

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

{

cout.width(15);cout<<z[n].name;

cout.width(15);cout<<z[n].razmer;

cout.width(15);cout<<z[n].operativa;

cout.width(15);cout<<z[n].stoimost<<"\n";

}

 

printf("\nVybor paramrtra sortirovki:");

printf("\n1-po razmery;\n2-po operative;\n3-po tcsene;\n");

cout<<green;

cin>>s;

cout<<white;

 

if(s==1)

{

for(n=0;n<(j-1);n++)

{

for(a=n+1;a<j;a++)

{

if(z[n].razmer<z[a].razmer)

{

x[1]=z[n];

z[n]=z[a];

z[a]=x[1];

}

}

}

}

 

if(s==2)

{

for(n=0;n<(j-1);n++)

{

for(a=n+1;a<j;a++)

{

if(z[n].operativa<z[a].operativa)

{

x[1]=z[n];

z[n]=z[a];

z[a]=x[1];

}

}

}

Рисунок 2-Продолжение.

}

 

if(s==3)

{

for(n=0;n<(j-1);n++)

{

for(a=n+1;a<j;a++)

{

if(z[n].stoimost<z[a].stoimost)

{

x[1]=z[n];

z[n]=z[a];

z[a]=x[1];

}

}

}

}

cout<<endl<<endl;

cout.width(15);cout<<green<<"Nazvanie";

cout.width(15);cout<<"razmer igry";

cout.width(15);cout<<"min kol/vo DDR";

cout.width(15);cout<<"Stoimost"<<endl<<white;

 

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

{

cout.width(15);cout<<z[n].name;

cout.width(15);cout<<z[n].razmer;

cout.width(15);cout<<z[n].operativa;

cout.width(15);cout<<z[n].stoimost<<"\n";

}

printf("\nVybor paramrtra sortirovki:");

printf("\n1-po razmery;\n2-po operative;\n3-po tcsene;\n");

cout<<green;

cin>>s;

cout<<white;

 

if(s==1)

{

for(n=0;n<(j-1);n++)

{

for(a=n+1;a<j;a++)

{

if(z[n].razmer<z[a].razmer)

{

x[1]=z[n];

z[n]=z[a];

z[a]=x[1];

}

}

}

}

 

if(s==2)

{

for(n=0;n<(j-1);n++)

{

for(a=n+1;a<j;a++)

{

if(z[n].operativa<z[a].operativa)

{

x[1]=z[n];

z[n]=z[a];

z[a]=x[1];

}

}

Рисунок 2-Продолжение.

}

}

 

if(s==3)

{

for(n=0;n<(j-1);n++)

{

for(a=n+1;a<j;a++)

{

if(z[n].stoimost<z[a].stoimost)

{

x[1]=z[n];

z[n]=z[a];

z[a]=x[1];

}

}

}

}

cout<<endl<<endl;

cout.width(15);cout<<green<<"Nazvanie";

cout.width(15);cout<<"razmer igry";

cout.width(15);cout<<"min kol/vo DDR";

cout.width(15);cout<<"Stoimost"<<endl<<white;

 

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

{

cout.width(15);cout<<z[n].name;

cout.width(15);cout<<z[n].razmer;

cout.width(15);cout<<z[n].operativa;

cout.width(15);cout<<z[n].stoimost<<"\n";

}

}

 

Рисунок 2-Продолжение.

 

 

 

Вычислительный эксперимент

 

Пример работы программы представлен на рисунках 3,4.

Вычислительный эксперимент проведен два раза:

Рисунок 3-Результат работы программы сортировки базы данных по цене и оперативной памяти.

 

 

Рисунок 4- Результат работы программы сортировки базы данных по цене и размеру.

 

 

Заключение

В ходе выполнения лабораторной работы мы получили навыки работы с программой с++. Научились применять функции для работы с файлами. Итогом разработки моего задания является программа которая считывает символы с файла, определяет их и вносит в структуру. А так же сортирует ее и выводит в консоль.

 

 

Список литературы

1. Герберт Шилдт: C++: руководство для начинающих. Пер с англ. – М.:

“Вильямс”, 2005. – 672с.

 



<== предыдущая лекция | следующая лекция ==>
Пример: Распространенность ручного труда на предприятиях одной отрасли в зависимости от уровня автоматизации производства | Главная· Трекер · Поиск· Правила· FAQ· Группы· Блог
Поделиться с друзьями:


Дата добавления: 2017-01-28; Мы поможем в написании ваших работ!; просмотров: 320 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наука — это организованные знания, мудрость — это организованная жизнь. © Иммануил Кант
==> читать все изречения...

2243 - | 2054 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.