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

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

Войти
Регистрация
Восстановить пароль
 
Imba-Crafter
1 / 1 / 0
Регистрация: 13.10.2010
Сообщений: 38
#1

2 простых вопроса(строка и массив структур) - C++

15.10.2010, 08:31. Просмотров 519. Ответов 4
Метки нет (Все метки)

Доброе! Только начал изучать С и появилось 2 небольших вопроса. Надеюсь вам не будет лень ответить

1. Как работать со строкой. Я так понимаю через масива чаровский. Ну т.е. записывать каждое нажатие клавиши в последующий элемент масива? Если не сложно, киньте код

2. Собсвенно можно создать структуру. А как массив структур? в делфи я то знаю...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2010, 08:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос 2 простых вопроса(строка и массив структур) (C++):

Блочная сортировка структур (Отсортировать массив структур по фамилии) - C++
Подскажите алгоритм блочной сортировки структур на языке С++. Мне нужно отсортировать массив структур по фамилии.

Массив структур, сохранение начала каждой из структур - C++
Я создал такую структуру class Lancuch { public: char cos; Lancuch * nastepny; }; Lancuch * poczatek=NULL; cin >>...

Как объявить динамический массив структур, и как выглядит обращение к полям структур по указателю? - C++
Ребята подскажите как объявить динамический массив структур, и как выглядит обращение к полям структур по указателю.

Массив структур в массиве структур - C++
Всем добрый день. Делаю менюшку для управления и терзаю Arduino IDE слегка подвис со следующей задачей. Я хочу определить две...

Есть ли C++ нативный способ быстро обнулить массив (аналог bzero)? + ещё 2 вопроса - C++
Второй вопрос - если конструктор обнаружил условия, препятствующие созданию объекта, есть ли способ "не создавать" объект и не использовать...

динамический массив (Целое число разложить на массив простых множителей) - C++
Доброго времени суток всем. Целое число необходимо разложить на массив простых множителей. Столкнулся с проблемой, мне нужно, чтобы...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
15.10.2010, 09:11 #2
1.Вообще строки С - это целый раздел, так что если изучаете, то советую всё таки почитать.
Вы правы, строка в С - это массив типа char, но отличается наличием нуль символа (\0). То есть строка "Hello" будет содержать не 5 символов, а шесть. Существует целый набор функций для работы со строками, тоже советую почитать. Вот пример ввода строки С:
Код
char my_string[80]; //объявляем строку, не более 80 символов
cout << "Enter my string\n";
cin.getline(my_string,80);//вводим строку 
cout << "end of output\n"
строка вводится с помощью функции-члена getline. Первый аргумент - это имя строки, в которую будет производиться ввод, второй аргумент - это максимальное количество символов(может быть и меньше), но не забывайте и про нуль символ!
2.Определите структуру, и объявите массив переменных типа структуры:
Код
struct Den{
...//описание полей
...
...
};
Den Array[100];//объявление массива Array переменных типа Den
Imba-Crafter
1 / 1 / 0
Регистрация: 13.10.2010
Сообщений: 38
15.10.2010, 09:42  [ТС] #3
Допустим нужна структура TRAIN.. Ну вот код. Делает какую-то хрень

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
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
 
struct train
{
    char name[15];                  //название пункта
    float num;                         //норем
    char o_time[10];                //время отправдения
} mas[100];
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n,m,i;
    char z;
 
    printf("\n\tn= ");                                //сколько записей?
    scanf("%d",&n);                     
    for (m=1; m!=n+1; m+=1)                   //вводим..
    {
        printf("\t\nPunkt= ");
        for (i=1; (z=getchar())!='\n'; i++)
            mas[m].name[i]=z;
               printf("\t\nNomer= ");
        scanf("%d", &mas[m].num);
        printf("\t\nVremia= ");
        for (i=1; (z=getchar())!='\n'; i++)
            mas[m].o_time[i]=z;
    }
 
    return 0;
}
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
15.10.2010, 09:57 #4
Зачем вводить строку посимвольно? попробуйте тот же scanf, ну или gets()
C
1
2
3
4
5
6
7
8
9
for (i=0; i<n; i++)                   //вводим..
 {
        printf("\t\nPunkt= ");
    scanf("%s",mas[i].name);
    printf("\t\nNomer= ");
    scanf("%f", &mas[i].num);
    printf("\t\nVremia= ");
    scanf("%s", mas[i].o_time);
 }
Imba-Crafter
1 / 1 / 0
Регистрация: 13.10.2010
Сообщений: 38
15.10.2010, 10:04  [ТС] #5
о.. пасиб) все работает)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2010, 10:04
Привет! Вот еще темы с ответами:

Ввести массив структур; рассортировать массив в алфавитном порядке - C++
Пришел из армии восстановился в универе и тут сразу курсавай. Помогите Исходные данные(описание структуры): Информация об...

Как научить IDE Cbuilder 6 понимать русский текст (массив строк с кириллицей преобразуется в знаки вопроса)? - C++
Например массив строк с кириллицей он преобразует в занаки вопросы. Как это исправить?

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив? - C++
Допустим есть структура struct Base { int a; int b; int c; }; В основном методе main() объявим массив...

Массив структур в с++ - C++
Условие: Создать массив структур, используя данные из задания. Создать программное приложение, которое включает его обработку с...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.10.2010, 10:04
Ответ Создать тему
Опции темы

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