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

Сформировать список студентов института - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести количество пробелов между словами в строке http://www.cyberforum.ru/cpp-beginners/thread19350.html
:help:Помогите с программой:пользователь вводит строчку,а программа выводит кол-во пробелов между словами в строке. #include "stdafx.h" #include <algorithm> #include <iostream> #include <string>...
C++ Не работает запись в файл Нужно сохранить данные в файл а при запуске проги выводится сообщение что файл не найден. Как прописать путь к файлу, если он лежит на диске С в виндовс XP? (На федоре работает) Вот кусок программы... http://www.cyberforum.ru/cpp-beginners/thread19348.html
C++ Посчитать к-во точек, попавших в круг с радиусом R и с центром в начале координат
Срочно нужна помощь в создании программы для C++Builder. Условие такое: Заданы координаты точек x1 y1 x2 y2 ... ... ...
C++ Написать программу, определяющую принадлежит ли точка части плоскости C(не C++)
Чуваки! Срочно помощь нужна, кто чем может. До пятницы надо успеть сдать лабораторки кое-какие... Незнаю как делать, точнее так себе... :wall: Вот задачи: ТЕМА: ОПЕРАТОРЫ УПРАВЛЕНИЯ. ...
C++ Набор действий с двоичным деревом http://www.cyberforum.ru/cpp-beginners/thread19339.html
задача заключается в том что бы написаиь программу реализующую набор действий с двоичным деревом а именно..ввод,вывод,добавление и удаление вершин,обход дерева....буду оч благодарен:rtfm:
C++ Распаковка 32 битного числа Реализовали такой алгоритм запаковки со всякими сдвигами. В файл пишется блоками по 17 байт, в которые зашито 8 32-битных чисел. int coder(long *ar(массив данных long, который пакуют),unsigned... подробнее

Показать сообщение отдельно
Кузьма
0 / 0 / 0
Регистрация: 22.12.2008
Сообщений: 16
23.12.2008, 00:07  [ТС]
Я понял это!ТАк я могу делать!Если не трудно то можно сделать не одну группу о много!И использовать calloc и указатели!

Добавлено через 1 минуту 8 секунд
Вот у меня готовый код для структуры не динамической !
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
#include<conio.h>
#include<stdio.h>
#include <stdlib.h>
#include<dos.h>
       int i;
struct list
{
    char fac1[5];
       /*    char grup1 [5];
    char FIO1[15];
    char adres1 [15];
    char god1 [15];
    char mec1 [15];*/
    list *next;
}list1; list *first=0, *cur=0;
 
int IsEmpty()
{
    return first==NULL;
}
 
void GoToPrev()
{
    if(IsEmpty())
    {
        printf("\nSpicok pust");
        getch();
    return;
    }
    if(cur==first)
    return;
    list *tmp;
    tmp=new list;
    tmp=first;
    while(tmp->next!=cur)
    tmp=tmp->next;
    cur=tmp;
}
 
 
void AddFirst(char fac[5])
{
    list *tmp,*p;
    //tmp=new list;
       tmp=(list*)calloc(1,sizeof(list));
    tmp->fac1[5]=fac[5];
    tmp->next=first;
    first=cur=tmp;
}
 
void AddAfterCur(char fac)
{
       /*    if(IsEmpty())
    {
    AddFirst(char fac[5]);
        return;
    }*/
    list *tmp;
    tmp=new list;
    tmp->fac1[5]=fac;
    tmp->next=cur->next;
    cur->next=tmp;
    cur=tmp;
}
 
int IsEnd()
{
    return cur->next==NULL;
}
 
void Move()
{
    if(IsEnd())
    {
        printf("\nDoctognyt koets spiska");
        getch();
        return;
    }
    cur=cur->next;
}
 
void GoToFirst()
{
    cur=first;
}
 
char GetElem()
{
    return cur->fac1[5];
}
 
void DeleteFirst()
{
    list *tmp;
    tmp =new list;
    tmp=first->next;
    delete first;
    first=tmp;
}
 
void DeleteCur()
{
    if(IsEmpty())
    {
        printf("\nSpisok pust. Delete unreal");
        getch();
        return;
    }
    list *tmp;
    tmp=new list;
    if(cur==first)
    {
        DeleteFirst();
        return;
    }
    else
    {
        tmp=cur;
        GoToPrev();
        cur->next=tmp->next;
        delete tmp;
    }
}
 
void Print()
{
    if(IsEmpty())
    return;
    list *tmp;
    tmp=first;
    do
    {
        printf(" %s  ",tmp->fac1);
        tmp=tmp->next;
    }
    while(tmp!=NULL);
}
 
main()
{
    first=NULL;
    cur->next=NULL;
    cur=first;
 
             char fac[5];
            char grup [5];
            char FIO [15];
            char adres [15];
            char god [15];
            char mec [15];
    char a;
    do
    {
        delay(1000);
        clrscr();
        int val;
        Print();
        printf("\nChoose and put :\n\t0 - Return na pred element;\n\t1 - Add elementa v nachalo;\n\
    2 - Add elementa posle tekychego;\n\t3 - View element;\n\
    4 - Delete tekychego elementa;\n\t5 - Goto following element:\n\
    6 - Goto na nachalo spiska;\n\t7 - Revizion dostizenya kontsa spiska;\n\
    8 - Revizion unfull spiska;\n\t\n\
    Esc - EXIT\n");
        a=getch();
        switch (a)
        {
            case '1':
                printf("\nVvedite dannie o studente :\nFacultet: ");
                scanf("%s",fac[5]);
                AddFirst(fac);
            break;
            case '2':
                printf("\nVvedite znacenie:\n");
                scanf("%i",&val);
                AddAfterCur(val);
            break;
            case '3':
                if(IsEmpty())
                    printf("\nSpisok unfull");
                else
                    printf("\nZnachenie tekychego elementa pavno %i",GetElem());
                getch();
            break;
            case '4':
                DeleteCur();
            break;
            case '5':
                Move();
            break;
            case '6':
                GoToFirst();
            break;
            case '7':
                if(IsEnd())
                    printf("\nDostignyt konets spiska");
                else
                    printf("\nKonets spiska undostignyt");
                getch();
            break;
            case '8':
                if(IsEmpty())
                    printf("\nSpisok unfull");
                else
                    printf("\n V spiske est elementu");
                getch();
            break;
            /*case '9':
                MaxData(q);
            break; */
            case '0':
                GoToPrev();
            break;
        }
    }
    while (a!=27);
    return 0;
}
Добавлено через 57 секунд
Можно его переделать под мое условие!Если необходимо знать какие функции что делают я напишу!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.