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

Моделирование защиты работ студентами - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
♠black heart♠
1 / 1 / 0
Регистрация: 31.01.2010
Сообщений: 22
21.04.2010, 14:11     Моделирование защиты работ студентами #1
помогите пожалуста решить задачу буду очень признателен:
Учебная группа из N человек защищает индивидуальные задания, выполненные ко дню защиты. Всего заданий было 3. Каждый студент желает защитить одно или несколько заданий. Преподаватель за один подход принимает только одно задание.
Разработать функцию, которая формирует очередь студентов к преподавателю после одной защиты при условии, что студент становится в хвост очереди, если после защиты у него остались незащищенные задания.
Разработать программу, моделирующую защиту заданий всеми студентами группы при условии, что в группе не более 20 человек.
или пришлите на lizunovd@mail.ru спасибо заранее
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2010, 14:11     Моделирование защиты работ студентами
Посмотрите здесь:

C++ Сформировать массив, содержащий сведения о сдаче студентами сессии
C++ Настрока защиты WinNT
C++ Список контрольных работ
C++ Библиотеки и методы защиты
Метод защиты от дурака C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
♠black heart♠
1 / 1 / 0
Регистрация: 31.01.2010
Сообщений: 22
23.04.2010, 08:31  [ТС]     Моделирование защиты работ студентами #21
плиз помогите решить.....

Добавлено через 49 минут
просто мысль подкиньте как через структуры решить!!!!!

Добавлено через 13 часов 50 минут
plz help!!!!!!!!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.04.2010, 11:19     Моделирование защиты работ студентами #22
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct student {
    char name[100];
    int jobs[3];
    int cmpltflag;
};
 
struct node {
    struct student data;
    struct node *next;
};
 
struct queue {
    struct node *head, *tail;
};
очередь

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
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct node {
    char *p;
    struct node *next;
};
 
struct queue {
    struct node *head, *tail;
};
 
void CreateQueue(struct queue *pq);
void ClearQueue(struct queue *pq);
int PutQueue(struct queue *pq, struct node *pn);
int GetQueue(struct queue *pq, struct node *pn);
 
/* creates a queue, puts there some elements
   reads the queue and prints every element */
int main(void)
{
    struct queue q;
    struct node n = { "one", NULL };
    struct node m = { "two", NULL };
    
    CreateQueue(&q);
    
    PutQueue(&q, &n);
    PutQueue(&q, &m);
    PutQueue(&q, &n);
    PutQueue(&q, &m);
    PutQueue(&q, &n);
    PutQueue(&q, &m);
        
    while (GetQueue(&q, &n) != 0)
        printf("%s" "\n", n.p);
    
    return EXIT_SUCCESS;
}
 
/* CreateQueue:  creates a clear queue pq */
void CreateQueue(struct queue *pq)
{
    pq->head = pq->tail = NULL;
}
 
/* ClearQueue:  clears a queue pq */
void ClearQueue(struct queue *pq)
{
    struct node *tmp;
    
    while ((tmp = pq->head) != NULL) {
        pq->head = tmp->next;
        free(tmp);
    }
    pq->tail = NULL;
}
 
/* PutQueue:  puts to a queue pq a node pn;
              returns 1 or 0 */
int PutQueue(struct queue *pq, struct node *pn)
{
    struct node *tmp;
    
    tmp = (struct node *) malloc(sizeof(struct node));
    
    if (tmp == NULL)
        return 0;
    
    *tmp = *pn;
    tmp->next = NULL;
    
    if (pq->head == NULL)
        pq->head = pq->tail = tmp;
    else {
        pq->tail->next = tmp;
        pq->tail = tmp;
    }
    
    return 1;
}
 
/* GetQueue:  gets from a queue pq a node pn;
              returns 1 or 0 */
int GetQueue(struct queue *pq, struct node *pn)
{
    struct node *tmp;
    
    if (pq->head == NULL) {
        pq->tail = NULL;
        return 0;
    }
    
    tmp = pq->head;
    *pn = *tmp;
    pq->head = tmp->next;    
    free(tmp);
    
    return 1;
}
♠black heart♠
1 / 1 / 0
Регистрация: 31.01.2010
Сообщений: 22
23.04.2010, 15:09  [ТС]     Моделирование защиты работ студентами #23
он мне выдаёт ошибки, я не могу разобраться


multiple declaration for 'node'
multiple declaration for 'queue'
'p' is not a member of 'node'
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2010, 03:49     Моделирование защиты работ студентами
Еще ссылки по теме:

Реализация защиты выхода за границы массива C++
Какие механизмы для защиты кучи есть? C++
C++ Создать файл, содержащий сведения о сдаче студентами сессии

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

Или воспользуйтесь поиском по форуму:
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.04.2010, 03:49     Моделирование защиты работ студентами #24
очередь просто показывает пример очереди
Yandex
Объявления
24.04.2010, 03:49     Моделирование защиты работ студентами
Ответ Создать тему
Опции темы

Текущее время: 11:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru