Программное обеспечение для организации курсовых работ и практик
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
? 8)
Рисунок 8 - Пример отправки файла на печать
При выборе пункта 6, есть возможность для удаления (рисунок 9)
Рисунок 9 - Пример удаления сотрудника
Рисунок 10 - Пример после удаления
При выборе 7 пункта, есть возможность изменить номер отдела по ФИО (рисунок 11)
Рисунок 11 - Пример до корректировки
Рисунок 12 - Пример после корректировки
При выборе пункта 8, будет произведена очистка файла (рисунок 13)
Рисунок 13 - Очистка файла
Далее просмотрим текстовый файл Отчет о совершеннолетних (рисунок 14)
Рисунок 14 - Отчет о совершеннолетних
.2 Тестирование
Тестирование программного модуля на корректность работы представлено в подразделе 4.1.
В случае ввода не существующего пункта меню повторяется запрос на ввод.
Рисунок 15 - Пример ввода ошибочных данных
Заключение
В данном курсовом проекте была рассмотрена задача разработки программного обеспечения для организации и проведения курсовых работ и практик. Получены навыки работы со структурой данных. Алгоритм программы реализован в среде Microsoft Visual Studio 2010. Выполнены все пункты задания. В программе предусмотрена обработка большого количества ошибок ввода пользователя. Тестирование показало, что программа работает корректно.
Приложение
Файл r.h:
int z1();z2();z3();z4();z5();z6();z7();z8();z9();
Файл 1.cpp(Создание файла, Добавление записей в файл)
#include
#include
#includesotrud
{n;fio[40];kol;v;
};z1()
{(1251);(1251);*f,*f1;i,kz,i1,j,l;p[100]; =fopen("Дети сотрудника.txt", "a+t" );
f1=fopen("num.txt","rt");(&l,sizeof(int),1,f1);(f1);(f==NULL)
{("невозможно открыть(создать) файл!!!!!");0;
}("введите количество записей\n");
scanf("%d",&kz);(i=0;i<kz;i++)
{("введите № отдела\n");("%d",&p[i].n);(&p[i].n,sizeof sotrud,1,f);
printf("введите Ф И О\n");
gets(p[i].fio);(p[i].fio);(&p[i].fio,sizeof sotrud,1,f);
printf("введите количество детей\n");
scanf("%d",&p[i].kol);(&p[i].kol,sizeof sotrud,1,f);=p[i].kol;(i1=0;i1<j;i1++)
{("введите возраст %d -го ребёнка\n",i1+1);
scanf("%d",&p[i1].v);(&p[i1].v,sizeof sotrud,1,f);
}
}(f);+=kz;=fopen("num.txt","wt");(&l,sizeof(int),1,f1);(f1);0;
}
Файл 2.cpp(Вывод файла на экран)
#include
#include
#include
#includesotrud
{n;fio[40];kol;v;
};z2()
{(1251);(1251);*f,*f1;p[100];i,i1,j; =fopen("Дети сотрудника.txt", "r+t" );
f1=fopen("num.txt","rt");(&j,sizeof(int),1,f1); (f==NULL)
{
printf("невозможно открыть(создать) файл!!!!!");
return 0;
}("Номер отдела\t |");("ФИО сотудника\t |");("Колво детей\t |");("Возраст детей |\n");(i=0;i<j;i++)
{(&p[i].n,sizeof sotrud,1,f);("\t%d\t ",p[i].n);(&p[i].fio,sizeof sotrud,1,f);("\t%s\t",p[i].fio);(&p[i].kol,sizeof sotrud,1,f);("\t\t%d\t ",p[i].kol);(i1=0;i1<p[i].kol;i1++)
{(&p[i1].v,sizeof sotrud,1,f);("%d ",p[i1].v);
}(" \n");(f);(f1);0;
}
Файл 3.cpp(Вывод сотрудников с несовершеннолетними детьми)
#include
#include
#include
#includesotrud
{n;fio[40];kol;v;
};z3()
{(1251);(1251);i,i1,j,k=0;*f,*f1;p[100];
f =fopen("Дети сотрудника.txt", "r+t" );
f1=fopen("num.txt","rt");(&j,sizeof(int),1,f1);
if (f==NULL)
{("невозможно открыть(создать) файл!!!!!");0;
}("ФИО сотудника\t\t |");
printf("Колво детей |\n");("-----------------------------------------\n");(i=0;i<j;i++)
{fread(&p[i].n,sizeof sotrud,1,f);(&p[i].fio,sizeof sotrud,1,f);(&p[i].kol,sizeof sotrud,1,f);(i1=0;i1<p[i].kol;i1++)
{(&p[i1].v,sizeof sotrud,1,f);(p[i1].v < 18)
{++;
}
}(k>0)
{("\t%s\t",p[i].fio);("\t%d\t|\n",k);
}=0;
}();
return 0;
}
Файл 4.cpp(Создание файла сотрудников с совершеннолетними детьми(сам файл можно просмотреть в папке с программой)
#include
#include
#include
#includesotrud
{n;fio[40];kol;v;
};z4()
{(1251);(1251);*f,*f1,*f2,*f3;i,j,j1=0,i2,i1,k;p[100];
int a[100];=fopen("Дети сотрудника.txt", "rt" );
f1=fopen("num.txt","rt");
f2 =fopen("отчёт о совершеннолетних.txt", "wt" );
fread(&j,sizeof(int),1,f1);(i=0;i<j;i++)
{ k=0;(&p[i].n,sizeof sotrud,1,f);(&p[i].fio,sizeof sotrud,1,f);(&p[i].kol,sizeof sotrud,1,f);(i1=0;i1<p[i].kol;i1++)
{(&p[i1].v,sizeof sotrud,1,f);((p[i1].v) >= 18)
{[k]=p[i1].v;++;
}
}(k!=0)
{[i].kol=k;
fputs("Номер отдела\t",f2);
fprintf(f2,"%d\n",p[i].n);("ФИО\t",f2);(f2,"%s\n",p[i].fio);
fputs("Колво совлетних детей\t",f2);
fprintf(f2,"%d\n",p[i].kol);(i2=0;i2<p[i].kol;i2++)
{("Возраст ребенка\t",f2);
fprintf(f2,"%d\n",a[i2]);
}
}
}("Файл создан\n\n");
fcloseall();0;
}
Файл 5.cpp(Распечатка файла с совершеннолетними детьми)
#include
#include
#include
#includez5()
{("print отчёт о совершеннолетних.txt");0;
}
Файл 6.cpp(Корректировка)
#include
#include
#include
#includesotrud
{n;fio[40];kol;v;
};z6()
{(1251);(1251);*f,*f1,*f2;i,i1,j,k,nomer,l;str[40];=fopen("Дети сотрудника.txt", "rt" );=fopen("num.txt","rt");
f2=fopen("Вспомагательный.txt","wt");
fread(&j,sizeof(int),1,f1);
sotrud p[100];("Введите фамилию сотрудника,которого хотите откорректировать\n");(str);(str);("Введите номер отдела на который хотите заменить\n");
scanf("%d",&nomer);(i=0;i<j;i++)
{(&p[i].n,sizeof sotrud,1,f);(&p[i].fio,sizeof sotrud,1,f);(&p[i].kol,sizeof sotrud,1,f);(i1=0;i1<p[i].kol;i1++)(&p[i1].v,sizeof sotrud,1,f);((strstr(p[i].fio,str))!=0)
{[i].n=nomer;
}(&p[i].n,sizeof sotrud,1,f2);(&p[i].fio,sizeof sotrud,1,f2);=p[i].kol;(&p[i].kol,sizeof sotrud,1,f2);(i1=0;i1<l;i1++)(&p[i1].v,sizeof sotrud,1,f2);
}(f);(f2);=fopen("Дети сотрудника.txt", "wt" );
f2=fopen("Вспомагательный.txt","rt");
for(i=0;i<j;i++)