Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const unsigned int MAXSIZE = 32;
- struct item {
- char name[32];
- char number[32];
- item* next = NULL;
- };
- struct list {
- item* first = NULL;
- };
- void list_push_back(list& data, item* obj) {
- obj -> next = data.first;
- data.first = obj;
- }
- void list_display(list& data) {
- item* temp = data.first;
- while(temp) {
- cout << temp -> name << ' ' << temp -> number << endl;
- temp = temp -> next;
- }
- }
- item* create_human(char* argName, char* argNumber) {
- item* newHuman = new item;
- // Проверка на длину имени
- for (int i = 0; true; i++) {
- newHuman -> name[i] = argName[i];
- if (argName[i] == 0) {
- break;
- }
- if (i == MAXSIZE) {
- exit(1);
- }
- }
- // Проверка на длину номера
- for (int i = 0; true; i++) {
- newHuman -> number[i] = argNumber[i];
- if (argNumber[i] == 0) {
- break;
- }
- if (i == MAXSIZE) {
- exit(1);
- }
- }
- return newHuman;
- }
- void find_item_number(list& data, char* number) {
- item* temp = data.first;
- while(temp) {
- bool find = true;
- for (int i = 0; (temp -> number[i]) != 0; i++) {
- if (temp -> number[i] != number[i]) {
- find = false;
- break;
- }
- }
- if (find) {
- cout << "Find number " << number << ": " << temp -> name << endl;
- }
- temp = temp -> next;
- }
- }
- void find_item_name(list& data, char* name) {
- item* temp = data.first;
- while(temp) {
- bool find = true;
- for (int i = 0; (temp -> name[i]) != 0; i++) {
- if (temp -> name[i] != name[i]) {
- find = false;
- break;
- }
- }
- if (find) {
- cout << "Find name " << name << ": " << temp -> number << endl;
- }
- temp = temp -> next;
- }
- }
- int main() {
- list numbersBook;
- list_push_back(numbersBook, create_human("Daniil", "89829758597"));
- list_push_back(numbersBook, create_human("Maxim", "89222550206"));
- list_push_back(numbersBook, create_human("Daniil", "89723948206"));
- list_push_back(numbersBook, create_human("Leha", "89222550206"));
- list_display(numbersBook);
- cout << endl;
- find_item_name(numbersBook, "Daniil");
- find_item_number(numbersBook, "89222550206");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement