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

Подскажите, как правильно описать структуру и методы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Аналог перегрузки оператора индексирования (operator []) http://www.cyberforum.ru/cpp-beginners/thread1022079.html
Как по-другому(то есть в виде обычной функции или как то ещё) можно записать перегрузку оператора индексирования? Например в моём случае: float &operator (int num); float &Vector2::operator (int num) { return _vector; }
C++ Как можно по другому сделать передачу матрицы в массив? Точнее передачу матрицы в функции #include <conio.h> #include <stdio.h> #include <math.h> int EnterSize(int lim) { int n; while(1) http://www.cyberforum.ru/cpp-beginners/thread1022078.html
C++ Работа с двоичными (бинарными) файлами!
Здраствуйте. Мне нужно сделать задачу: Напишите программу, заполнив файл 10 порциями данных таких типов, чтобы описать данные о студентах: номер зачетной книги (int), название группы (char 4), фамилия (char 10), размер стипендии (float). Например 4564 PS31 Ivanov 500. И так повторить для 10 студентов. Вывести на экран и записать в файл общую сумму стипендии. Я делал но у меня что не...
C++ Как int возвести в степень?
Как int возвести в степень? и почему в стандартной pow, нет параметра int?
C++ Нахождение производной http://www.cyberforum.ru/cpp-beginners/thread1022057.html
Задача: по заданному дереву построить дерево производную. Не могу придумать алгоритм. Не могли бы вы подсказать? Например у меня есть формула ((x+x)*2) т.е. дерево .......* ...../...\ ....+....2 .../..\ ..х....х т.е в узлах лежат знаки (его я уже построил), так же помимо этого я могу выполнять арифметические операции с ним(если в нем только цифры), но не могу посчитать производную...
C++ Написать функцию, которая проверяет, является ли переданное ей число простым? Написать функцию, которая проверяет, является ли переданное ей число простым? Число называется простым, если оно делится без остатка только на себя и на единицу. подробнее

Показать сообщение отдельно
kondusov
2 / 2 / 0
Регистрация: 01.06.2013
Сообщений: 152
28.11.2013, 18:36     Подскажите, как правильно описать структуру и методы
Мне нужно описать структуру ОЧЕРЕДИ, в инфополе которой будет строка максимум 20 символов, и методы к ней. Проверьте, что не так ?:

Добавлено через 12 минут
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream>
#include <cstdlib>
using namespace std;
//СТРУКТУРА БУДЕТ ЭЛЕМЕНТОМ СПИСКА
#define MAX_LEN 20
  struct Node //или просто Звено списка
    {
       char str[MAX_LEN];//инфо данные структуры
       Node *Next; //Указатель не следующее звено
    };
 
//КЛАСС СПИСОК
 
class List
{
    Node *Head,*Tail; //Указатели на начало списка и на конец
public:
     List():Head(NULL),Tail(NULL){}; //Инициализация указателей как пустых
     ~List(); //Деструктор для освобождения памяти от всего что будет
     void Add(char str[MAX_LEN]); //Функция заполнения структуры Node и добавления её в список как элемента
     void Show(); //Функция отображения списка List 
     void del(); //Функция изъятия элемента
 
 };
 
void List::Show()
{
    Node *temp=Head; //Временный указатель на начало списка
     while (temp!=NULL) //Пока в списке что-то встречается
     {
         cout<<temp->str[MAX_LEN]<<" "; //Выводим значения из списка на экран
         temp=temp->Next; //Сдвигаем указатель на начало на адрес следующего элемента
     }
    cout<<endl;
} 
 
List::~List() //ДЕСТРУКТОР ДЛЯ ОЧИСТКИ ПАМЯТИ
{
 Node *temp=Head; //Временный указатель на начало списка
 while (temp!=NULL) //Пока в списке что-то есть
 
   {
     temp=Head->Next; //Резерв адреса на следующий элемент списка
 
     delete Head;  //Освобождение памяти от первой структуры как элемента списка
 
     Head=temp;  //Сдвиг начала на следующий адрес, который берем из резерва
 
   } 
}
 
 
//ФУНКЦИЯ ЗАПОЛНЕНИЯ ИНФОРМАЦИОННЫХ ПОЛЕЙ СТРУКТУРЫ NODE И ДОБАВЛЕНИЯ ЭТОЙ СТРУКТУРЫ В СПИСОК
 
void List::Add(char str[MAX_LEN])
{
    Node *temp=new Node; //Выделение памяти для нового звена списка
    temp->str[MAX_LEN]=str[MAX_LEN]; //Временное запоминание принятого параметра x
    temp->Next=NULL; //Указание, что следующее звено новосозданной структуры пока пустое
 
    if (Head!=NULL) //Если список не пуст 
    {
        Tail->Next=temp; //Указание, что следующее звено списка это новосозданная структура
        Tail=temp;      
    }     else Head=Tail=temp; //Если список не пуст, добавление первого элемента
}
 
//ФУНКЦИЯ ОТОБРАЖЕНИЯ СПИСКА НА ЭКРАНЕ 
 
 
 
 
//ФУНКЦИЯ ИЗЪЯТИЯ ЭЛЕМЕНТА ИЗ ОЧЕРЕДИ 
void List::del()
{
    if (Head!=NULL)  //Если список не пустой
    {
        Node *temp=Head; //Обращаемся к началу списка с помощью вспомогательного указателя
        cout<<"ЭЛЕМЕНТ "<<Head->str[MAX_LEN]<<" ВЫШЕЛ"<<endl;
        Head=Head->Next; //Сдвиг начала списка
        delete temp; //Освобождение памяти от предыдущего звена списка
    }
}
 
 
 
void main(){
    char stroka[MAX_LEN], stroka2[MAX_LEN];
   List lst;
  cin>>stroka;
  cin>>stroka2;
lst.Add(stroka);
lst.Add(stroka2);
lst.Show();
 
   system("PAUSE");
}
Добавлено через 18 минут
как сделать это без использования классов?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru