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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка при работе с динамическим массивом http://www.cyberforum.ru/cpp-beginners/thread585822.html
Всем доброго времени суток! Для осуществления алгоритма нужно ипользовать массив размерностью 639х479. Я использую динамический массив, который заполняется либо нулями, либо единицами. Кусок кода: int**T=new int*; for (l=0; l<maxy; l++) { printf("\n"); T=new int; for (k=0; k<maxx; k++) {
C++ Определить четные порядковые номера и являющихся нечетными числами Даны натуральные числа n, A 1, A2 , ..., An . Определить количество членов Ak последовательности A1 , ..., An :имеющих четные порядковые номера и являющихся нечетными числами; #include <stdio.h> #include <math.h> main() { int n; /* количество чисел */ int a, /* очередное число */ s=0, /* сумма */ ... http://www.cyberforum.ru/cpp-beginners/thread585815.html
C++ Создать двоичный файл и записать в него n целых чисел
Создать двоичный файл и записать в него n целых чисел. Из исходного файла сфор- мировать массивы четных и нечетных чисел. Определить наибольший четный ком- понент файла и наименьший нечетный. P.S. Напишите пожалуйста на уровне 1 курса
C++ Строки: определить сколько симметричных пятибуквенных слов в строке
Дана фраза. Определить,сколько в ней симметричных пятибуквенных слов. Добавлено через 3 часа 56 минут ПОмогите,кто-нибудь!!! Пожалуйста!!! Добавлено через 20 секунд ПОмогите,кто-нибудь!!! Пожалуйста!!!
C++ Ошибка: невозможно создать объект абстрактного класса http://www.cyberforum.ru/cpp-beginners/thread585783.html
программа для заменны слова в файле, на введенное с клавы слово!реализовать нужно через интерфейс! ошибка в строчке Text edit; не получается создать экземпляр класса!( подскажите, что не так сделал??? спасибо! #include <stdio.h> #include <conio.h> #include <iostream>
C++ Найти среднее арифметическое положительных элементов массива (a1,a2,…,aN) Найти среднее арифметическое положительных элементов массива (a1,a2,…,aN). Пока хотел сделать без учета положительных элементов массива, но при вычислении, почему то выдает неверный результат. Помогите пожалуйста с задачей. #include <iostream.h> #include <math.h> main() { подробнее

Показать сообщение отдельно
Kovrik15
2 / 2 / 0
Регистрация: 24.05.2012
Сообщений: 30
25.05.2012, 03:07  [ТС]     Заполнение массива структур с консоли
Цитата Сообщение от Andrey.K Посмотреть сообщение
А зачем столько много массивов объектов, причем каждый раз новывй создавать. надо работать с одним массивом.
ну у меня вот такое задание

Разработать программу, реализующую алгоритм очереди (20 элементов). Задача решается в двух вариантах: статическом (на основе массива структур) и динамическом. Реализовать алгоритм кольцевой очереди на основе динамического списка. В качестве элемента очереди выбрать структуру, соответствующую индивидуальному варианту.
Предусмотреть заполнение очереди из файла (подготовить файл на 20 элементов).
Предусмотреть многоуровневое меню:
1) Заполнение очереди
a) с консоли (циклически)
b) из файла (выбор файла, тек. папка, любая папка)
2) Удаление элемента из очереди (циклически)
a) безвозвратно
b) с сохранением в файл
3) Очистка очереди (с выводом удаляемых элементов)
a) безвозвратно
b) с сохранением в файл
4) Вывод элементов, содержащихся в очереди
a) на экран
b) в файл
5) Вывод количества элементов в очереди
6) Сдвиг всех элементов очереди к началу при наличии пустых мест в начале очереди (для статического варианта)
7) Выход

подскажите что не так и что лучше было бы исправить

Добавлено через 3 часа 47 минут
код исправил, всё что там было работает.
только возникла новая проблема...
Разработать программу, реализующую алгоритм очереди (20 элементов). Задача решается в двух вариантах: статическом (на основе массива структур) и динамическом.
что-то мне кажется не правильно сделал...
обьясните пожалуйста что такое статический и динамический вариант очереди... боюсь что я не так понял и придется переделывать...

на всякий случай код того что у меня получилось, как я понял задание.
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const int n=1;
 
struct tovar
{
    int nomer;
    char naim[10];
    char edizm[10];
    int kolvo;
    int cena;
};
 
 
void vvod(int n,tovar* tov);
//void consol();
void consolVvod(int n,tovar* tov);
void vFile();
void vivodEkran(int n,tovar* tov);
//void delElem();
//void clean();
void vyvodElem(int n,tovar* tov);
//void vyvodColich();
//void sdvig();
void FromFile();
void main()
 
{
    setlocale(LC_ALL,"Russian");
 
    tovar* tov=new tovar[n];
    char deistv;
 
 
 
    while (true)
{
    system("cls");      
    cout<<"\n"; 
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  1  |Заполнение очереди:                    |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  2  |Удаление элемента из очереди;          |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  3  |Очистка очереди;                       |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  4  |Вывод элементов содержащихся в очереди;|\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  5  |Вывод количества элементов в очереди;  |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  6  |Сдвиг элементов очереди к началу;      |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"                 |  7  |Выход;                                 |\n";
cout<<"                 |-----|---------------------------------------|\n";
cout<<"\n";
cin>>deistv;
switch(deistv)
    {
    case '1': vvod(n,tov);break;
//  case '2': delElem();break;
//  case '3': clean(); break;
    case '4': vyvodElem(n,tov);break;
//  case '5': vyvodColich();break;
//  case '6': sdvig();break;
    case '7': exit(0);
    }
}
    
}
 
 
void vvod(int n,tovar* tov)
{
    
    char vibor;
    cout<< " 1 - с консоли \n";
    cout<< " 2 - из файла \n" ;
    cin>>vibor;
    switch(vibor)
    {
    case '1': consolVvod(n,tov);break;
    case '2': FromFile();break;
    }
}
 
void consolVvod(int n,tovar* tov)
{
    //int n=5;
    //cout<<"Введите размер массива:" ;cin>>n;
//    tovar* tov=new tovar[n];
    for(int i=0;i<n;i++)
    {
        cout<<"Введите номер: ";cin>>tov[i].nomer;
        cout<<"Введите наименование: ";cin>>tov[i].naim;
        cout<<"Введите единици измерения: ";cin>>tov[i].edizm;
        cout<<"Введите количество: ";cin>>tov[i].kolvo;
        cout<<"Введите цену: ";cin>>tov[i].cena;
        cout<<endl;
    }
}
 
void FromFile()
{   
    
   }
 
void vyvodElem(int n,tovar* tov)
{
 
    char VibViv;
    cout<< "Выберите куда выводить элементы \n";
    cout<< "1 - на экран \n";
    cout<< "2 - в файл \n";
    cin>>VibViv;
    switch(VibViv)
    {
    case '1': vivodEkran(n,tov);break;
    case '2': vFile();break;
    }
}
void vivodEkran(int n,tovar* tov)
{
    cout<<"Список товара:\n";
    for(int i=0;i<n;i++)
    {
      cout<<"Номер:            |"<<tov[i].nomer<<";\n";
      cout<<"Наименование:     |"<<tov[i].naim<<";\n";
      cout<<"Еденицы измерения:|"<<tov[i].edizm<<";\n";
      cout<<"Количество:       |"<<tov[i].kolvo<<";\n";
      cout<<"Цена:             |"<<tov[i].cena<<";\n";
      cout<<endl;
    }
    system("pause");
}
void vFile()
{
}
 
Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru