Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <string.h>
- #include <cstdio>
- using namespace std;
- struct User
- {
- char name[12];
- char surname[20];
- char nomer[12];
- };
- void showall(User& us);
- void addUser(User& us);
- void deleteUser(User user[], int size);
- int main(int argc, char** argv)
- {
- setlocale(LC_ALL, "Rus");
- //int size;
- User telbook[10];
- int k;
- cout << "********Телефонный справочник********" << "nnn";
- int iadd = 0;
- char v;
- while (v != 'n')
- {
- cout << "1 - Добавить запись.n" << "2 - Показать всё.n" <<
- "3 - Удалить записьn";
- cout << "Введи команду: ";
- cin >> k;
- switch (k)
- {
- case 1:
- system("cls");
- addUser(telbook[iadd]);
- if (iadd >= 1)
- {
- for (int i = (iadd - 1); i >= 0; i--)
- {
- if (telbook[iadd].nomer == telbook[i].nomer)
- {
- cout << "Введеный номер совпадает с номером " << i + 1 <<
- "пользователя";
- addUser(telbook[iadd]);
- }
- }
- cout << "Запись добавленаn";
- }
- iadd++;
- break;
- case 2:
- system("cls");
- for (int i = 0; i < iadd; i++)
- {
- cout << i + 1 << " Запись:n";
- showall(telbook[i]);
- }
- cout << telbook[0].nomer << 'n' << "Strlen:" << strlen(telbook
- [0].nomer);
- break;
- case 3:
- system("cls");
- deleteUser(telbook, iadd);
- break;
- default :
- cout << "некорректная командаn";
- cin >> k;
- }
- cout << "n Продолжить?? y-да/ n-выход из программыn";
- cin >> v;
- }
- return 0;
- }
- void addUser(User& us)
- {
- int i = 0;
- char nom[12];
- bool esdigit;
- cout << "Пишите латиницейnn";
- do //name
- {
- esdigit = false;
- cout << endl << "enter namen";
- cin >> us.name;
- for (i = 0; i < strlen(us.name); i++)
- {
- if (!isalpha(us.name[i]))
- {
- cout << "Имя не должно содержать цифрn" ;
- esdigit = true;
- }
- if (isspace(us.name[i]))
- {
- break;
- break;
- }
- }
- }
- while (strlen(us.name) > 12 || esdigit);
- i = 0;
- do //surneme
- {
- esdigit = false;
- cout << "enter surnamen";
- cin >> us.surname;
- for (i = 0; i < strlen(us.surname); i++)
- {
- if (isdigit(us.surname[i]))
- {
- cout << "Фамилия не должна содержать цифрn" ;
- esdigit = true;
- break;
- }
- }
- }
- while (strlen(us.name) > 20 || strlen(us.name) <= 0 || esdigit);
- bool isbykva;
- i = 0;
- do //nomer
- {
- isbykva = false;
- cout << "n" << "enter nomern";
- cin >> us.nomer;
- for (i = 0; i < strlen(us.nomer); i++)
- {
- if (isalpha(us.nomer[i]))
- {
- cout << "Номер не должен содержать буквn";
- isbykva = true;
- break;
- }
- }
- if (strlen(us.nomer) != 12)cout << "В номере 12 цифр!!";
- }
- while (strlen(us.nomer) != 12 || isbykva);
- i = 0; //strcpy(us.nomer,nom);
- }
- void deleteUser(User user[], int size)
- {
- bool isbykva;
- char nomer[12];
- cout << "n Введите номер пользователя которого желаете удалитьn";
- do
- {
- isbykva = false;
- cin >> nomer;
- if (strlen(nomer) != 12)cout << "В номере 12 цифр!!";
- for (int i = 0; i < strlen(nomer); i++)
- {
- if (isalpha(nomer[i]))
- {
- cout << "Номер не должен содержать буквn";
- isbykva = true;
- break;
- }
- }
- }
- while (strlen(nomer) != 12 || isbykva);
- bool find = false;
- for (int i = 0; i <= size; i++)
- {
- if (nomer == user[i].nomer)
- {
- find = true; //user[i].nomer=user[size-1].nomer;
- break;
- }
- if (find)
- {
- cout << "пользователь " << user[i].name << " " << user[i].surname << "удален";
- user[i] = user[size];
- --size;
- }
- else cout << "Запись не найдена!";
- }
- }
- void showall(User& us)
- {
- cout << us.name << " " << us.surname << "n" << us.nomer << "n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement