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

Список - вперёд в С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ сегментация http://www.cyberforum.ru/cpp-beginners/thread655822.html
dev ругался на system("PAUSE") изменила на getc(stdin)....итог один___---windows выдает ошибку и прекращает работу...."Ваша программа вызвала нарушение доступа (ошибку сегментации)". #include<stdio.h> #include<conio.h> #include <cstdlib> #include<time.h> #include<iostream> #define MaxX 100 #define MaxY 100
C++ Оптимизация кода, массивы и циклы Занимаюсь программированием совсем немного, решил потренироватся. Написал консольное приложение в духе "Matrix". Там объявленно отдельно множество переменных: #include <iostream> #include <windows.h> #include <ctime> using namespace std; int turn = 0; int i = 0; int sv = 100; http://www.cyberforum.ru/cpp-beginners/thread655819.html
C++ Записать в конец файла
Сделал всё по гайду: #include <fstream> #include <iostream> #include <cstdlib> #include <sstream> #include <string> using namespace std; int main()
Синтаксический редактор C++
Здравствуйте пишу с просьбой помочь в реализации программки на С или С++ быть может кто либо уже делал подобное вобщем нужно реализовать!!! Синтаксический редактор. Предоставляются тексты в нескольких файлах а программа будет искать все орфографические и пунктуационные ошибки После чего будет выводить правильный текст и число найденных и исправленных ошибок
C++ ошибка.должена выйти из функции, но что-то не то http://www.cyberforum.ru/cpp-beginners/thread655805.html
#include <iostream> #include <conio.h> using namespace std; int nod(int a,int b) { int tmp; if(a!=b) { if(a>b) {
C++ количество символов как сделать лимит на количество символов в строке при выводе? подробнее

Показать сообщение отдельно
Prostoplus
 Аватар для Prostoplus
11 / 1 / 0
Регистрация: 21.09.2012
Сообщений: 122
21.09.2012, 21:35     Список - вперёд в С++
Здравствуйте! Помогите с созданием списка - вперед (в динамической памяти) в С++.
Мой Visual Studio 2012 то отказывается корректно принимать указатели, переменные ...
Задание: Сформировать связной список – вперёд перечня доступных меблей в магазине.
Для каждого элемента указать название, цену, материал и производителя. Иметь возможность дополнить запись в список и удалить запись со списка.

Если это возможно, помогите реализовать выборку, просмотр стека.

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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstdio>
#include <conio.h>
using namespace std;
 
 
//-----------------------------------------------------------------
struct shop
{
    int key;
    char name[10];      //Название
    float price;                    //Цена
    char material[15];  //Материал
    char maker[20];         //Производитель
    struct shop *next;  //указатель на следующий элемент списка
}shoping;
//-----------------------------------------------------------------
//ФУНКЦИИ
int menu();
void enter(shop **nov); //Добавление --!!!-???
void view();
/*int del(shop **top);  //Выборка из стека*/
shop *first (int d); //Формирование первого new - элемента
 
//-----------------------------------------------------------------
int main()
{
    setlocale (0, "Rus");
 
    shop *top = NULL; //Начальная иницаилизация ук.-вершины 0 адресом
    top = first(1);
    char choice;
    shop *nov1;
    for (;;)
    {
        choice = menu();
        switch (choice)
        {
        case 'e': enter(&nov1); //-!!!-бывает ошибка при вызове функции???
            break;
        case 'v': view();
            break;
        /*case 'd': del();
            break;*/
        case 'q': cout<<"\nСпасибо за использование программы!\n";
            system ("PAUSE");
            return 0;
        }
    }
}
 
//--------------------------------------------------------------
 
int menu ()
{
    char ch;
    do 
    {
        
        cout<<"Программа предназначена для учёта мебели в магазине.\n\n";
        cout<<"Пожалуйста, вводите данные на латинице!!!\n\n";
        cout<<"Выберие действие:\n"
            <<"\"E\" Ввод данных;\n"
            <<"\"V\" Просмотр списка;\n"
            <<"\"D\" Удаление єлемента;\n"
            <<"\"Q\" Выход;\n\n";
        cout<<"Сделайте выбор: "; cin>>ch;
        if (!strchr ("evdq", tolower(ch)))
        {
                cout<<"\nВыбор сделан НЕ ВЕРНО!!!\n";
                system ("PAUSE");
                system ("cls");
        }
    } while (!strchr ("evdq", tolower(ch)));
return tolower (ch);
}
 
//------------------------------------------------------------
//Начальное формирование
shop *first(int d)
{
    shop *s=0; //Без инициализации не катит???
    //shop *pv=new shop;    //Создаем элемнт: структура
    s->key = d;     //Присваиваем полю данных значения
    s->next = 0;        //Первый элемент даёт признак конца стека NULL. Нужно при выборке.
    cout<<s->key<<' ';
    return s;           //Возвращаем адрес структуры
}
 
//-------------------------------------------------------------
 
void enter (shop *nov) //Вставка в стэк элемент
{
    system ("cls");
    //shop *new_shop;
    
    //shop *pv;         //Создаем элемент - структура
    //new_shop = malloc (sizeof (shop));
    shop new1; //---!!!---???
    //nov =  malloc (sizeof (shop)); ---!!!---???--не компилируется???
    new1= *nov; //--!!!--???
    cout<<"Введите название: "; cin>>nov->name; //ОШИБКА!!! при вводе
    cout<<"\nВведите цену: "; cin>>nov->price;          
    cout<<"\nВведите материал: "; cin>>nov->material;   /*pv->material = material;*/
    cout<<"\nВведите производителя:"; cin>>nov->maker;  /*pv->maker = maker;*/
    /* Заносим данные*/
    shop *top;
    nov->next = top;        //Созданный элемент связывается с эл, который на вершине
//  top = nov;              //Созданные эл помещается на вершину вместо старой вершины
 
    system ("cls");
}
//-------------------------------------------------------------
 
void view ()
{
    system ("cls");
    cout<<"\nПросмотр запущен!\n";
    system ("PAUSE");
}
 
//------------------------------------------------------------
 
/*int del (shop **top)
{
}*/
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru