Помощь в написании студенческих работ
Антистрессовый сервис

Курсовая работа по Основам конструирования программ

Курсовая Купить готовую Узнать стоимостьмоей работы

Source, df→bills.destination, df→bills. distance); oem_printf (str);oem_printf («n»);}}oem_printf («————————————————————————————————————————————————-n»);}void proc_select3_data (Datafile* df){char answer; char str; unsigned i, j=0;unsigned dist=0;unsigned dist2=0;system («cls»);oem_printf («Введите начальную дистанцию: «);answer=0;scanf («%4s», answer);dist=atoi (answer);oem_printf («Введите… Читать ещё >

Курсовая работа по Основам конструирования программ (реферат, курсовая, диплом, контрольная)

Содержание

  • ЗАДАНИЕ
  • ВВЕДЕНИЕ
  • 1. ИСПОЛЬЗУЕМЫЕ АЛГОРИТМЫ
    • 1. 1. Основные сведения
    • 1. 2. Алгоритм аутентификации
    • 1. 3. Алгоритм шифрования
  • 2. ОРГАНИЗАЦИЯ СТРУКТУРЫ ХРАНИМЫХ ДАННЫХ
  • 3. ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ
  • ПРИЛОЖЕНИЯ
  • 4. ОПИСАНИЕ ПРОГРАММЫ
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
  • ПРИЛОЖЕНИЕ 1 ИСХОДНЫЕ ТЕКСТЫ ПРОГРАММЫ

source, df->bills[i]. destination, df->bills[i]. distance); oem_printf (str);oem_printf («n»);}}oem_printf («————————————————————————————————————————————————-n»);}void proc_select1_data (Datafile* df){char answer[256]; char str[256]; unsigned i, j=0;unsigned dist=0;system («cls»);oem_printf («Введитемаксимальнуюдистанцию: «);answer[0]=0;scanf («%4s», answer);dist=atoi (answer);oem_printf («————————————————————————————————————————————————-n»);oem_printf («- № - Исходныйпункт — Пунктназначения — Дистанцияn»);oem_printf («————————————————————————————————————————————————-n»);for (i=0;i bills_count;i++) {if (df->bills[i]. distance bills[i]. source, df->bills[i].destination, df->bills[i].

distance); oem_printf (str);oem_printf («n»);}}oem_printf («————————————————————————————————————————————————-n»);}void proc_find2_data (Datafile* df){char answer[256]; char str[256]; unsigned i, j=0;system («cls»);oem_printf («Введите название пункта назначения: „);answer[0]=0;scanf („%2s“, answer);oem_printf („————————————————————————————————————————————————-n“);oem_printf („- № - Исходный пункт — Пункт назначения — Дистанцияn“);oem_printf („————————————————————————————————————————————————-n“);for (i=0;i bills_count;i++) {if (strstr (df->bills[i]. destination, answer)≠0) {sprintf (str,“ — %2d — %32s — %32s — %4d -», j++, df->bills[i]. source, df->bills[i].destination, df->bills[i]. distance); oem_printf (str);oem_printf («n»);}}oem_printf («————————————————————————————————————————————————-n»);}void proc_select2_data (Datafile* df){char answer[256]; char str[256]; unsigned i, j=0;unsigned dist=0;system («cls»);oem_printf («Введитеминимальнуюдистанцию: „);answer[0]=0;scanf („%4s“, answer);dist=atoi (answer);oem_printf („————————————————————————————————————————————————-n“);oem_printf („- № - Исходныйпункт — Пунктназначения — Дистанцияn“);oem_printf („————————————————————————————————————————————————-n“);for (i=0;i bills_count;i++) {if (df->bills[i]. distance>=dist) {sprintf (str,“ — %2d — %32s — %32s — %4d -», j++, df->bills[i]. source, df->bills[i].destination, df->bills[i]. distance); oem_printf (str);oem_printf («n»);}}oem_printf («————————————————————————————————————————————————-n»);}void proc_find3_data (Datafile* df){char answer[256]; char str[256]; unsigned i, j=0,dist=0;system («cls»);oem_printf («Введитедистанцию: „);answer[0]=0;scanf („%4s“, answer);dist=atoi (answer);oem_printf („————————————————————————————————————————————————-n“);oem_printf („- № - Исходныйпункт — Пунктназначения — Дистанцияn“);oem_printf („————————————————————————————————————————————————-n“);for (i=0;i bills_count;i++) {if (df->bills[i]. distance == dist) {sprintf (str,“ — %2d — %32s — %32s — %4d -», j++, df->bills[i].

source, df->bills[i].destination, df->bills[i]. distance); oem_printf (str);oem_printf («n»);}}oem_printf («————————————————————————————————————————————————-n»);}void proc_select3_data (Datafile* df){char answer[256]; char str[256]; unsigned i, j=0;unsigned dist=0;unsigned dist2=0;system («cls»);oem_printf («Введите начальную дистанцию: «);answer[0]=0;scanf («%4s», answer);dist=atoi (answer);oem_printf («Введите конечную дистанцию: «);answer[0]=0;scanf («%4s», answer);dist2=atoi (answer);oem_printf («————————————————————————————————————————————————-n»);oem_printf («- № - Исходныйпункт — Пунктназначения — Дистанцияn»);oem_printf («————————————————————————————————————————————————-n»);for (i=0;i bills_count;i++) {if (df->bills[i]. distance>=dist && df->bills[i]. distance bills[i]. source, df->bills[i].destination, df->bills[i]. distance); oem_printf (str);oem_printf («n»);}}oem_printf («————————————————————————————————————————————————-n»);}void proc_task (Datafile* df){char str[256]; unsigned i, sorted, sum=0;Bill* copy=0;Bill tmp;system («cls»);if (df->bills_count>0) {copy = (Bill*)malloc (df->bills_count*sizeof (Bill));memcpy (copy, df->bills, df->bills_count*sizeof (Bill));sorted=0;while (sorted==0) {sorted=1;for (i=1;i bills_count;i++) {if (copy[i-1]. distance>copy[i].distance) {memcpy (&tmp,(c)[i-1], sizeof (Bill));memcpy ((c)[i-1],(c)[i], sizeof (Bill));memcpy ((c)[i],&tmp, sizeof (Bill));sorted=0;}}}}oem_printf («————————————————————————————————————————————————-n»);oem_printf («- № - Исходныйпункт — Пунктназначения — Дистанцияn»);oem_printf («————————————————————————————————————————————————-n»);for (i=0;i bills_count;i++) {sprintf (str,» — %2d — %32s — %32s — %4d -», i, copy[i]. source, copy[i].destination, copy[i].

distance); oem_printf (str);oem_printf («n»);sum+=copy[i]. distance;}oem_printf («————————————————————————————————————————————————-n»);sprintf (str," nСуммарныйпробег: %dn", sum);oem_printf (str);free (copy);}simplevector.h#ifndef _SIMPLEVECTOR_H_#define _SIMPLEVECTOR_H_// массивданныхtypedefstruct{unsignedchar* data; // данныеunsigned count; // количествобайт} Vector;Vector* vector_create (unsigned size); // созданиемассиваданныхvoid vector_free (Vector* v); // уничтожение массива данныхvoid vector_insert (Vector* v, constvoid* data, unsigned count); // добавлениеданныхвмассив#endifsimplevector.c#include" simplevector. h" #include #include Vector* vector_create (unsigned size){Vector* result=(Vector*)malloc (sizeof (Vector));result->count=size;result->data=0;if (size>0) {result->data = (unsignedchar*)malloc (size);}return result;}void vector_free (Vector* v){free (v);}void vector_insert (Vector* v, constvoid* data, unsigned count){if (v->data==0) v->data = (unsignedchar*)malloc (count);else v->data = (unsignedchar*)realloc (v->data, v->count+count);memcpy (&v->data[v->count], data, count);v->count+=count;}TabalchukNV.c#include" model. h" #include #include #include #include" procedures. h" void mainmenu (Database* db);void admin (Database* db);void user (Database* db);int main (int argc, char* argv[]){Database* db;char answer[MAX_PATH]; char answer2[MAX_PATH]; init_model ();db = db_load (ROOT_PASSWORD);if (db==0){oem_printf (last_error ());oem_printf («n»);oem_printf («Создатьновуюбазуданных (y/n)? «); scanf («%1s», answer);if (answer[0]=='y' — answer[0]=='Y') {while (db==0) {oem_printf («Введите новый логин администратора: «);answer[0]=0;scanf («%32s», answer);oem_printf («Введите новый пароль администратора: «);answer2[0]=0;scanf («%32s», answer2);db = db_create (answer, answer2);if (db==0) {oem_printf (last_error ());oem_printf («n»);oem_printf («Повторить создание новой базу данных (y/n)? «); scanf («%1s», answer);if (answer[0]≠'y' && answer[0]≠'Y')break;}}}}if (db≠0) {mainmenu (db);db_save (db);db_free (db);}return0;}void mainmenu (Database* db){char answer[MAX_PATH]; char answer2[MAX_PATH]; unsigned is_admin, i;int no;while (1) {system («cls»);oem_printf («1. Вход под администраторомn»);oem_printf («2. Вход под пользователемn»);oem_printf («3.

Выходn");oem_printf («>> «);answer[0]=0;scanf («%1s», answer);if (answer[0]=='3') break;if (answer[0]=='1' — answer[0]=='2') {is_admin=answer[0]=='1'? 1:0;oem_printf («Введителогин: «);answer[0]=0;scanf («%32s», answer);oem_printf («Введитепароль: «);answer2[0]=0;scanf («%32s», answer2);if (is_admin==1) {if ((strcmp (answer, db->admin.login)==0) && (strcmp (answer2,db->admin.password)==0)) {admin (db);}else {oem_printf («Неправильныйлогин/пароль…n»);system («pause»);}} else {if (db->users_count==0) {oem_printf («В базе данных не сущестует пользователей. n»);system («pause»);}else {no=-1;for (i=0;i users_count;i++) {if ((strcmp (answer, db->admin.login)==0) && (strcmp (answer2,db->admin.password)==0)) {no=i;break;}}if (no users[no]. blocked) {oem_printf («Пользователь заблокирован… n»);system («pause»);}else {user (db);}}}}}}}void admin (Database* db){char answer[MAX_PATH]; char datafilename[MAX_PATH]; Datafile* df=0;system («cls»);while (1) {system («cls»);if (df≠0) {oem_printf («Файлданных: «);oem_printf (datafilename);oem_printf («nn»);}oem_printf («a) Просмотр пользователейn»);oem_printf («b) Добавить пользователяn»);oem_printf («c) Блокировка пользоватяn»);oem_printf («d) Удаление пользоватяn»);oem_printf («e) Создать/открыть файл с даннымиn»);oem_printf («f) Просмотр данныхn»);oem_printf («g) Добавить записьn»);oem_printf («h) Редактировать записьn»);oem_printf («i) Удалить записьn»);oem_printf («j) Поиск по исходному путиn»);oem_printf («k) Выбор маршрутов с наименьшей дистанциейn»);oem_printf («l) Поиск по пункту назначенияn»);oem_printf («z) Выходn»);oem_printf («>> «);answer[0]=0;scanf («%1s», answer);if (answer[0]=='z') break;if (answer[0]=='a') {proc_view_users (db);system («pause»);}if (answer[0]=='b') {proc_add_user (db);system («pause»);}if (answer[0]=='c') {proc_block_user (db);system («pause»);}if (answer[0]=='d') {proc_delete_user (db);system («pause»);}if (answer[0]=='e') {oem_printf («nВведите имя файла данных: «);answer[0]=0;scanf («%32s», answer);df = df_load (datafilename);if (df==0) df = df_create ();strcpy (datafilename, answer);}if (answer[0]=='f' && df≠0) {proc_view_data (df);system («pause»);}if (answer[0]=='g' && df≠0) {proc_add_data (df);system («pause»);}if (answer[0]=='h' && df≠0) {proc_edit_data (df);system («pause»);}if (answer[0]=='i' && df≠0) {proc_delete_data (df);system («pause»);}if (answer[0]=='j' && df≠0) {proc_find1_data (df);system («pause»);}if (answer[0]=='k' && df≠0) {proc_select1_data (df);system («pause»);}if (answer[0]=='l' && df≠0) {proc_find2_data (df);system («pause»);}if (df≠0) df_save (datafilename, df);db_save (db);}if (df≠0) df_free (df);}void user (Database* db){char answer[MAX_PATH]; char datafilename[MAX_PATH]; Datafile* df=0;system («cls»);while (1) {system («cls»);if (df≠0) {oem_printf («Файлданных: «);oem_printf (datafilename);oem_printf («nn»);}oem_printf («a) Открыть файл с даннымиn»);oem_printf («b) Просмотр данныхn»);oem_printf («c) Выполнение задачиn»);oem_printf («d) Поиск по дистанцииn»);oem_printf («e) Выбор маршрутов с наибольшей дистанциейn»);oem_printf («f) Выбор маршрутов с дистанцией в диапазонеn»);oem_printf («z) Выходn»);oem_printf («>> «);answer[0]=0;scanf («%1s», answer);if (answer[0]=='z') break;if (answer[0]=='a') {oem_printf («nВведите имя файла данных: «);answer[0]=0;scanf («%32s», answer);df = df_load (datafilename);if (df==0) oem_printf («Неверноеимяфайлаn»);strcpy (datafilename, answer);}if (answer[0]=='b' && df≠0) {proc_view_data (df);system («pause»);}if (answer[0]=='c' && df≠0) {proc_task (df);system («pause»);}if (answer[0]=='d' && df≠0) {proc_find3_data (df);system («pause»);}if (answer[0]=='e' && df≠0) {proc_select2_data (df);system («pause»);}if (answer[0]=='f' && df≠0) {proc_select3_data (df);system («pause»);}if (df≠0) df_save (datafilename, df);}if (df≠0) df_free (df);}

Показать весь текст

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

  1. ., Ритчи Д. Язык программирования Си = The C programming language. — 2-е изд. — М.: Вильямс, 2007. — С. 304. — ISBN 0−13−110 362−8
  2. Герберт Шилдт. C: полное руководство, классическое издание = C: The Complete Reference, 4th Edition. — М.: Вильямс, 2010. — С. 704. — ISBN 978−5-8459−1709−6
  3. С. Язык программирования С: Лекции и упражнения = C Primer Plus. — М.: Вильямс, 2006. — С. 960. — ISBN 5−8459−0986−4
  4. С. Программирование на языке Си = Programming in C. — 3-е изд. — М.: Вильямс, 2006. — С. 496. — ISBN 0−672−32 666−3
  5. Д. Язык программирования Си для «чайников» = C For Dummies. — М.: Диалектика, 2006. — С. 352. — ISBN 0−7645−7068−4
  6. Ник Рендольф, Дэвид Гарднер, Майкл Минутилло, Крис Андерсон Visual Studio 2010 для профессионалов = Professional Visual Studio 2010. — М.: «Диалектика», 2011. — С. 1184. — ISBN 978−5-8459−1683−9
  7. Д. Самоучитель Microsoft Visual Studio 2010 = Microsoft Visual Studio 2010: A Beginner’s Guide (A Beginners Guide). — C.: «БХВ-Петербург», 2010. — С. 464. — ISBN 978−5-9775−0609−0
Заполнить форму текущей работой
Купить готовую работу

ИЛИ