Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
_Alexander
12 / 12 / 1
Регистрация: 05.11.2012
Сообщений: 49
#1

Укажите путь заблудшему - C++

24.01.2013, 13:30. Просмотров 247. Ответов 2
Метки нет (Все метки)

Есть строка вида "Alex Johnson|1234678901\nBill Gates|548161198\n" - т.е. "<Абонент>|<номер телефона>\n...".
Написал функцию которая принимает в качестве параметра эту строку и возвращает массив структур:
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
...
struct Abonent
{
    char name[256];
    char number[15];
};
...
 
Abonent * Parse(char * data)
    {
        Abonent * temp;
        int count = 0;
        for(int i=0;i<strlen(data);i++)// подсчет количества абонентов
            if(data[i] == '\n')
                count++;
        temp = new Abonent[count];// выделение памяти под возвращаемый массив
        int index = 0;
        int c = 0;
        for(int i = 0; i<strlen(data);i++)
        {
            if((data[i]>='a'&&data[i]<='z')||(data[i]>='A'&&data[i]<='Z')||data[i] == ' ')
            {
                temp[index].name[c] = data[i];
                c++;
            }
            
            if(data[i]>='0'&&data[i]<='9')
            {
                temp[index].number[c] = data[i];
                c++;
            }
            
            if(data[i] == '\n')
            {
                temp[index].number[c] = '\0';
                index++;
                c=0;
            }
            if(data[i] == '|')
            {
                temp[index].name[c] = '\0';
                c=0;
            }
        }
       return temp;
    }
          void main()
          {
                       Abonent * b = Parse(Read());//здесь функция char * Read() выполняет чтение из файла
                int i=0;
                while((b+i) == NULL)
               {
                    cout<<"Name: "<<(b+i)->name<<" phone: "<<(b+i)->number<<endl;
                    i++;
               }
 
          }
вопрос следующий: как правильно удалить массив b
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2013, 13:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Укажите путь заблудшему (C++):

Укажите на ошибки - C++
#include &lt;iostream&gt; using namespace std; int cmd(int cmd); int cmd() { int command; cout &lt;&lt; &quot;Команды: 1 - Информация о...

Укажите ошибку! - C++
В строке удвоить все символы ‘&amp;’. Под вставкой символа n в строку после к-го элемента понимается смещение всех элементов, начиная с...

Укажите на ошибку - C++
Проблема с enum. Пишет что, нужно что-то перед enum. Поясните пожалуйста #include &lt;iostream&gt; using namespace std; int main() ...

Укажите на ошибки - C++
Найти все простые числа не превосходящие заданного числа N, десятичная запись которых содержит совпадающие цифры #include&lt;iostream.h&gt; ...

Укажите на ошибку - C++
Привет, есть проект, в нем был только один файл core.cpp в нем было и объявления функций и их описания, короче говоря все было в одном...

Укажите на ошибку - C++
Подскажите ошибку пожалуйста #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void main() ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
extenup
54 / 54 / 3
Регистрация: 12.11.2011
Сообщений: 109
24.01.2013, 18:24 #2
C++
1
delete[] b;
booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
24.01.2013, 19:08 #3
юзай isalpha () и isdigit ()

http://www.cplusplus.com/reference/cctype/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2013, 19:08
Привет! Вот еще темы с ответами:

Укажите ошибку пожалуйста - C++
№ 3 вариант 8 #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { const float Eps=1E-4; int...

Укажите пожалуйста ошибку(и) - C++
#include &lt;iostream&gt; using namespace std; struct box { char maker; float height; float width; float length; float...

укажите на ошибку в листинге - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace System; void main( ) { cout &lt;&lt; &quot;I love&quot;; ...

Укажите на ошибки в программе - C++
В программе я создаю класс с двумя методами. Ввод матрицы, а потом замена строк на столбцы. Программа запускается, но вылетает, в общем...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru