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

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

Войти
Регистрация
Восстановить пароль
 
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
#1

Структура в с++ - C++

09.02.2011, 13:07. Просмотров 940. Ответов 3
Метки нет (Все метки)

Форумчане, мне нужна ваша помощь!!! НЕ работает прога... изо всех пунктов меню правильно показывает, что список пуст лишь 3-й пункт меню. Исправьте, пожалуйста, мои ошибки, связанные с указателями( понял из текста ошибки) писал в ВС 2010. программа должна добавлять в начало списка сведения о студенте - имя, номер, а удаляет с конца(очередь). проверяет на пустоту, если не пусто - считает колличество эл-тов в списке, ищет имя студента по номеру
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
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
 
struct stud {
    char name[36];
    int number;
    stud* next;};
    
    void search (stud* first,stud* p)
    {system ("CLS");
     int a;
     if(p==NULL)
        {
         cout<<endl<<"Input student`s number: ";
         cin>>a;
         while (p->next!=0)
            {if (a==p->number) cout<<p->name;
             else p=p->next;
            }
        }
     else cout<<endl<<"Queue is empty "<<endl;
    }
 
 
    void adding(stud* first, stud* p,stud* f)
    {   system ("CLS");
        char s[36];int n;
        cout<<endl<<"Input student`s name: ";
        cin>>s; cout<<endl<<"Input student`s number: ";
        cin>>n;
        p=new stud;
        f=p->next;
        strcpy(p->name,s); p->number=n;
    }
 
    void deleting()
    {system ("CLS");
     stud* p;
     while(p)
        {if(p->next==0)
         delete p;
        }
    }
 
    void empty(stud* first)
    {   system ("CLS");
        int i=0;
        stud*p=first;
        if(p==NULL)
        {cout<<"Queue is empty "<<endl; system ("pause");}
        else {while(p)
                {if(p->next!=NULL) i++; 
                p=p->next;
                }
                cout<<endl<<"It is about "<<i+1<<"element(s) in queue";
            }
    }
        
        
 
    void main()
    {   stud* first=NULL;
        stud* p;
        stud* f;
        int sw;
        while(1){
            system ("CLS");
            cout<<"1. Add new element"<<endl<<"2. Delete last element"<<endl;
            cout<<"3. Emty?"<<endl<<"4. Search"<<endl<<"0. Exit"<<endl<<"Your choose: ";
            cin>>sw;
            switch(sw)
                {case 1:adding(first,p,f);break;
                case 2:deleting();break;
                case 3:empty(first);break;
                case 4:search(first, p);break;
                case 0:return;break;
                }
        }
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2011, 13:07     Структура в с++
Посмотрите здесь:

Структура - C++
Вот: #include &lt;iostream&gt; using namespace std; enum etype {laborer, secretary, manager, accountant, executive, researcher}; ...

структура :( - C++
Имеются сведения об m мастерских:название мастерской,количество работников,количество заказов.Определить количество мастерских с наибольшим...

Структура. - C++
Здравствуйте форумчане. Помогите с куском задачи. Имеется список участниц. и есть список опрошенных N штук которые называют трех...

структура c++ - C++
Помогите пожалуйста, в условии ошибка , но я не понимаю какая-именно #include&lt;iostream&gt; #include&lt;windows.h&gt; #include&lt;time.h&gt; ...

структура - C++
дана структура отдела кадров и сотрудников в отделе, нужно к этой структуре дописать сортировку по стажу работы и вывод сотрудников...

Структура - C++
Не работает функция определяющая находится точка в шаре или нет #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
09.02.2011, 13:53     Структура в с++ #2
Список циклический или односвязный?
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
09.02.2011, 14:00  [ТС]     Структура в с++ #3
Односвязный список. Переходим по -> next и приходим к последнему. у того поле некст - 0. добавляем в начало, удаляем последний элемент
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2011, 15:30     Структура в с++
Еще ссылки по теме:

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

Структура - C++
Описать структуру с именем TRAIN, содержащую следующие поля: Название пункта; номер поезда; Время отправления; Программа...

Структура - C++
Структура. Помогите найти ошибку #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;string.h&gt; using namespace std; ...

Структура - C++
Распечатать фамилии рабочих бригады, начинающиеся с букв А и С, с указанием их месячной зарплаты. #include &lt;iostream&gt; #include &lt;vcl.h&gt;...


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

Или воспользуйтесь поиском по форуму:
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
09.02.2011, 15:30     Структура в с++ #4
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
#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
 
struct stud {
    char name[36];
    int number;
    stud* next;
};
 
void search (stud* &first){
    system ("CLS");
    int a;
    cout<<endl<<"Input student`s number: ";
    cin>>a;
    stud *p=first;
    while (p!=NULL){
        if (a==p->number) cout<<p->name<<"\n";
        p=p->next;
    }
    system ("pause");
}
 
 
void adding(stud* &first){
    system ("CLS");
    stud *p=new stud;
    cout<<"\nInput student`s name: ";
    cin>>p->name;
    cout<<"\nInput student`s number: ";
    cin>>p->number;
    p->next=first;
    first=p;
}
 
void deleting(stud* &first){
    system ("CLS");
    if(first==NULL) return;
    if(first->next==NULL){
        delete first;
        first=NULL;
        return;
    }
    stud* tmp=first;
    while(tmp->next->next){
        tmp=tmp->next;
    }
    delete tmp->next;
    tmp->next=NULL;
}
 
void empty(stud* &first){
    system ("CLS");
    int i=0;
    stud *p=first;
    if(first==NULL){
        cout<<"Queue is empty "<<endl;
        system ("pause");
    }
    else{
        while(p->next){
            i++;
            p=p->next;
        }
        cout<<"\nIt is about "<<i+1<<" element(s) in queue"<<endl;
    }
    system ("pause");
}
 
 
 
int main(){
    stud* first=NULL;
    int sw;
    while(1){
        system ("CLS");
        cout<<"1. Add new element\n"<<"2. Delete last element\n";
        cout<<"3. Emty?\n"<<"4. Search"<<endl<<"0. Exit"<<endl<<"Your choose: ";
        cin>>sw;
        switch(sw){
            case 1: adding(first); break;
            case 2: deleting(first); break;
            case 3: empty(first); break;
            case 4: search(first); break;
            case 0: return 0; break;
        }
    }
}
Yandex
Объявления
09.02.2011, 15:30     Структура в с++
Ответ Создать тему
Опции темы

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