Федеральное агентство по образованию

Арзамасский политехнический институт (филиал)

Государственное образовательное учреждение высшего профессионального образования

"Нижегородский государственный технический университет" им. Р.Е. Алексеева

Кафедра "Прикладная математика"

Курсовая работа

по дисциплине

"Алгоритмические языки и программирование"

Выполнил студент

группы АСПМ 09-1

Балахонова О.В.

Проверил

Преподаватель

Лазарева А.Б

Арзамас 2010


1. Введение

2. Задача № 1

2.1 Блок – схема для ввода данных

2.2 Блок – схема для удаления элемента

2.3 Блок – схема для добавления элемента

2.4 Блок – схема главной функции

2.5 Листинг программы

2.6 Результаты работы программы

3. Задача № 2

3.1 Постановка задачи

3.2 Блок – схема для конструктора

3.3 Блок – схема для конструктора копий

3.4 Блок – схема для деструктора

3.5 Блок – схемы для доступа к закрытым полям

3.6 Блок – схема для перестановки

3.7 Блок – схема для приведения к треугольному виду

3.8 Блок – схема для аппроксимации

3.9 Блок-схема для обратной подстановки

3.10 Блок-схема для вычисления интеграла методом левых прямоугольников

3.11 Блок-схема для вычисления интеграла методом правых прямоугольников

3.12 Блок-схема для вычисления интеграла методом центральных прямоугольников

3.13 Блок-схема для вычисления интеграла методом Симпсона с автоматическим выбором шага

3.14 Листинг программы

3.15 Результаты работы программы

3.16 Теоретические сведения

Список использованных источников


1. Введение

В начале 80–х годов в фирме Bell Telephone Laboratories Бьерном Страуструпом (США) в результате дополнения и расширения языка С был создан язык, получивший название "С с классами". В 1983г. Это название было изменено на С++. В 1998г. Был утвержден окончательный стандарт языка С++.

В настоящее время С++ является одним из наиболее распространенных и востребованных языков программирования. Этот язык представляет собой фундамент, на котором строится современное программирование, поэтому он является обязательным элементом подготовки современных программистов, именно поэтому для студентов специальностей "Прикладная математика" и "Информационные системы и технологии" выбран этот язык.


2. Задача № 1

Постановка задачи

Создать файл и записать в него объекты структуры. Структура должна быть со следующими полями:

·  Название команды

·  Город

·  Количество игроков

·  Количество набранных очков

Из объектов структуры создается массив, заносится в файл. Вывести созданный файл на монитор, удалить из файла все элементы с количеством очков меньше заданного. Измененную базу данных записать в другой файл. Добавить К элементов в начало файла.

2.1 Блок – схема для ввода данных


2.2 Блок – схема для удаления элемента


2.3 Блок – схема для добавления элемента


2.4 Блок – схема главной функции

2.5 Листинг программы

#include <iostream>

#include <string>

#include <cstdio>

#include <windows.h>

#include <fstream>

using namespace std;

struct set

{char name[50];

char city[20];

int pl;

int point;

};

void data(set a1[50],int& kol );

void udal(set a[50],ofstream& f,char str[15],int& kol);

void vvodf(char str[15],ofstream& f,set a[50],int& kol);

void dobav(set a[50],ofstream& f,char str[15],int& kol);

void vivod(set a[50],int& kol);

//главная функция

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

set a[50];

int d;

ofstream f1;

char str1[15];

cout<<"Введите полное имя файла \n"; cin>>str1;

data(a,d);

vvodf(str1,f1,a,d);

udal(a,f1,str1,d);

dobav(a,f1,str1,d);

}

//ввод данных

void data(set a1[50],int& kol)

{ cout<<"\n Сколько записей вы хотите ввести? \n";

cin>>kol;

for(int i=0;i<kol;i++)

{

cout<<"\n Введите название команды "<<i+1<<"\n";

gets(a1[i].name);

cin.getline(a1[i].name,sizeof(a1[i].name));

cout<<"\n Введите название города \n";

cin>>a1[i].city;

cout<<"\n Введите количество игроков \n";

cin>>a1[i].pl;

cout<<"\n Введите набранных очков \n";

cin>>a1[i].point;

}

vivod(a1,kol);

}

//ввод в файл

void vvodf(char str[15],ofstream& f,set a[50],int& kol)

{ f.open(str);

if(f.fail()) {cout<<"Ошибка при вводе файла"; exit(1);}

for(int i=0;i<kol;i++)

{ f<<"***********************************************"<<endl;

f<<"Название команды "<<i+1<<":"<<a[i].name<<endl;

f<<"Город: "<<a[i].city<<endl;

f<<"Количество игроков: "<<a[i].pl<<endl;

f<<"Количество очков: "<<a[i].point<<endl;

f<<endl<<endl;

}

f.close();

}

//удаление элемента

void udal(set a[50],ofstream& f,char str[15],int& kol)

{ cout<<"Введите количество очков и все команды с меньшим значением будут удалены ";

int ef; cin>>ef; int z=0;int q=0;int m=0;

for(int i=0;i<kol;i++)

{if(a[i].point<ef) {z=i;

for(int i=z;i<kol;i++)

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

kol--;

m=1;

}

if (m==1) {i--;m=0;}

}

vvodf(str,f,a,kol);

vivod(a,kol);

}

//добавление элемента

void dobav(set a[50],ofstream& f,char str[15],int& kol)

{

int koldob,nom=0;

cout<<"\n Сколько записей вы хотите добавить? \n"; cin>>koldob;

for(int i=kol-1;i>=nom;i--) a[i+koldob]=a[i];

f.open(str);

if(f.fail()) {cout<<"Ошибка открытии файла"; exit(1);}

for(int i=nom;i<nom+koldob;i++)

{

cout<<"\n Введите название команды "<<i+1<<" которую вы хотите добавить\n";

gets(a[i].name);

cin.getline(a[i].name,sizeof(a[i].name));

cout<<"\n Введите название города \n";

cin>>a[i].city;

cout<<"\n Введите количество игроков\n";

cin>>a[i].pl;

cout<<"\n Количество очков \n";

cin>>a[i].point;

}

kol=kol+koldob;

f.close();

vvodf(str,f,a,kol);

vivod(a,kol);

}

void vivod(set a[50],int& kol)

{cout<<endl;

for(int i=0;i<kol;i++)

{cout<<"***********************************************"<<endl;

cout<<"Название команды"<<i+1<<":"<<a[i].name<<endl;

cout<<"Город:"<<a[i].city<<endl;

cout<<"Количество игроков:"<<a[i].pl<<endl;

cout<<"Количество очков:"<<a[i].point<<endl;

cout<<endl<<endl;

}

}


Информация о работе «Основы программирования»
Раздел: Информатика, программирование
Количество знаков с пробелами: 23431
Количество таблиц: 3
Количество изображений: 32

Похожие работы

Скачать
35016
10
1

... различных свойств. В результате выполнения методов объекта могут происходить новые события, воспринимаемые другими объектами программы или пользователем. 2. Интегрированная среда разработки Delphi: назначение и общее описание среды   Delphi – это потомок среды программирования Turbo Pascal. Название среды произошло от названия города в Древней Греции, где находился знаменитый Дельфийский ...

Скачать
69354
1
0

... , сколько времени потребуется для его составления, как много места для возможных ошибок? Естественно, об этом задумывались и авторы языков программирования. Поэтому во всех существующих языках имеются типы переменных, отвечающие за хранение больших массивов данных. В языке Паскаль они так и называются: "массивы".    Массивом будем называть упорядоченную последовательность данных одного типа, ...

Скачать
51776
17
0

... урожай который может быть обеспечен генетическим потенциалом сорта и приходом ФАР при реально существующих среднемноголетних условиях и применением агротехники. В Свердловской области величина действительно возможного урожа в основном определяется влагообеспеченностью, особенно продуктивной ее частью, которая рассчитывается по данным годового количества осадков. Таблица 7 Среднемноголетние ...

Скачать
39078
10
0

... следует до заморозков. Засилосованные початки в молочно – восковой спелости приравниваются по количеству кормовых единиц (на сухое вещество) к спелому зерну кукурузы. Следовательно, целесообразно их убирать и силосовать отдельно от стеблей и листьев. Технология возделывания и уборки кукурузы Уточни с препадом на счет дат и вид работ. 1 и 2 переставь местами строчки. № Виды работ Объем ...

0 комментариев


Наверх