Разделы презентаций


Заключение. Пример разработки программы презентация, доклад

Содержание

Информационные технологииЗаключение. Пример разработки программы2Постановка задачиШевченко А. В.Разработать программу учета успеваемости студентов по некоторой дисциплине. Программа должна подерживать следующие данные о студентах: личные данные, принадлежность к группе, возраст, успеваемость. Данные должны

Слайды и текст этой презентации

Слайд 1Информационные технологии
Заключение. Пример разработки программы
1
Заключение. Пример разработки программы
Шевченко А. В.

Информационные технологииЗаключение. Пример разработки программы1Заключение. Пример разработки программыШевченко А. В.

Слайд 2Информационные технологии
Заключение. Пример разработки программы
2
Постановка задачи
Шевченко А. В.
Разработать программу учета

успеваемости студентов по некоторой дисциплине. Программа должна подерживать следующие данные

о студентах: личные данные, принадлежность к группе, возраст, успеваемость. Данные должны читаться из файла и сохраняться в файле. В программе должны поддерживаться функции вывода списка студентов с их данными; внесение данных по успеваемости; различные отчеты, например средняя успеваемость по заданной группе.
Информационные технологииЗаключение. Пример разработки программы2Постановка задачиШевченко А. В.Разработать программу учета успеваемости студентов по некоторой дисциплине. Программа должна

Слайд 3Информационные технологии
Заключение. Пример разработки программы
3
Анализ данных. Определение функций программы
Шевченко А.

В.
Номер
Фамилия, имя, отчество
Группа
Возраст
Оценка
100101
Иванов Петр Сидорович
1001
?
100102
Петров Сидор Иванович
1001
?
100201
Сидоров Иван Петрович
1002
?
Чтение данных

из файла

Запись данных в файл

Вывод списка студентов

Средняя успеваемость по группе

Как определить возраст?

Какие значения имеет оценка?

Информационные технологииЗаключение. Пример разработки программы3Анализ данных. Определение функций программыШевченко А. В.НомерФамилия, имя, отчествоГруппаВозрастОценка100101Иванов Петр Сидорович1001?100102Петров Сидор Иванович1001?100201Сидоров

Слайд 4Информационные технологии
Заключение. Пример разработки программы
4
Определение хранимых данных
Шевченко А. В.
Номер
Фамилия, имя,

отчество
Группа
Дата рожд.
Оценка
100101
Иванов Петр Сидорович
1001
11.01.1991
100102
Петров Сидор Иванович
1001
22.02.1991
100201
Сидоров Иван Петрович
1002
05.10.1992
Как определить возраст?
Какие

значения имеет оценка?

Хранить дату рождения. Возраст вычислять на текущую дату

{неизвестна, плохо, удовлетворительно, хорошо, отлично}

Информационные технологииЗаключение. Пример разработки программы4Определение хранимых данныхШевченко А. В.НомерФамилия, имя, отчествоГруппаДата рожд.Оценка100101Иванов Петр Сидорович100111.01.1991100102Петров Сидор Иванович100122.02.1991100201Сидоров Иван

Слайд 5Перечислимый тип для оценки
Структура для даты
Информационные технологии
Заключение. Пример разработки программы
5
Определение

структуры данных
Шевченко А. В.
Номер
Фамилия, имя, отчество
Группа
Дата рожд.
Оценка
100101
Иванов Петр Сидорович
1001
11.01.1991
...
...
...
...
typedef struct

{ unsigned char day; unsigned char month; unsigned short year; } DAT;

typedef enum { UNKNOWN = 0, BAD = 2, SATISFACTLY, WELL, EXCELLENT } NOTE;

Перечислимый тип для оценкиСтруктура для датыИнформационные технологииЗаключение. Пример разработки программы5Определение структуры данныхШевченко А. В.НомерФамилия, имя, отчествоГруппаДата рожд.Оценка100101Иванов

Слайд 6Основная структура данных
Информационные технологии
Заключение. Пример разработки программы
6
Определение структуры данных
Шевченко А.

В.
typedef struct { unsigned long num;

char name[32]; unsigned short group; DAT bday; NOTE note; } STUDENT;

Номер

Фамилия, имя, отчество

Группа

Дата рожд.

Оценка

100101

Иванов Петр Сидорович

1001

11.01.1991

...

...

...

...

Файл learning.h

typedef struct { unsigned char day; unsigned char month; unsigned short year; } DAT; typedef enum { UNKNOWN = 0, BAD = 2, SATISFACTLY, GOOD, EXCELLENT } NOTE;

Основная структура данныхИнформационные технологииЗаключение. Пример разработки программы6Определение структуры данныхШевченко А. В.typedef struct  {   unsigned

Слайд 7Информационные технологии
Заключение. Пример разработки программы
7
Файл заголовка learning.h
Шевченко А. В.
typedef struct

{ unsigned char day; unsigned char month;

unsigned short year; } DAT; // структура даты typedef enum { UNKNOWN = 0, BAD = 2, SATISFACTLY, GOOD, EXCELLENT } NOTE; // тип для оценки

typedef struct { unsigned long num; char name[32]; unsigned short group; DAT bday; NOTE note; } STUDENT; // структура для списка студентов float age(STUDENT* S); bool ReadData(); bool SaveData(); void PrintList(); bool SetNote(long Num, NOTE Note); float MedNote(short Group);

Информационные технологииЗаключение. Пример разработки программы7Файл заголовка learning.hШевченко А. В.typedef struct  {   unsigned char day;

Слайд 8Информационные технологии
Заключение. Пример разработки программы
8
Реализация данных. Статический массив с инициализацией
Шевченко

А. В.
Текст программы - файл learning.cpp
STUDENT studs[] = { {100101,

"Иванов Петр Сидорович", 1001, {11, 01, 1991}, 0}, {100102, "Петров Сидор Иванович", 1001, {22, 02, 1991}, 0}, {100201, "Сидоров Иван Петрович", 1002, {05, 10, 1992}, 0} }; int nstud = sizeof(studs)/sizeof(STUDENT);
Информационные технологииЗаключение. Пример разработки программы8Реализация данных. Статический массив с инициализациейШевченко А. В.Текст программы - файл learning.cppSTUDENT studs[]

Слайд 9Информационные технологии
Заключение. Пример разработки программы
9
Запись в файл. Вариант 1 -

текстовый файл данных
Шевченко А. В.
#include bool SaveData() { FILE* out

= fopen("learning.txt", "wt"); if(out == NULL) { printf("Ошибка при открытии файла\n"); return(false); } for(int i = 0; i < nstud; i++) fprintf(out, "%6d|%-31s|%4d|%02d.%02d.%4d|%1d\n", studs[i].num, studs[i].name, studs[i].group, studs[i].bday.day, studs[i].bday.month, studs[i].bday.year, studs[i].note); fclose(out); }
Информационные технологииЗаключение. Пример разработки программы9Запись в файл. Вариант 1 - текстовый файл данныхШевченко А. В.#include

Слайд 10Информационные технологии
Заключение. Пример разработки программы
10
Содержимое текстового файла данных
Шевченко А. В.
100101|Иванов

Петр Сидорович |1001|11.01.1991|0 100102|Петров Сидор Иванович

|1001|22.02.1991|0 100201|Сидоров Иван Петрович |1002|05.10.1992|0
Информационные технологииЗаключение. Пример разработки программы10Содержимое текстового файла данныхШевченко А. В.100101|Иванов Петр Сидорович

Слайд 11Информационные технологии
Заключение. Пример разработки программы
11
Запись в файл. Вариант 2 -

двоичный файл данных
Шевченко А. В.
#include bool SaveData() { FILE* out

= fopen("learning.dat", "wb"); if(out == NULL) { printf("Ошибка при открытии файла\n"); return(false); } fwrite(studs, sizeof(STUDENT), nstud, out); fclose(out); }
Информационные технологииЗаключение. Пример разработки программы11Запись в файл. Вариант 2 - двоичный файл данныхШевченко А. В.#include

Слайд 12Информационные технологии
Заключение. Пример разработки программы
12
Чтение из файла. Вариант 1 -

текстовый файл данных
Шевченко А. В.
STUDENT studs[100]; int nstud; bool ReadData() { FILE*

inp = fopen("learning.txt", "rt"); ... // проверка ошибки при открытии файла; nstud = 0; while(!feof(inp)) { STUDENT* S = &studs[nstud++]; memset(S, 0, sizeof(STUDENT)); fscanf(inp, "%d|%31c|%d|%d.%d.%d|%d\n", &S->num, S->name, &S->group, &S->bday.day, &S->bday.month, &S->bday.year, &S->note); } fclose(inp); }

Слайд 13Информационные технологии
Заключение. Пример разработки программы
13
Чтение из файла. Вариант 2 -

двоичный файл данных
Шевченко А. В.
STUDENT* studs; int nstud; bool ReadData() { FILE*

inp = fopen("learning.dat", "rb"); ... // проверка ошибки при открытии файла; fseek(inp, 0, SEEK_END); nstud = ftell(inp)/sizeof(STUDENT); studs = (STUDENT*)malloc(sizeof(STUDENT)*nstud); fseek(inp, 0, SEEK_SET); fread(studs, sizeof(STUDENT), nstud, inp); fclose(inp); }
Информационные технологииЗаключение. Пример разработки программы13Чтение из файла. Вариант 2 - двоичный файл данныхШевченко А. В.STUDENT* studs; int

Слайд 14Информационные технологии
Заключение. Пример разработки программы
14
Реализация функции вычисления возраста
Шевченко А. В.
float

age(STUDENT* S) { DAT today; today.day = 22;

today.month = 5; today.year = 2010; float diff_y = S->bday.year-today.year; float diff_m = S->bday.month-today.month; float diff_d = S->bday.day-today.day; return(diff_y+diff_m/12+diff_d/365); }
Информационные технологииЗаключение. Пример разработки программы14Реализация функции вычисления возрастаШевченко А. В.float age(STUDENT* S) {   DAT today;

Слайд 15Информационные технологии
Заключение. Пример разработки программы
15
Реализация функции вывода списка
Шевченко А. В.
void

PrintList() { printf(" ***** Список

студентов *****\n"); printf("-----------------------------------------------------\n"); printf("| Фамилия, имя, отчество | Возраст | Группа |\n"); printf("-----------------------------------------------------\n"); for(int i = 0; i < nstud; i++) { STUDENT* S = &studs[i]; printf("| %-30.30s | %5.1f | %4d |\n", S->name, age(S), S->group); } printf("-----------------------------------------------------\n"); }

Слайд 16Информационные технологии
Заключение. Пример разработки программы
16
Результат вывода списка
Шевченко А. В.

***** Список студентов ***** ----------------------------------------------------- |

Фамилия, имя, отчество | Возраст | Группа | ----------------------------------------------------- | Иванов Петр Сидорович | 19.4 | 1001 | | Петров Сидор Иванович | 19.3 | 1001 | | Сидоров Иван Петрович | 17.6 | 1002 | -----------------------------------------------------
Информационные технологииЗаключение. Пример разработки программы16Результат вывода спискаШевченко А. В.     *****  Список студентов

Слайд 17Информационные технологии
Заключение. Пример разработки программы
17
Реализация функции ввода оценки
Шевченко А. В.
bool

SetNote(long Num, NOTE Note) { for(int i = 0; i

< nstud; i++) if(studs[i].num == Num) { studs[i].note = Note; return(true); } return(false); }

SetNote(100102, WELL); SetNote(100201, EXCELLENT);

Информационные технологииЗаключение. Пример разработки программы17Реализация функции ввода оценкиШевченко А. В.bool SetNote(long Num, NOTE Note) {

Слайд 18Информационные технологии
Заключение. Пример разработки программы
18
Реализация функции средней оценки по группе
Шевченко

А. В.
float MedNote(short Group) { int n = 0;

int s = 0; for(int i = 0; i < nstud; i++) if(studs[i].group == Group and studs[i].note != UNKNOWN) { s += studs[i].note; n++; } return(n ? (float)s/(float)n : 0); }
Информационные технологииЗаключение. Пример разработки программы18Реализация функции средней оценки по группеШевченко А. В.float MedNote(short Group) {

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика