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

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

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

Запись из массива символов в структуру - C++

06.02.2013, 16:13. Просмотров 431. Ответов 2
Метки нет (Все метки)

Есть структура:
название предмета
цена предмета

Нужно с клавиатуры ввести строку: Авто 2300 (название и цена) . Поместить строку в массив символов и выделить из него название предмета и его цену. Записать эти значения в структуру.

Есть код который разбивает строку на части, но как записать их в нужное поле структуры не знаю.
посоветуйте решение задачи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <sstream>
 
using namespace std;
 
int main()
{
    string s;
    stringstream tmp;
    s = "1-th word, second word ect.";
    tmp << s;
    while (tmp >> s)
    {
        cout << s << endl;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 16:13     Запись из массива символов в структуру
Посмотрите здесь:
Запись массива символов в файл C++
C++ Запись в структуру
Указатель на структуру, правильная ли запись? C++
C++ Неверная запись в структуру данных
C++ Запись данных из файла в структуру
Ввод с клавиатуры данных и запись их в структуру C++
Запись в структуру из файла. База данных C++
C++ Запись в строку char*, входящую в структуру
Переделать запись в файл информации о студенте через структуру C++
Запись структуры и чтение из файла в структуру ( как бы лучше ) C++
Введите массив символов из 12 элементов. Удвоить все коды символов массива C++
Запись символов CR и LF в COM порт C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
5592 / 2626 / 239
Регистрация: 01.11.2011
Сообщений: 6,458
Завершенные тесты: 1
06.02.2013, 17:04     Запись из массива символов в структуру #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
#include <iostream.h>
int main(int argc, char* argv[])
{
const int n = 3;
int x;
 
struct TStruc
  {
  char NameItem[100];
  int Num;
  };
 
TStruc MasStruc[n];
 
for(int i=0; i<n; i++)
  {
  cout << endl << "Enter Name " << i << ": ";
  cin >> MasStruc[i].NameItem;
  cout << endl << "Enter Num " << i << ": ";
  cin >> MasStruc[i].Num;
  }
 
cin >> x;
cout << MasStruc[x].NameItem;
 
cin.ignore();
 
return 0;
}
fov101
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 10
06.02.2013, 19:11  [ТС]     Запись из массива символов в структуру #3
Простая запись в структуру. Мне нужно записать в одну строку название и цену. Потом из строки выделить по частям название и цену и записать в структуру.
Например: PC , 1000 . Название и цена.

Добавлено через 4 минуты
Вот еще пример разбивки на части, но есть проблема, я могу присвоить первое слово структуре, но как перейти к следующему слову(цене) и присвоить ее структуре я не знаю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <sstream>
#include <string>
 
int main(){
    std::string buf, tmp;
    const char SEP = ';';
 
    buf = "one;two;three";
    std::istringstream ist(buf);
    while ( std::getline(ist, tmp, SEP) )
        std::cout << tmp << std::endl;
 
    return 0;
}
Добавлено через 26 минут
Разобрался как разбить строку на части и записать в структуру.Но не получилось вбить в цикл.
Помогите написать цикл для присвоения элементов массива структуре.
У меня получается что 1-й элемент это название а следующий за ним его цена.
Вот код того что я написал.
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
#include <iostream>
#include <sstream>
 
using namespace std;
struct pc{
char box[20];
char boxprice[20];
char keyb[20];
char keybprice[20];
char mouse[20];
int mouseprice;
char monitor[20];
int monitorprice;
char speakers[20];
int speakerprice;
 
}pcconf[5];
 
int main()
{char arrsym[4][20];
 for(int i = 0; i < 4; i++){
     cin >>arrsym[i];}
 
strcpy (pcconf[1].box,arrsym[0]);
strcpy (pcconf[1].boxprice, arrsym[1]);
strcpy (pcconf[2].keyb,arrsym[2]);
strcpy (pcconf[2].keybprice, arrsym[3]);
 
 
 
cout<<pcconf[1].box<<" ";
cout<<pcconf[1].boxprice<<" "<<pcconf[2].keyb<<" "<<pcconf[2].keybprice;
 return 0; }
Ввожу данные таким способом : Название цена (enter) Название цена

Добавлено через 1 час 31 минуту
Проблему решил. Осталось последнее . Записать массив структур в двумерный связной список(динамический).Помогите решить.
Структура:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct pc{
char box[20];
char boxprice[20];
char keyb[20];
char keybprice[20];
char mouse[20];
char mouseprice[20];
char monitor[20];
char monitorprice[20];
char speakers[20];
char speakerprice[20];
 
}pcconf[5];
Yandex
Объявления
06.02.2013, 19:11     Запись из массива символов в структуру
Ответ Создать тему
Опции темы

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