Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/37: Рейтинг темы: голосов - 37, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 12
1

Сравнение отпечатков пальцев

07.06.2012, 23:26. Показов 7069. Ответов 5

Author24 — интернет-сервис помощи студентам
Текстовый файл содержит информацию по отпечатка пальцев известных преступников. Разработать программа, которая выводит данные обо всех преступниках, чьи отпечатки совпадают с отпечатками найденными на месте преступления. Отпечаток может быть представлен кодом из 36 символом и 12 вещественных чисел. Отпечаток вводится с клавиатуры. Отпечаток считается идентичным, если совпадают 35 из 36 символов и все числа.
зы помогите кто-нибудь решить пожалуйста, буду благодарен)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2012, 23:26
Ответы с готовыми решениями:

Распознавание отпечатков пальцев
Хочу написать софт с авторизацией по отпечатку. Т.е. юзер 1 раз его вводит, он где-то...

Как задействовать сканер отпечатков пальцев?
есть приложение на C# шифрующее текст и ноутбук со сканером отпечатков пальцев. не знаю как...

Сравнение отпечатков пальцев
Уважаемые разработчики, если вас не затруднит помогите пожалуйста разобраться с кодом в интернете...

Сканер отпечатков пальцев
Привет Киберфорум!:) Имею ноутбук Dell Latitude E6420 Intel Core I5-2520M 2.50GHz, 4GB RAM,...

5
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
08.06.2012, 02:58 2
Вот посмотрите сделал:
Код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
using System;
using System.Collections.Generic;
using System.IO;
 
namespace Отпечатки_пальцев
{
    class Program
    {
        /// <summary>
        /// Статичный метод создание ошибки.
        /// </summary>
        /// <param name="s">Текст ошибки.</param>
        static void createError( string s )
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine( s );
            Console.ForegroundColor = ConsoleColor.Gray;
        }
 
        /// <summary>
        /// Статичный метод загрузки базы.
        /// </summary>
        /// <param name="fileName">Имя файла базы.</param>
        /// <returns>Базу преступников.</returns>
        static string loadBase( string fileName )
        {
            try
            {
                StreamReader streamReader = new StreamReader( fileName );
                string str = "";
 
                while ( !streamReader.EndOfStream )
                    str += streamReader.ReadLine();
 
                return str;
            }
            catch { return string.Empty; }
        }
 
        static void Main( string[] args )
        {
start:
            string @base;
            List<Finger> fingerBase = new List<Finger>();
 
            if ( loadBase( "base.txt" ) != string.Empty )
            {
                @base = loadBase( "base.txt" );
                string[] guy = @base.Split( '|' );
                string[] param;
 
                foreach ( string s in guy )
                {
                    param = s.Split( ',' );
 
                    fingerBase.Add( new Finger( param[0], param[1], param[2], param[3] ) );
                }
            }
            else
                createError( "Файл базы пустой." );
 
            Console.Clear();
            Console.Write( "Введите имя файла с отпечатком пальцов. " );
            Console.WriteLine( "Например \"name.txt\"" );
            string fileName = Console.ReadLine();
 
            try
            {
                StreamReader streamReader = new StreamReader( fileName );
                string fileFinger = "";
 
                while ( !streamReader.EndOfStream )
                    fileFinger += streamReader.ReadLine();
 
                if ( fileFinger.Length > 36 )
                {
                    createError( "Ошибка, превышен лимит символов." );
                    Console.ReadKey( true );
                    goto start;
                }
 
                bool flag = true;
 
                foreach ( Finger f in fingerBase )
                {
                    if ( f.Equals( fileFinger ) )
                    {
                        Console.WriteLine( "Совпадение найденно." );
                        Console.WriteLine( f.ToString() );
                        flag = false;
                        break;
                    }
                }
 
                if ( flag == true )
                    createError( "Совпадений не найденно." );
            }
            catch
            {
                createError( "Ошибка чтения файла." );
                Console.ReadKey( true );
                goto start;
            }
 
            Console.Read();
        }
    }
 
    class Finger
    {
        string print = string.Empty;
        string name = string.Empty;
        string lastName = string.Empty;
        string info = string.Empty;
 
        /// <summary>
        /// Конструктор инциализации класса Finger.
        /// </summary>
        /// <param name="print">Отпечаток пальца.</param>
        /// <param name="name">Имя.</param>
        /// <param name="lastName">Фамилия.</param>
        /// <param name="info">Прочая информация.</param>
        public Finger( string print, string name, string lastName, string info )
        {
            if ( print.Length > 36 )
                throw new IndexOutOfRangeException( "Кол-во символов превышает максимальный размер.\nПараметр print." );
            else
                this.print = print;
 
            this.name = name;
            this.lastName = lastName;
            this.info = info;
        }
 
        /// <summary>
        /// Выводит информацию о преступнике.
        /// </summary>
        /// <returns>Строка вида: "Отпечаток:\nИмя:\nФамилия:\nИнформация:"</returns>
        public override string ToString()
        {
            return string.Format( "Отпечаток:\n{0}\nИмя: {1}\nФамилия: {2}\nИнформация: {3}", print, name, lastName, info );
        }
 
        /// <summary>
        /// Сравнивание обьектов класса Finger.
        /// </summary>
        /// <param name="obj">Обьект класса Finger.</param>
        /// <returns>Возращает true если совпадений более 34.</returns>
        public override bool Equals( object obj )
        {
            int match = 0;
 
            for ( int i = 0; i < 36; i++ )
                if ( this.print[i] != ( obj as Finger ).print[i] )
                    match++;
 
            if ( match > 1 )
                return false;
            
            return true;
        }
 
        /// <summary>
        /// Сравнивание обьект класса Finger с текстом отпечатка.
        /// </summary>
        /// <param name="obj">Текст отпечатка.</param>
        /// <returns>Возращает true если совпадений более 34.</returns>
        public bool Equals( string obj )
        {
            int match = 0;
 
            for ( int i = 0; i < 36; i++ )
                if ( this.print[i] != obj[i] )
                    match++;
 
            if ( match > 1 )
                return false;
 
            return true;
        }
    }
}

База
9kk0oihn2wv3juve936hqix6ek865m0iyb4u,Ivan,Sidorov,Stat'9 228 YK RF|qrndheb9r60fq2jbo7m2eg461uqo2zhf4szb,Alexandr,Andreev,Stat'9 175 YK RF

Файл "1.txt"
qrndheb9r60fq2jbo7m2eg461uqo2zhf4szb

Файл "2.txt"
gfejljn4xpfx6cpmx6dfv3jim527u2pamj9u

Файл "3.txt"
pz4ckgrv3fvxk3kkq4arst4c4zc28v2g42kr


Результат работы:
1.
Сравнение отпечатков пальцев


2.
Сравнение отпечатков пальцев


Базу заполнять обязательно по образцу "код отпечатка,Имя,Фамилия,Информация|...".
Во вложениях архив с базами и файлами описанными выше.
Вложения
Тип файла: rar CyberForum.rar (3.6 Кб, 236 просмотров)
2
0 / 0 / 0
Регистрация: 20.05.2012
Сообщений: 12
08.06.2012, 13:51  [ТС] 3
благодарю
0
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
08.06.2012, 22:01 4
Лучший ответ Сообщение было отмечено как решение

Решение

Вот как вы просили в Windows Form.
Пароль: CyberForum
Вложения
Тип файла: 7z Отпечатки Пальцев WinForm.7z (23.9 Кб, 259 просмотров)
3
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 1
28.04.2015, 15:24 5
kiri4sky, Дмитрий3241, откуда вы берете базу данных? то есть мне нужно изображение с отпечатком пальцев перевести в это код? как это возможно реализовать?
0
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
29.04.2015, 09:31 6
finat-07, я брал базу данных приведенную в пример к заданию, это программа не сравниват отпечатки пальце, она сравнивает текст.
0
29.04.2015, 09:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2015, 09:31
Помогаю со студенческими работами здесь

Сканер отпечатков пальцев
Здравствуйте! Можно ли подключится к драйверу сканера для получения изображения (на него нет SDK...

Сканер отпечатков пальцев
Добрый день, возник такой вопрос кто-нибудь когда-нибудь работал со сканером отпечатков пальцев в...

Сканер отпечатков пальцев
Всем привет! Может кто-то игрался со сканером отпечатков пальцев, который на ноутбуки...

Сканер отпечатков пальцев
Недавно получил задачу: создать драйвер и программу для сканера отпечатка пальцев (есть само...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru