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

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

Войти
Регистрация
Восстановить пароль
 
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
#1

Структура в функции с++ - C++

21.07.2011, 00:24. Просмотров 508. Ответов 5
Метки нет (Все метки)

Привет всем, кто всегда готов помочь. Подскажите пожалуйста, в чем ошибка в коде. Если надо, я могу рассказать условие задания, но я думаю, что это не важно. Вот мой код:

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
#include <cstring>
#include <iostream>
 
using namespace std;
 
struct stringy 
{
       char * str;
       int ct;
};
void set(stringy & beany, const char * str);
void show(stringy & beany, int n = 1);
void show(char array[], int n = 1);
 
int main(int argc, char *argv[])
{
    stringy beany;
    char testing[] = "Reality isn't what it used to be.";
    set(beany, testing);
    show(beany);
    show(beany, 2);
    testing[0] = 'D';
    testing[1] = 'u';
    show(testing);
    show(testing, 3);
    show("Done!");
    
    system("pause > nul");
    return EXIT_SUCCESS;
}
 
void set(stringy & beany, const char * str)
{
     int ct = strlen(str);
     char *string = new char[ct+1];
     for (int i = 0; i < ct; i++)
        string[i] = str[i];
     beany =
     {
          *string, 
           ct
     };
}
 
void show(stringy & beany, int n)
{
     if (n = 1)
     cout << beany.str <<endl;
     else
     {
         for (int i = 0; i < n; i++)
         cout << beany.str << endl;
     }
}
 
void show(char array[], int n)
{ 
     if (n = 1)
     cout << array << endl;
     else
     {
         for (int i = 0; i < n; i++)
         cout << array << endl;
     }
}
Компилятор пишет, что ошибка в 38-ой строке "expected primary-expression before ';' token" и в 42-ой строке "espected ';' before'}' token". Использую компилятор Dev-C++ 4.9.9.2. Надеюсь на помощь, заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2011, 00:24     Структура в функции с++
Посмотрите здесь:

Структура,функции - C++
Собственно суть: создается массив структур из 6 друзей,который надо просортировать по дате рождения(от старшего к меньшему) и вывести всех...

Структура в функции - C++
Помогите разобраться, буду очень благодарен. Цитирую вопрос с лабораторной: У C++ забезпечується можливість передавати як структури...

Структура и функции - C++
Нужно сделать так, чтобы из функции &quot;Function_Read&quot; значения структуры сохранялись и можно было их использовать в &quot;Function_Write&quot; и так...

Структура и функции - C++
задание: 1) Напишите функцию, принимающую структуру box по значению и отображающую все ее члены. 2) Напишите функцию,...

общая структура функции на С++ - C++
Как выглядит общая структура функции на С++?

Структура функции. Квадратное уравнение. - C++
Подскажите пожалуйста как написать функцию решения квадратного уравнение с помощью структуры функции. Я просто понять не могу какие поля...

Вызов функции, определенной как структура - C++
Программа аварийно завершается при запуске Методом комментирования строк пришел к выводу, что все это из-за строки d.vec = s(x).vec; ...

Структура Работник, ошибки в функции ввода данных - C++
Добрый вечер. Вот столкнулся с маленькой проблемой. Помогите найти ошибку пожалуйста Когда я пытаюсь заполнить данные по работникам...

Структура (значение поля структуры приравнять к значению функции) - C++
Можно ли значение поля структуры приравнять к значению функции вот так STUD1.SES=COR(); Делаю так не присваивается пишет 0

Структура "Время". Функции преобразования в секунды и из секунд - C++
Здравствуйте решаю такую вот задачку ,прошу помощи : Модифицируйте программу, описанную в упражнении 11 главы 4 &quot;Структуры&quot;,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
21.07.2011, 01:34     Структура в функции с++ #2
C++
1
2
3
4
5
     beany =
     {
          *string, 
           ct
     };
списки инициализации можно использовать только при объявлении объекта.
тебе нужно писать
C++
1
2
     beany.str = string;
     beany.ct = ct;
при этом надо отметить что ты не копируешь строку а лишь ставишь на неё указатель.
потом по этому указателю необходимо будет освободить память.
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
21.07.2011, 16:31  [ТС]     Структура в функции с++ #3
Цитата Сообщение от OstapBender Посмотреть сообщение
потом по этому указателю необходимо будет освободить память.
В смысле в конце функции "int main()" написать "delete [] str" ?

Добавлено через 2 часа 59 минут
Кстати программа работает и так, только кое-какую ерунду выводит, вот пример выполнения:
Reality isn't what it used to be.C:\Windb▌Х'^ц
Reality isn't what it used to be.C:\Windb▌Х'^ц
Reality isn't what it used to be.C:\Windb▌Х'^ц
Duality isn't what it used to be.
Duality isn't what it used to be.
Duality isn't what it used to be.
Duality isn't what it used to be.
Done!

В принципе всё нормально, только вот не понятная надпись C:\Windb▌Х'^ц раздражает
Kastaneda
Форумчанин
Эксперт С++
4479 / 2841 / 227
Регистрация: 12.12.2009
Сообщений: 7,224
Записей в блоге: 1
Завершенные тесты: 1
21.07.2011, 16:41     Структура в функции с++ #4
Цитата Сообщение от Yashman Посмотреть сообщение
В принципе всё нормально, только вот не понятная надпись C:\Windb▌Х'^ц раздражает
Попробуй так:
C++
1
2
3
4
5
6
7
8
9
void set(stringy & beany, const char * str)
{
     int ct = strlen(str);
     char *string = new char[ct+1];
     for (int i = 0; i < ct; i++)
        string[i] = str[i];
     string[ct]='\0';//добавить символ-терминатор
//bla bla bla
}
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
21.07.2011, 17:15  [ТС]     Структура в функции с++ #5
Спасибо, KastanEda , так усё отлично.
Kastaneda
21.07.2011, 17:26     Структура в функции с++
  #6

Не по теме:

Цитата Сообщение от Yashman Посмотреть сообщение
KastanEda
вооот

Yandex
Объявления
21.07.2011, 17:26     Структура в функции с++
Ответ Создать тему
Опции темы

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