Головна Головна -> Інше українською -> Інформатика, комп'ютери, програмування -> Сформувати файл “А”, що містить інформацію про номери телефонів

Сформувати файл “А”, що містить інформацію про номери телефонів

Назва:
Сформувати файл “А”, що містить інформацію про номери телефонів
Тип:
Інше
Мова:
Українська
Розмiр:
2,25 KB
Завантажень:
388
Оцінка:
 
поточна оцінка 5.0


Скачати цю роботу безкоштовно
Пролистати роботу: 1  2 
Завдання: Сформувати файл “А”, що містить інформацію про номери телефонів такого зразка: порядковий номер запису, прізвище власника, його ініціали, номер телефону, адреса. Вивести на екран прізвище та ініціали тих, які проживають по вул. Шевченка і їхній номер телефону містить цифру “3”. При вимозі користувача записати таблицю із цією інформацією у файл “В”. Забезпечити можливість поповнення файлу “А” з клавіатури, а також вилучення обраних по порядковому номеру записів. Після модифікації файлу “А” таблиця, яка виводиться на екран і файл “В” повинні оновлюватись автоматично. Забезпечити можливість відновлення попередньої версії модифікованого файлу.
#include <conio.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>
struct stAbonent
{
char sPrizv[15];
char cInic1,cInic2;
char sPhone[14];
char sAddr[20];
stAbonent *next;
};
struct stAbonent *first,*rob;
int records;
void addrecord()
{
char string[100];
int i;
char q;
clrscr();
printf("\nПрiзвище: ");
scanf("%s",string);
strncpy(rob->sPrizv,string,14);
printf("Iнiцiали: ");
rob->cInic1=getch();
printf("%c.",rob->cInic1);
rob->cInic2=getch();
printf("%c.\n",rob->cInic2);
printf("Телефон: ");
scanf("%s",string);
strncpy(rob->sPhone,string,13);
printf("Адреса: ");
scanf("%s",string);
strncpy(rob->sAddr,string,19);
rob->next=new stAbonent;
rob=rob->next;
rob->next=NULL;
records++;
}
void deleterecord(void)
{
int del,i=0;
clrscr();
printf("Введiть номер запису для вилучення:");
scanf("%i",&del);
if ((del<1)||(del>records)) return;
if (del==1) {
first=first->next;
} else {
rob=first;
while(rob->next!=NULL)
{
i++;
if (i==(del-1)) {
rob->next=(rob->next)->next;
break;
}
rob=rob->next;
}
}
records--;
return;
}
void showrecords(void)
{
int i=0;
clrscr();
rob=first;
printf("%-4s %-16s %-4s %-15s %-21s\n","N",
"Прiзвище","Iнiц","Телефон","Адреса");
printf("-----------------------------------------------------");
while(rob->next!=NULL)
{
printf("\n%-4i %-16s %c.%c. %-15s %-21s", ++i,
rob->sPrizv,rob->cInic1,rob->cInic2,
rob->sPhone,rob->sAddr);
rob=rob->next;
}
records=i;
printf("\nНатиснiть будь-яку клавiшу для продовження...");
getch();
};
void showmatch(void)
{
int i=0,flag;
char *c;
FILE *out;
if ((out = fopen("B", "w+"))
== NULL)
{
printf("Cannot create file 'B'.\n");
return;
}
rob=first;
printf("%-4s %-16s %-4s %-15s %-21s\n","N","Прiзвище",
"Iнiц","Телефон","Aдреса");
printf("-----------------------------------------------------");
while(rob->next!=NULL)
{
i++;
flag=0;
c=rob->sPhone;
while (*c++)
if (*c=='3')
{
flag=1;
break;
}
if (flag==1) {
if (strcmp(rob->sAddr,"Шевченка")<0) {
flag=0;
}
}
if (flag==1) {
printf("\n%-4i %-16s %c.%c. %-15s %-21s",i,rob->sPrizv,
rob->cInic1, rob->cInic2,rob->sPhone,rob->sAddr);
fprintf(out,"%-3i %-15s %c %c %-14s %-20s\n",++i,
rob->sPrizv,rob->cInic1,rob->cInic2,
rob->sPhone,rob->sAddr);
};
rob=rob->next;
}
fclose(out);
};
int save_to_file(char *filename)
{
FILE *out;
int i=0;
if ((out = fopen(filename, "w+"))
== NULL)
{
printf("Cannot create file '%s'.\n",filename);
return 1;
}
rob=first;
while(rob->next!=NULL)
{
fprintf(out,"%-3i %-15s %c %c %-14s %-20s\n",++i,
rob->sPrizv,rob->cInic1,rob->cInic2,
rob->sPhone,rob->sAddr);
rob=rob->next;
}
fclose(out);
return 0;
}
int read_from_file(char *filename)
{
FILE *in;
int i;
if ((in = fopen(filename, "r"))
== NULL)
{
printf("Cannot open file '%s'.\n",filename);
return 1;
}
records=0;
rob=first;
while(!feof(in))
{
fscanf(in,"%i %15s %c %c %14s %20s\n",&i,rob->sPrizv,
&rob->cInic1,&rob->cInic2,rob->sPhone,rob->sAddr);
records++;
if (rob->next==NULL) {
rob->next= new stAbonent;
rob=rob->next;
rob->next=NULL;
} else {
rob=rob->next;
}
}
rob->next=NULL;
fclose(in);
return 0;
}
void main (void)
{
char c;
//create an empty list
records=0;
first = new stAbonent;
rob=first;
rob->next=NULL;
//read saved database
read_from_file("A");
//create backup copy
save_to_file("A.

Завантажити цю роботу безкоштовно
Пролистати роботу: 1  2 



Інше на тему: Сформувати файл “А”, що містить інформацію про номери телефонів

BR.com.ua © 1999-2017 | Реклама на сайті | Умови використання | Зворотній зв'язок