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

Ошибки при компилировании - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цифра в степени http://www.cyberforum.ru/cpp-beginners/thread1098797.html
Нужна помощь в создании программы которая найдет цифру в заданной степени без pow(). Я запутался создавая эту программу через циклы. Поможете?
C++ Строка, замена гласных сделал программу чтобы заменяло все гласные на 3 а преподаватель усложнил задачу и надо заменить на 33 и с тем проблема два числа писать не хочет помогите бидь Пожалуйста #include <iostream.h>... http://www.cyberforum.ru/cpp-beginners/thread1098791.html
Поиск слова на экране C++
Хочу написать программу, которая будет на экране находить слово (в текстовом формате) и выводить координаты его нахождения по осям Х У в текстовый редактор. Возможно ли это сделать? Если да, то может...
Разработать программу, которая вычисляет факториал и состоит из функций C++
я ее сделал но меня есть вопрос: 1. я сделал массив из ста элементов, а можно его сделать полностью динамический чтобы пользователь вписывал количество 2. нужно к концу выполнения писать код для...
C++ Перенос вычислений в подпрограмму http://www.cyberforum.ru/cpp-beginners/thread1098728.html
Здравствуйте, есть лаба в которой нужно найти след трёх прямоугольных матриц и вывести на экран наибольший их них. Вычисления нужно оформить как подпрограмму. Как это сделать? #include <stdio.h>...
C++ GotoXY в GCC ДОБРОГО ВРЕМЕНИ СУТОК !!! Я использую GCC и мне нужно использовать функцию GotoXY. В GCC нет библиотеки conio.h. Прошу дать код данной функции. Заранее спасибо !!! подробнее

Показать сообщение отдельно
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
17.02.2014, 16:30  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Код-то покажите.
файл types.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef TYPES_H
#define TYPES_H
 
#include <string>
 
using namespace std;
 
typedef
    struct Stud{
        string bludo;
        string strana;
        int kalor;
        Stud *next;
    }TStud;
 
typedef
    struct{
        char bludo[20];
        char strana[20];
        int kalor;
    }TStudFile;
 
#endif // TYPES_H
файл functions.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
 
#include "types.h"
 
void initList(TStud * &Start);
void showList(TStud * &Start);
void addToSort(TStud * &Start, TStud * PNew);
void delFromSortList(TStud * &Start, string key);
bool findInSortList(TStud * Start, string key, TStud * &pp, TStud * &wp);
void delFromSortListDublicat(TStud * &Start, string key);
void saveListToFile(TStud * Start);
TStud* restoreListFromFile();
TStud * copyList(TStud * Start);
void invertList(TStud * &Start);
#endif // FUNCTIONS_H
файл functions.cpp
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#include "types.h"
#include <iostream>
#include <QFile>
 
void initList (TStud * &Start){
    Start=NULL;
}
 
void showList(TStud * &Start){
    TStud *pp, *wp;
 
    wp=Start;
    pp=NULL;
 
    while(wp!=NULL){
        cout.width(10);
        cout<<wp->bludo<<": "<<wp->strana<<" "<<wp->kalor<<endl;
        cout<<endl;
        pp=wp;
        wp=wp->next;
    }
}
 
void addToSort(TStud * &Start, TStud * PNew){
    TStud *pp, *wp;
 
    wp=Start;
    pp=NULL;
 
    while(wp!=NULL && PNew->bludo > wp->bludo){
        pp=wp;
        wp=wp->next;
    }
    if(pp==NULL)
        Start=PNew;
    else
        pp->next=PNew;
    PNew->next=wp;
}
 
void delFromSortList(TStud * &Start, string key){
    TStud *pp, *wp;
 
    wp=Start;
    pp=NULL;
    while(wp!=NULL && key > wp->bludo){
        pp=wp;
        wp=wp->next;
    }
    if(wp==NULL || wp->bludo!=key)
        return;
    if(pp==NULL)
        Start=wp->next;
    else
        pp->next=wp->next;
    delete wp;
}
 
bool findInSortList(TStud * Start, string key, TStud * &pp, TStud * &wp){
    wp=Start;
    pp=NULL;
 
    while(wp!=NULL){
        if (key<=wp->bludo)
        {break;}
        else{
            pp=wp;
            wp=wp->next;
        }
    }
if(wp!=NULL && wp->bludo==key)
    return true;
else
    return false;
}
 
void delFromSortListDublicat(TStud * &Start, string key){
    TStud *pp, *wp, *delP;
    while(Start!=NULL && Start->bludo==key){
        delP=Start;
        Start=Start->next;
        delete delP;
    }
    pp=Start;
    wp=Start->next;
    while(wp!=NULL && wp->bludo < key){
        pp=wp;
        wp=wp->next;
    }
    while(wp!=NULL && wp->bludo == key){
        delP = wp;
        pp->next=wp->next;
        delete delP;
        wp=pp->next;
    }
}
 
void saveListToFile(TStud * Start){
    FILE *f;
    f=fopen("list","w+b");
    TStudFile studF;
    TStud *wp=Start;
    while(wp!=NULL){
        studF.kalor = wp->kalor;
        strcpy(studF.strana, wp->strana.c_str());
        strcpy(studF.bludo, wp->bludo.c_str());
        fwrite(&studF, sizeof(TStudFile), 1, f);
        wp=wp->next;
    }
    fclose(f);
}
 
TStud* restoreListFromFile(){
    FILE * f;
    f = fopen("list","r+b");
 
    TStudFile studF;
    TStud * wp;
    TStud * pNew;
    TStud* newStart = NULL;
    while (feof(f)== false)
      {
        fread(&studF,sizeof(TStudFile), 1, f );
 
        pNew=new TStud;
 
        pNew->strana=studF.strana;
        pNew->kalor=studF.kalor;
        pNew->bludo=studF.bludo;
 
        if (newStart == NULL)
           {
             newStart=pNew;
           }
        else
           {
              wp->next=pNew;
           }
        wp=pNew;
      }
     wp->next=NULL;
    fclose(f);
    return newStart;
}
 
TStud * copyList(TStud * Start)
{
    TStud * wp, * pLast, * pNew, * Start2;
    if (Start == NULL)
       {
          return NULL;
       }
    Start2 = new TStud;
    *Start2 = *Start;
    Start2->next=NULL;
    pLast=Start2;
    wp=Start->next;
    while (wp != NULL)
        {
           pNew = new TStud;
           *pNew = *wp;
           pNew->next = NULL;
           pLast->next = pNew;
           pLast = pNew;
           wp = wp->next;
        }
    return Start2;
}
 
void invertList(TStud * &Start){
    TStud *wp1, *wp2, *wp3;
    if (Start == NULL || Start->next==NULL)
        return;
    wp1=Start;
    wp2=Start->next;
    wp3=wp2->next;
    Start->next=NULL;
 
    while (wp3!=NULL){
        wp2->next=wp1;
        wp1=wp2;
        wp2=wp3;
        wp3=wp2->next;
    }
    wp2->next=wp1;
    Start=wp2;
}
файл main.cpp
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include "functions.h"
#include "types.h"
#include "windows.h"
#include <iostream>
 
TStud * Start;
 
void add(TStud * &Start);
void delElement(TStud * &Start);
void find (TStud * &Start);
void delElementDublicat(TStud * &Start);
 
int main(){
    char ch;
    do{
        system("cls");
        SetConsoleTitleA("Лабораторная №2");
        cout<<"Выберите операцию со списком: \n";
        cout<<endl;
        cout<<"1.Инициализация списка\n";
        cout<<endl;
        cout<<"2.Добавление элемента в отсортированный список\n";
        cout<<endl;
        cout<<"3.Удаление элемента списка\n";
        cout<<endl;
        cout<<"4.Удаление элемента с дубликатами из списка\n";
        cout<<endl;
        cout<<"5.Поиск по названию блюда\n";
        cout<<endl;
        cout<<"6.Сохранения списка в файл\n";
        cout<<endl;
        cout<<"7.Восстановление списка из файла\n";
        cout<<endl;
        cout<<"8.Создание копии списка\n";
        cout<<endl;
        cout<<"9.Инвертирование списка.\n";
        cout<<endl;
        cout<<"0.Вывод списка на экран\n";
        cout<<endl;
        cout<<"---------------------------------\n";
        cout<<endl;
        cout<<"Выберите операцию для списка \n";
        cin>>ch;
        switch(ch){
            case '1': initList(Start);
               cout<<endl;
               cout<<"Инициализация прошла успешно\n";
               cout<<endl;
               break;
            case '2': add(Start); break;
            case '3': delElement(Start);
                  cout<<endl;
                  cout<<"Удаление прошло успешно\n";
                  cout<<endl;
                  break;
           case '4':delElementDublicat(Start);
            cout<<endl;
            cout<<"Удаление прошло успешно\n";
            cout<<endl;
           case '5': find(Start);
                cout<<endl;
                break;
           case '6':saveListToFile(Start);
             cout<<endl;
             break;
           case '7':restoreListFromFile();
             cout<<endl;
             break;
           case '8':copyList(Start);
             cout<<endl;
             break;
           case '9':invertList(Start);
             cout<<endl;
             break;
           case '0': showList(Start);
                  break;}
        cout<<"\nДля продолжения нажмите *";
        cin>>ch;
    }while(true);
    return 0;
}
 
void add(TStud * &Start){
    TStud *PNew = new TStud;
    cout<<"\nВВОД ИНФОРМАЦИИ О НОВОМ ЭЛЕМЕНТЕ: ";
    cout<<endl;
    cout<<"\nВведите блюдо: ";
    cin>>PNew->bludo;
    cout<<"\nВведите страну: ";
    cin>>PNew->strana;
    cout<<"\nВведите количество калорий: ";
    cin>>PNew->kalor;
    cout<<"\n";
    addToSort(Start, PNew);
    cout<<"\nДобавление прошло успешно! ";
    cout<<"\n";
    cout<<"\nСОДЕРЖИМОЕ СПИСКА:\n";
    cout<<"\n";
    showList(Start);
}
 
void delElement(TStud *&Start){
    string key;
    cout<<"\nВВОД ИНФОРМАЦИИ ОБ УДАЛЯЕМОМ ЭЛЕМЕНТЕ: ";
    cout<<endl;
    cout<<"\nВведите блюдо для удаления: ";
    cin>>key;
    cout<<"\n";
    delFromSortList(Start, key);
    cout<<"\nУдаление прошло успешно! ";
    cout<<"\n";
    cout<<"\nСОДЕРЖИМОЕ СПИСКА:\n";
    cout<<"\n";
    showList(Start);
}
 
void delElementDublicat(TStud * &Start){
    string key;
    cout<<"\nВВОД ИНФОРМАЦИИ ОБ УДАЛЯЕМОМ ЭЛЕМЕНТЕ: ";
    cout<<endl;
    cout<<"\nВведите блюдо для удаления: ";
    cin>>key;
    cout<<"\n";
    delFromSortListDublicat(Start, key);
    cout<<"\nУдаление прошло успешно! ";
    cout<<"\n";
    cout<<"\nСОДЕРЖИМОЕ СПИСКА:\n";
    cout<<"\n";
    showList(Start);
}
 
void find(TStud *&Start){
    string key;
    TStud *pp, *wp;
    cout<<"\nВВОД ИНФОРМАЦИИ ДЛЯ ПОИСКА: ";
    cout<<endl;
    cout<<"\nВведите блюдо для поиска: ";
    cin>>key;
    cout<<"\n";
    if(!findInSortList(Start, key, pp, wp)){
        cout<<"БЛЮДО "<<key<<" В СПИСКЕ ОТСУТСТВУЕТ."<<endl;
    }
    else{
        cout<<"\nПоиск успешен! ";
        cout<<"\n";
        cout<<"\nИНФОРМАЦИЯ О НАЙДЕННОМ ЭЛЕМЕНТЕ: \n";
        cout<<"\n";
        cout<<"БЛЮДО: "<<key<<endl;
        cout<<endl;
        cout<<"КОЛИЧЕСТВО КАЛОРИЙ: "<<wp->kalor<<endl;
        cout<<endl;
    }
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.