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

Ошибка при работе со структурой - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вкладки компонент, ваше мнение? http://www.cyberforum.ru/cpp-beginners/thread947753.html
Ребят, всем привет! Раньше писал проги на делфи, но сейчас решил изучить c++. Как-то интерес заставил юзать программу bgbilling, написанную как понимаю на яве. Заинтересовали меня вкладки, приложил картинку, как видите, какой бы модуль или договор пользователя я не открыл, всегда создается новая вкладка внизу, и ее можно закрыть. Вот мне интересно, в делфи такого компонента нет, чтобы...
C++ Разложения по базису Уолша с обязательной корреляцией с результатами вейвет анализа Помогите составить алгоритм и что бы он рисовал ввиде японской свечи статистику. Если это возможна. Или скиньте ссылки по этой теме в плане реализации. Буду сильно благодарен. , С/Си++ алгоритм qtcreator http://www.cyberforum.ru/cpp-beginners/thread947740.html
не собирается программа. fmod: неоднозначный вызов перегруженной функции C++
помогите пожалуйста запустить программу(шифрование/дешифрование текста), код вроде правильный, но выдается пара непонятных мне ошибок. Сорцы прилагаю. Пара заголовочных файлов и несколько исходных .срр Так же внутри два готовых бинарника, один шифрует(берет текст из .txt), другой расшифровывает(кладет результат в .txt), но из-за этого: void main(int argc, char **kluch) { clrscr();...
C++ ip address socket windows
Моя проблема заключается в следующем. В общем работаю с сокетами, на 127.0.0.1, все отлично. Но зайдя в 2ip.ru и скопировав ip и адрес сервера поменял с 127.0.0.1 на тот который в 2ip.ru - клиент тут-же выбивает ошибку. И да, у меня роутер - интернет Киевстар. В чем причина? И как с ней бороться? (Догадываюсь что ip на сервере должно быть выделенное). Работаю с сокетами #include <winsock2.h>
C++ Отредактировать файл не загружая в память http://www.cyberforum.ru/cpp-beginners/thread947735.html
Здравствуйте, форумчане. Насколько я знаю чтобы изменить файл надо сначала прочитать его и записать в переменную, а после изменить переменную и снова записать в чистый файл. Мне нужно прочитать 3 байта сначала и записать их в конец. Файл большой и в память не залезет.
C++ Запись в начало массива Добрый день , как записать слово в двумерный массив начинаю к примеру с третьей ячейки нулевой строки.? char Array="beleberda" подробнее

Показать сообщение отдельно
h_wolf
 Аватар для h_wolf
9 / 9 / 1
Регистрация: 24.01.2013
Сообщений: 211
03.09.2013, 15:51  [ТС]     Ошибка при работе со структурой
В общем это очередное упражнение из учебника С. Прата "С++ Лекции и упражнения"
Выложу полное решение, вдруг кому пригодится.

Задача:
Кликните здесь для просмотра всего текста
написать программу, которая может выводить списки членов по реальным именам, должностям, секретным именам, либо по предпочтению самого члена. В основу положите структуру:

C++
1
2
3
4
5
6
struct bop{
    string FullName;
    string Title;
    string BopName;
    int preference; // 0- FullName, 1- Title, 2- BopName
};
В этой программе создайте небольшой массив структур и инициализируйте его соответствующими значениями. Пусть программа запустит цикл, который даст возможность пользователю выбирать разные альтернативы:
a. display by name
b. display by title
c. display by bopname
d. display by preference
q. exit

обратите внимание на то, что "by preference" означает что нужно отобразить параметр соответствующий указанному значению prefernce.


Код с применением string:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <string>
 
using namespace std;
 
//int StrSize=80; осталось после попыток с char
 
struct bop{
    string FullName;
    string Title;
    string BopName;
    int preference; // 0- FullName, 1- Title, 2- BopName
};
 
int main()
{
    setlocale(LC_CTYPE, "");
 
    bop* Arr=new bop[3];
 
    Arr[0].FullName="Charli Parker";
    Arr[0].Title="God";
    Arr[0].BopName="Frick";
    Arr[0].preference=0;
 
    Arr[1].FullName="John Bim";
    Arr[1].Title="Love";
    Arr[1].BopName="White";
    Arr[1].preference=1;
 
    Arr[2].FullName="Eric Pirce";
    Arr[2].Title="Sec";
    Arr[2].BopName="Black";
    Arr[2].preference=2;
 
    cout<<"Выберите способ отобрадения:"<<endl;
    cout<<"a) Отобразить имена\t\tb) Отобразить титул"<<endl;
    cout<<"c) отобразить имя БОП\t\td) Отобразить по предпочтинию"<<endl;
    char Sw;
    while(Sw!='q'){
 
    cin>>Sw;
 
    switch(Sw)
    {
    case 'a':
        for(int i=0; i<3; i++)
            cout<<Arr[i].FullName<<endl;
        break;
    case 'b':
        for(int i=0; i<3; i++)
            cout<<Arr[i].Title<<endl;
        break;
    case 'c':
        for(int i=0; i<3; i++)
            cout<<Arr[i].BopName<<endl;
        break;
    case 'd':
        for(int i=0; i<3; i++){
            if(Arr[i].preference==0)
                cout<<Arr[i].FullName<<endl;
            else if(Arr[i].preference==1)
                    cout<<Arr[i].Title<<endl;
            else cout<<Arr[i].BopName<<endl;
        }
        break;
    }
    }
    cout<<"Bye\n";
 
    delete [] Arr;
 
    return 0;
}


С радостью выслушаю все замечания по данному творению.

А вот с массивом char увы запустить это дело не удалось через strcpy:

error: invalid conversion from 'char' to 'char*' [-fpermissive]
error: initializing argument 1 of 'char* strcpy(char*, const char*)' [-fpermissive]

Пока пытаюсь нагуглить ответ.

Добавлено через 1 минуту
Rogov,
error: invalid conversion from 'char' to 'char*' [-fpermissive]
error: initializing argument 1 of 'char* strcpy(char*, const char*)' [-fpermissive]

подключен cstring, он описывает strcpy.
 
Текущее время: 18:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru