Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2019, 17:01   #1
Мария19043
Пользователь
 
Регистрация: 03.12.2018
Сообщений: 83
Вопрос [C] поиск заданного номера

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
// Предполагаемое число символов в имени или фамилии
#define n 40

	// Определение структуры
	struct pol {
		char name[n + 1];// имя 
		char surname[n + 1];// фамилия 
		char otchestvo[n + 1];// отчество 
		int nomer_telephona;//номер телефона
		char soedinenie[n + 1];//тип соединения 
		char adres[n + 1];//адрес владельца 

	} pol_l, *PTR;// *PTR - указатель на структуру 
	
	int main(void) {
		struct pol arr[15];
		int p, i;
		setlocale(LC_ALL, ".1251");// кодовая страница Windows – 1251
		PTR = &pol_l; //В указатель помещается адрес employee_new
		printf("Количество абонентов - ");
		scanf_s("%d", &p);
		while (getchar() != '\n');

		// Инициализация полей структуры
		for (i = 0; i < p; i++)
		{
			puts("\n=============== Абонент телефонной связи ====================\n");
			printf("Введите имя: ");
			gets(PTR->name);
			printf("Введите фамилию: ");
			gets(PTR->surname);
			printf("Введите отчество: ");
			gets(PTR->otchestvo);
			printf("Введите номер телефона: ");
			scanf_s("%d", &pol_l.nomer_telephona);
			while (getchar() != '\n');
			printf("Введите тип соединения (индивидуальный, спаренный, коллективного пользования): ");
			gets(PTR->soedinenie);
			printf("Введите адрес владельца: ");
			gets(PTR->adres);
			puts("\n=============================================================\n");
		}
 
	
	printf("\n\n Нажмите любую клавишу (Press any key): ");
	_getch();
	return 0;
}
Пожалуйста, оформляйте Ваш код согласно правилам.
нужно найти абонента с заданным номером в этом коде
ЯЗЫК СИ

Последний раз редактировалось Вадим Мошев; 18.02.2019 в 17:14.
Мария19043 вне форума Ответить с цитированием
Старый 18.02.2019, 17:07   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Код:
pol_l
не нужно

Код:
PTR = &pol_l; //В указатель помещается адрес employee_new
У вас же массив с данными arr

Код:
for (i = 0; i < p; i++)
А PTR кто двигать будет? Вы понимаете, что пишите в одно и тоже место?

Код:
scanf_s("%d", &pol_l.nomer_telephona)
Так pol_l или PTR?

Цитата:
Сообщение от Мария19043 Посмотреть сообщение
нужно найти абонента с заданным номером в этом коде
Ну так еще один цикл и если текущий_элемент.номер_телефона == заданному_номеру_телефона, то нашли.
p51x на форуме Ответить с цитированием
Старый 18.02.2019, 21:38   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Может, ну его - этот PTR ?
Код:
for (i = 0; i < p; i++)
		{
			puts("\n=============== Абонент телефонной связи ====================\n");
			printf("Введите имя: ");
			gets(arr[i].name);
Ну и с поиском также.
А если с PTR - так вроде адресовать надо PTR = &arr[0] ? А размер структуры определить через sizeof (у меня что-то не получилось, Си я подзабыл порядком)

Последний раз редактировалось digitalis; 18.02.2019 в 22:13.
digitalis вне форума Ответить с цитированием
Старый 18.02.2019, 22:02   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну там же надо проверять, что p <= 15. Вы что?..
p51x на форуме Ответить с цитированием
Старый 18.02.2019, 22:12   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Ну дык 15 - это же не 15 000 000. Чай, не динамический массив А p определилось из предварительного диалога.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск номера телефона в БД JustDealRu SQL, базы данных 8 04.06.2014 18:48
Си под Unix - поиск заданного шаблона Progamer786 Общие вопросы C/C++ 5 18.11.2012 23:03
поиск заданного поля Анастас Помощь студентам 3 03.11.2011 19:37
поиск порядкового номера в pascale счастливая Помощь студентам 1 17.05.2010 19:07
Поиск числа, большего заданного pirozho4ek Паскаль, Turbo Pascal, PascalABC.NET 5 21.05.2007 21:39