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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2017, 10:34   #1
seniks
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 19
По умолчанию Как найти людей по номеру, который начинается с 3?

Как найти людей по номеру, который начинается с 3?(вывести адрес и фамилию) Формат номера: ххх-хх-хх
Спасибо за помощь
Вот код:
Код:
namespace ConsoleApplication1
{
    struct people
    {
        public string famadres;
 
        public int nomer;
 
    public people(string famadres, int nomer)
    {
            this.famadres = famadres;
            this.nomer = nomer;
    }
 
    public void WritePeople()
    {
        if (nomer=) Console.WriteLine(nomer);
    }
}
class Program
    {
        static void Main(string[] args)
        {
            people people1 = new people("Ермаков, г.Минск", 217-25-16);
            people people2 = new people("Пупкин, г.Витебск", 657-18-26);
            people people3 = new people("Машуков, г.Москва ", 648-23-97);
            people people4 = new people("Набойщиков, г.Париж ", 758-85-94);
            people people5 = new people("Лекомцев, г.Краснодар", 385-85-86);
            people people6 = new people("Ящин, г.Минск ", 759-97-53);
            people people7 = new people("Тянников, г.Витебск ",784-45-32 );
            people people8 = new people("Антипин, г.Брест ",987-63-85 );
            people people9 = new people("Яруллин, г.Гродно ",375-57-95 );
            people people10 = new people("Хемлин, г.Гродно ", 375-76-86 );
            people people11 = new people("Кучумеев, г.Гродно ", 785-57-92 );
            people people12 = new people("Мандрыка, г.Гродно ", 305-85-84);
            people people13 = new people("Бояринов, г.Гродно ", 333-54-56);
            people people14 = new people("Шаршин, г.Гродно ", 234-65-76 );
            people people15 = new people("Лешев, г.Гродно ", 234-65-87);
            people people16 = new people("Ширяев, г.Гродно ", 454-54-65);
            people people17 = new people("Дырбов, г.Гродно ", 123-43-45);
            people people18 = new people("Туржанский, г.Гродно ", 157-56-76 );
            people people19 = new people("Абрамович, г.Гродно ", 245-74-86);
            people people20 = new people("Архаткин, г.Гродно ", 333-17-25);
            people1.WritePeople();
            people2.WritePeople();
            people3.WritePeople();
            people4.WritePeople();
            people5.WritePeople();
            people6.WritePeople();
            people7.WritePeople();
            people8.WritePeople();
            people9.WritePeople();
            people10.WritePeople();
            people11.WritePeople();
            people12.WritePeople();
            people13.WritePeople();
            people14.WritePeople();
            people15.WritePeople();
            people16.WritePeople();
            people17.WritePeople();
            people18.WritePeople();
            people19.WritePeople();
            people20.WritePeople();
            Console.ReadKey();
        }
    }
}
seniks вне форума Ответить с цитированием
Старый 10.05.2017, 10:37   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Тут — никак. Сначала стоит положить их в массив или коллекцию (List, ...).
Тогда цикл и if или например .Where из LINQ.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.05.2017, 10:39   #3
seniks
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 19
По умолчанию

а
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Тут — никак. Сначала стоит положить их в массив или коллекцию (List, ...).
Тогда цикл и if или например .Where из LINQ.
А как в массив?
а то "нуб" совсем
seniks вне форума Ответить с цитированием
Старый 10.05.2017, 10:42   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну погуглите примеры про массивы, почитайте первые главы любого учебника.

Вы кстати в курсе, что 217-25-16 это число 176, а не строка "217-25-16"?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.05.2017, 10:54   #5
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
public class people
{
    public string fam;
    public string adress;
    public int nomer;
    public people(string f, string a, int n)
    {
        fam = f;
        adress = a;
        nomer = n;
    }
    public void WritePeople()
    {
        Console.WriteLine();
        Console.WriteLine("Familiya = {0}", fam);
        Console.WriteLine("Address = {0}", adress);
        Console.WriteLine("Nomer = {0}", nomer);
    }
    public void WritePeopleWithoutNumber()
    {
        Console.WriteLine();
        Console.WriteLine("Familiya = {0}", fam);
        Console.WriteLine("Address = {0}", adress);        
    }
};    
    
    class Program
    {
        static void Main(string[] args)
        {            
            int f;
            people[] Peoples = new people[8];
            Peoples[0] = new people("Ермаков", "г.Минск", 2172516);
            Peoples[1] = new people("Пупкин", "г.Витебск", 6571826);
            Peoples[2] = new people("Машуков", "г.Москва ", 6482097);
            Peoples[3] = new people("Набойщиков", "г.Париж ", 7588594);
            Peoples[4] = new people("Лекомцев", "г.Краснодар", 3858586);
            Peoples[5] = new people("Ящин", "г.Минск ", 7599753);
            Peoples[6] = new people("Тянников", "г.Витебск ", 7844532);
            Peoples[7] = new people("Антипин", "г.Брест ", 3876385);
            Peoples[0].WritePeople();
            Peoples[1].WritePeople();
            Peoples[2].WritePeople();
            Peoples[3].WritePeople();
            Peoples[4].WritePeople();
            Peoples[5].WritePeople();
            Peoples[6].WritePeople();
            Peoples[7].WritePeople();
            Console.WriteLine("\n------------------------------------------------------");
            Console.WriteLine("\nWho have number, which begins 3?");
            Console.WriteLine("\n------------------------------------------------------");
            foreach(people z in Peoples)
            {
                f = z.nomer/1000000;
                if(f == 3)
                    z.WritePeopleWithoutNumber();
            }



            Console.ReadKey();                       
        }
    }
}
Cuprum5 вне форума Ответить с цитированием
Старый 17.05.2017, 21:26   #6
MisterXXX
Новичок
Джуниор
 
Регистрация: 17.05.2017
Сообщений: 7
По умолчанию

чувак массивы и цикл для перебора если БД то еще легче у тебя простяцкий код и неправильный
MisterXXX вне форума Ответить с цитированием
Старый 17.05.2017, 21:29   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от MisterXXX Посмотреть сообщение
если БД то еще легче
с чего вдруг?

вместо циклов LINQ можно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.05.2017, 10:19   #8
Hsl
Пользователь
 
Регистрация: 18.04.2014
Сообщений: 56
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ppl
{
	class Human
	{
		public string Surname;
		public string City;
		public string PhoneNumber;

		public Human(string surname, string city, string phonenumber)
		{
			Surname = surname;
			City = city;
			PhoneNumber = phonenumber;
		}

		public override string ToString()
		{
			return $"Фамилия: {Surname}, город: {City}, телефон: {PhoneNumber}.";
		}
	}

	class People
	{
		public List<Human> people = new List<Human>();

		public People(List<Human> ppl)
		{
			people.AddRange(ppl);
		}

		public IEnumerable<Human> Task()
		{
			return people.Where(x => x.PhoneNumber.StartsWith("3"));
		}
	}
	class Program
	{
		static void Main(string[] args)
		{
			Console.OutputEncoding = Encoding.UTF8;
			People people = new People(new List<Human>
			{
				new Human("Ермаков", "Минск", "217-25-16"),
				new Human("Пупкин", "Витебск", "657-18-26"),
				new Human("Машуков", "Москва", "648-23-97"),
				new Human("Набойщиков", "Париж", "758-85-94"),
				new Human("Лекомцев", "Краснодар", "385-85-86"),
				new Human("Ящин", "Минск", "759-97-53"),
				new Human("Тянников", "Витебск", "784-45-32"),
				new Human("Антипин", "Брест", "987-63-85"),
				new Human("Яруллин", "Гродно", "375-57-95"),
				new Human("Хемлин", "Гродно", "375-76-86"),
				new Human("Кучумеев", "Гродно", "785-57-92"),
				new Human("Мандрыка", "Гродно", "305-85-84"),
				new Human("Бояринов", "Гродно", "333-54-56"),
				new Human("Шаршин", "Гродно", "234-65-76"),
				new Human("Лешев", "Гродно", "234-65-87"),
				new Human("Ширяев", "Гродно", "454-54-65"),
				new Human("Дырбов", "Гродно", "123-43-45"),
				new Human("Туржанский", "Гродно", "157-56-76"),
				new Human("Абрамович", "Гродно", "245-74-86"),
				new Human("Архаткин", "Гродно", "333-17-25")
			});

			Console.WriteLine("Список людей:");
			foreach(var item in people.people)
			{
				Console.WriteLine(item);
			}

			Console.WriteLine("\nСписок людей, у которых номер начинается на \"3\":");
			{
				foreach (var item in people.Task())
				{
					Console.WriteLine(item);
				}
			}
		}
	}
}
Изображения
Тип файла: png P.PNG (40.0 Кб, 59 просмотров)
Hsl вне форума Ответить с цитированием
Старый 26.05.2017, 11:47   #9
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

Цитата:
Сообщение от MisterXXX Посмотреть сообщение
у тебя простяцкий код и неправильный
- с чего код-то неправильный, если все работает?
Cuprum5 вне форума Ответить с цитированием
Старый 26.05.2017, 20:17   #10
Hsl
Пользователь
 
Регистрация: 18.04.2014
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
- с чего код-то неправильный, если все работает?
Во-первых, хранить номер телефона в переменной типа Int — идиотизм. Потому что номер телефона с кодом страны может вовсе не вписаться в допустимые границы типа.
Во-вторых, необходимо соблюдать формат номера телефона в виде ххх-хх-хх, конечно, можно извратиться, и сделать структуру/клас/???, чтобы использовать тип Int в таком формате, но зачем программисту голова?
В-третьих, как я упоминал выше, если номер телефона (в данной задаче) будет состоять не из 7 цифр, а 6/5/4/8/9/10.../20 то ваш "алгоритм" в принципе будет выдавать ложные результаты.
Hsl вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в richedit который начинается снова при нажа belkeandrey Общие вопросы Delphi 8 09.03.2013 23:48
Найти фамилии и адреса людей,чей телефон начинается с цифры 3 PointBreak Visual C++ 11 04.07.2012 08:02
Известны фамилии,адреса и телефоны 25-ти человек,Найти фамилии и адреса людей,чей телефон начинается с цифры 3. Расмотреть два слу salomon93 Паскаль, Turbo Pascal, PascalABC.NET 11 01.12.2011 23:36
как найти человека через спутник по номеру мобильного телефона Илюха Свободное общение 15 22.09.2009 13:10