Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Bonchy
5 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 24
#1

Нюансы работы со строками: как в C++ можно объявлять и инициализировать строки? - C++

28.11.2016, 13:27. Просмотров 165. Ответов 4
Метки нет (Все метки)

Добрый день!
Подскажите пожалуйста, как в 17-ой строке присвоить слово? Один символ присваивается, но со словом и тем более предложением проблема, не знаю как это сделать

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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
struct Tree {
    float width;
    int height;
    int age;
    char name;
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    Tree birch;
    birch.age = 150;
    birch.name = 'Ancient';
    birch.height = 73;
    birch.width = 2.14;
    
    cout << "Высота = " << birch.height << "\nШирина = " << birch.width << "\nВозраст = " << birch.age << "\nИмя - " << birch.name << endl;
 
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2016, 13:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нюансы работы со строками: как в C++ можно объявлять и инициализировать строки? (C++):

Как объявлять и инициализировать динамические структуры? - C++
С помощью операции new нужно создать массив из трёх элементов структуры. Пытался это сделать, но возникают проблемы из присваиванием...

Нюансы работы со строками типа std::string (ищу литературу, статьи, сайты) - C++
Пытаюсь понять как писать программы,используя строки.И столкнулся с такой проблемой,когда я пишу char ch;,strlen(ch); всё работает,но как я...

Можно ли как-то инициализировать массив? - C++
Можно ли как-то инициализировать массив ar? class digit { int a, b; public: digit (int a_, int b_) { a=a_; b=b_; }

Нюансы работы с массивами: почему программа ведёт себя не так, как ожидается? - C++
// ConsoleApplication20.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &quot;windows.h&quot; ...

Нюансы работы с массивами: как правильно передать массив в функцию в качестве аргумента? - C++
Здравствуйте!!!Начал недавно изучать с++ и с по книге!!!там есть пример и возник небольшой вопрос к нему!Скину весь код, чтобы было...

Как (можно ли) инициализировать переменную в структуре? - C++
Как пример struct cifri { char one=&quot;ONE&quot;; }; Почему так нельзя и как можно?

4
maxm
62 / 34 / 8
Регистрация: 17.07.2014
Сообщений: 456
28.11.2016, 13:31 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
char - это символ.
Вам нужен char* - указатель на массив символов.
Если хотите проще - пропишите #include <string> вверху и вместо char пишите string.

Добавлено через 36 секунд
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
#include "stdafx.h"
#include "iostream"
#include <string>
using namespace std;
 
struct Tree {
    float width;
    int height;
    int age;
    string name;
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    Tree birch;
    birch.age = 150;
    birch.name = 'Ancient';
    birch.height = 73;
    birch.width = 2.14;
    
    cout << "Высота = " << birch.height << "\nШирина = " << birch.width << "\nВозраст = " << birch.age << "\nИмя - " << birch.name << endl;
 
    system("pause");
    return 0;
}
1
Senarist
50 / 54 / 15
Регистрация: 14.03.2014
Сообщений: 637
28.11.2016, 13:32 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
struct Tree {
    float width;
    int height;
    int age;
    char* name;
};
 
int main()
{
    setlocale(LC_ALL, "rus");
    Tree birch;
    birch.age = 150;
    birch.name = "Ancient";
    birch.height = 73;
    birch.width = 2.14;
 
    cout << "Высота = " << birch.height << "\nШирина = " << birch.width << "\nВозраст = " << birch.age << "\nИмя - " << birch.name << endl;
 
    system("pause");
    return 0;
}
1
Bonchy
5 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 24
28.11.2016, 13:47  [ТС] #4
Спасибо большое, понял.
И абсолютно во всех случаях нет никакой разницы/нюансов что через string что через char* писать? Просто хотел бы тогда для себя выбрать какой-то один вариант написания на первое время
0
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
28.11.2016, 13:54 #5
Цитата Сообщение от Bonchy Посмотреть сообщение
И абсолютно во всех случаях нет никакой разницы/нюансов что через string что через char* писать? Просто хотел бы тогда для себя выбрать какой-то один вариант написания на первое время
Разница есть (и она велика).
Один вариант написания на первое время - string.
2
28.11.2016, 13:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2016, 13:54
Привет! Вот еще темы с ответами:

Нюансы работы с оператором ветвления if else: почему программа ведёт себя не так, как ожидается? - C++
Имеется код: int a; char q; for (;;) { cout &lt;&lt; &quot;Введите число: &quot;; cin &gt;&gt; a;

Нюансы работы с лямбдами и область видимости переменных: как передать в лямбду переменную, а не её копию? - C++
Очень нужна помощь, не выходит задать глобальную переменную для работы программы, возможно нужно немного изменить код функции: Функция...

Нюансы работы с оператором ветвления if else: почему программа ведёт себя не так, как ожидается? - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void check_weekday(string day) { if (day == &quot;Понедельник&quot; || day ==...

Функции для работы со строками - получение символа строки - C++
Всем доброго времени суток! Начал изучать C++ пару дней назад, а так как я знаком с PHP, его изучение пошло как по маслу. Но...


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

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

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