Электронный справочник “ Праздники Года ”

Автор работы: Пользователь скрыл имя, 17 Февраля 2011 в 19:46, курсовая работа

Описание работы

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


Текст самой программы, выполнения операций заявленной в теме курсовой работы, помещён в приложении.

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

Аннотация………………………………………………………………4


Введение………………………………………………………………..5


Постановка и анализ задачи…………………………………………...6


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


Особенности разработки программы……………………………….10


Тест программы………………………………………………………11


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


Заключение……………………………………………………………13


Приложение (текст программы)……………………..........................14


Литература…………………………………………………………….17

Файлы: 1 файл

Курсовая работа Кулинич.doc

— 118.50 Кб (Скачать файл)

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <conio.h>

#include <locale.h>

#pragma pack(1)

struct block{

      char name[41];

      char daymes[15];

};

#pragma pack(1)

FILE *f;

char ss[21];

void open(void);

void menu(void);

void add(void);

void view(void);

void f3(void);

int main(){

      setlocale(LC_ALL,"Russian");

      printf ("Курсовой проект по курсу: Алгоритмические языки и программированиe \n");

      printf ("Тема курсового проекта: Электронный справочник - Праздники Года \n");

      printf ("Выполнил студент группы: В – 118 Кулинич Артур Юрьевич \n\n");

      open();

      menu();

      while(true){

            printf("\rВыберите пункт меню: ");

            char c;

            c=_getche();

            switch(c){

                  case '1': add(); menu(); break;

                  case '2': view(); menu(); break;

                  case '3': f3(); menu(); break;

                  case '4': fclose(f); exit(0);

            }

      }

}

//=============================================

void menu(void){

      printf("\n1. Добавление записи\n"

      "2. Просмотр базы праздников\n"

      "3. Поиск праздника по дате\n"

      "4. Выход\n\n");

}

void open(void){

      f=fopen("database.txt","r+");

      if (f==NULL){

            printf("Не могу открыть \"database.txt\".\n");

            _getch();

            exit(-1);

      }

}

void add(void){

      int n;

      printf("\n\nДобавление\nВыход - Enter\n\n");

      block a;

      while(true){

            printf("Название праздника: ");

            n = scanf_s("%40[^\n]s", a.name, 41);

            fflush(stdin);

            if (n!=1) a.name[0]='\0';

            if(a.name[0]==0) break; 

            printf("Дата праздника (в формате dd.mm): ");

            n = scanf_s("%14[^\n]s", a.daymes, 15);

            fflush(stdin);

            if (n!=1) a.daymes[0]='\0';

            if(a.daymes[0]==0) break; 
 

            fwrite(&a,sizeof(block),1,f);

      }

}

void view(void){

      fseek(f,0,SEEK_SET);

      printf("\n\nПросмотр базы...\n\n\tИмя: \t\t\tДата праздника:\n");

      printf("\t============================================\n");

      setlocale (LC_ALL,".866");

      block a;

      while(true){

            if(fread(&a,sizeof(block),1,f)<1) break;

            printf("\t|%s    \t\t|  %s| \n",a.name,a.daymes);

      }

      setlocale (LC_ALL,".1251");

}

void f3(void){

      int n;

      int result;

      int cmpr;

      result=0;

      printf("\n\nВведите дату праздника(в формате: dd.mm):\n");

      n = scanf_s("%20[^\n]s", ss, 21);

      fflush(stdin);

      if (n!=1) ss[0]='\0';

      fseek(f,0,SEEK_SET);

      printf("\n\nПоиск...\n");

      block a;

      while(true){

            if(fread(&a,sizeof(block),1,f)<1) break; 

            cmpr=strcmp(a.daymes,ss);

            if (cmpr==0) {

                  result++;

                  if (result==1) {

                        printf("\n\n\tНазвание праздника: \t\tДата праздника:\n");

            printf("\t==============================\n");

                        setlocale (LC_ALL,".866");

                  }

                  printf("\t|%s\t|%s\n",a.name,a.daymes);

            }

      }

      setlocale (LC_ALL,".1251");

      if (result==0) printf("\nНа эту дату в базе данных нет записи, либо данные введены некорректно.\n"); 

} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Литература

 

  1. М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями: Пер. с англ. - Москва: Мир, 1992. 445с.
  2. Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. - Москва: Унитех; Рязань: Гэлион, 1992, 304-345сс.
  3. Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. - Москва: БИНОМ, 1994. 400с.
  4. В.В. Подбельский. Язык C++: Учебное пособие. - Москва: Финансы и статистика, 1995. 560с.
  5. Ирэ Пол. Объектно-ориентированное программирование с использованием C++: Пер. с англ. - Киев: НИИПФ ДиаСофт Лтд, 1995. 480с.
  6. Т. Фейсон. Объектно-ориентированное программирование на Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с.
  7. Т. Сван. Освоение Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с.
  8. Г. Шилдт. Самоучитель C++: Пер. с англ. - Санкт-Петербург: BHV-Санкт-Петербург, 1998. 620с.
  9. У. Сэвитч. C++ в примерах: Пер. с англ. - Москва: ЭКОМ, 1997. 736с.
  10. К. Джамса. Учимся программировать на языке C++: Пер. с англ. - Москва: Мир, 1997. 320с.
  11. В.А. Скляров. Язык C++ и объектно-ориентированное программирование: Справочное издание. - Минск: Вышэйшая школа, 1997. 480с.
  12. Х. Дейтел, П. Дейтел. Как программировать на C++: Пер. с англ. - Москва: ЗАО "Издательство БИНОМ", 1998. 1024с.

Информация о работе Электронный справочник “ Праздники Года ”