#include
#include
#include
#include
#include
#include
typedef struct
{
char imya[40];
char familiya[40];
char otchestvo[40];
int telefon;
int texpasport;
float pages ;
}gor;
void form(char mass[10], char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)
{
file *f;
gor y;
int i;
if ((f=fopen(mass,"w"))==null) exit(1);
for (i=1; i< =3; i++)
{
cout< < "vvedite imya: ";
cin> > imya;
cout< < "vvedite familiya: ";
cin> > familiya;
cout< < "vvedite otchestvo: ";
cin> > otchestvo;
cout< < "vvedite telefon: ";
cin> > telefon;
cout< < "vvedite texpasport: ";
cin> > texpasport;
fwrite(& y,sizeof(gor),1,f);
if(ferror(f)! =null)
exit(2);
}
fclose(f);
}
void vivod(char mass[50])
{
file *f;
gor z;
if ((f=fopen(mass, "r"))==null) exit(3);
cout< < "fail: "<
while (! feof(f)) {
fread (& z,sizeof(gor),1,f);
if (! feof(f))
{
cout< < "imya: "<
cout< < "familiya: "<
cout< < "otchestvo: "<
cout< < "telefon: "<
cout< < "texpasport: "<
}
fclose(f);
}
}
void del(char fo[10], char fi[10])
{
file *f1,*f2;
gor d;
//char temp[40];
if ((f1=fopen(fi,"r"))==null) exit(4);
if ((f2=fopen(fo,"w"))==null) exit(5);
//cout < < "vvedite nazvanie na ydalenie - ";
//cin > > temp;
for (int i=0; i< 3; i++)
{
fread(& d,sizeof(gor),1,f1);
if (feof(f1)) break;
if (i> 2)
fwrite (& d,sizeof(gor),1,f2);
}
fclose(f2);
fclose(f1);
}
void dobav(char fi[10], char fo[10],char *imya, char *familiya, char *otchestvo, int telefon, int texpasport)
{
int q;
int i;
gor d;
file *f1,*f2;
char temp[40];
if ((f1=fopen(fi, "r"))==null) exit(4);
if ((f2=fopen(fo,"r+"))==null) exit(5);
cout < < "vvedite familiu, pered kotorym nuzno dobavit element: ";
cin > > temp;
for (i=0; i< 10; i++)
{
fread(& d,sizeof(gor),1,f2);
if (feof(f2)) break;
if (strcmp(d.familiya, temp)) break;
q=i;
}
for (i=0; i< 10; i++)
{
if (feof(f2)) break;
fwrite (& d,sizeof(gor),1,f2);
if (i==q-1)
{
cout< < "vvedite imya: ";
cin> > imya;
cout< < "vvedite familiya: ";
cin> > familiya;
cout< < "vvedite otchestvo: ";
cin> > otchestvo;
cout< < "vvedite telefon: ";
cin> > telefon;
cout< < "vvedite texpasport: ";
cin> > texpasport;
cout <
}
}
fclose(f2);
fclose(f1);
}
void main()
{
int n=10;
//cout < < "vvedite kol-vo zapisey: - ";
//cin> > n;
//cout <
form("f1.txt",n);
vivod("f1.txt");
del("f1.txt","f2.txt");
cout < < "posle udalenia: \n";
vivod("f2.txt");
getch();
n=1;
system("cls");
dobav ("f2.txt","f2.txt");
cout < < "posle dobavlenia: \n";
vivod ("f2.txt");
getch();
}
Lazarus - среда быстрой разработки программного обеспечения для компилятора Free Pascal, аналогичная Delphi.
Основные свойства Lazarus:
1. В Lazarus используется технология визуального программирования;
2. Пользователь для создания графического интерфейса приложения использует готовые компоненты, значки, которые находятся на панели компонентов;
3. После помещения компонент на форме, программный код для него генерируется автоматически; вручную остается запрограммировать только те действия, которые будет выполнять это приложение.
Процесс создания приложения в Lazarus можно разделить на следующие этапы:
1. Создание проекта. В результате на экране появляется пустая форма (окно будущего приложения).
2. Создание графического интерфейса проекта - расположение необходимых элементов, задание размеров, изменение свойств;
3. Написание программного кода, который определит, что будет делать ваша программа.
4. Отладка программы.
При запуске Lazarus появляется оболочка создания приложений, называемая интегрированной средой разработки IDE (Integrated Development Environment). На экране появиться набор окон:
begin
writeln('Число чисел');
readln (n);
s:= 0;
for i:=1 to n do begin
readln(a);
if (a mod 2 <>0) and (a>0) then s:= s+a;
end;
writeln (s) ;
end.