Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
1

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

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

Author24 — интернет-сервис помощи студентам
Форумчане, мне нужна ваша помощь!!! НЕ работает прога... изо всех пунктов меню правильно показывает, что список пуст лишь 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;
                }
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2011, 13:07
Ответы с готовыми решениями:

Структура современной связи как структура системы власти - как структура государственного управления
Структура современной связи всё больше становится структурой государственного управления, в...

Структура таблицы для ввода номенклатуры в БД Аксесс 2003+ структура изделия
Доброго времени суток форумчане! Продолжаю писать свою самоделку, возник вопрос: Номенклатуру в...

В текстовом файле структура – информация о компьютерах. Структура с полями: название, стоимость.
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать...

Структура проектов, структура выходного каталога и пользовательские расширения сборок
В общем есть решение из нескольких проектов. Есть зависимости от сторонних библиотек. Требуется...

3
302 / 160 / 62
Регистрация: 27.02.2010
Сообщений: 317
09.02.2011, 13:53 2
Список циклический или односвязный?
0
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
09.02.2011, 14:00  [ТС] 3
Односвязный список. Переходим по -> next и приходим к последнему. у того поле некст - 0. добавляем в начало, удаляем последний элемент
0
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
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;
        }
    }
}
2
09.02.2011, 15:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2011, 15:30
Помогаю со студенческими работами здесь

Структура «База», сущности «Универсам» и «Продукты», структура «Товар»
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и...

структура array предназначена для хранения строки типа char. Структура имеет функцию, которая позволяет изменить символ
структура array предназначена для хранения строки типа char. Структура имеет функцию, которая...

Структура DateTime, битовая структура
Условие: Структура содержит информацию о дате и времени некоторого события: struct datetime...

Структура=>Список=>Снова структура.
Определите предикат argrpl(Term,N,Arg,NTerm), заменяющий N-ый компонент в структуре Term на новый...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru