С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

09.02.2011, 13:07. Просмотров 956. Ответов 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;
                }
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2011, 13:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структура в с++ (C++):

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

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

Структура DateTime, битовая структура - C++
Условие: Структура содержит информацию о дате и времени некоторого события: struct datetime { unsigned short Year; // год ...

Структура, доступная из всех файлов проекта ("глобальная" структура) - C++
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void...

структура - C++
Описать структуру с именем ZNAK, содержащую следующие поля:  фамилия, имя;  знак Зодиака;  дата рождения (массив из 3 чисел). ...

Структура - C++
typedef struct strs { char c; strs *next; int inset; }xx; Ошибка при компиляции:

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

Структура - C++
Помогите нада делать на понедельник известные данные о численности населения и площадь каждой из 7 держав.Визначте название страны с...

Структура - C++
Всем привет. Помогите доделать задачу.Вот ее краткое условие:Дана структура учащихся включающая в себя имя и фамилию ученика, номер его...

Структура - C++
Информация о хранящихся на складе товарах состоит из: 1) инвентаризационного номера; 2) наименование товара; 3) количество в штуках; 4)...

Си, структура - C++
Привет всем =) Помогите пожалуйста решить задачку на структуру... Определить структуры, описывающие шар и точку в трехмерном...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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