![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 15.12.2011
Сообщений: 5
|
![]()
Помогите пожалуйста !!! не могу написать!!! а надо срочно !!!! написать нужно в с++
Театральная база данных. Информация: актеры — фамилия, имя, отчество, дата рождения, список спектаклей, в которых занят актер, роли, исполняемые в данных спектаклях; спектакли — автор пьесы, название, постановщик, список действующих лиц и исполнителей; афиша — название спектакля, дата, время; билеты — дата, количество билетов разного типа (партер, ложи, балкон и др.). Операции: коррекция списка актеров и списка спектаклей; составление и коррекция афиши; продажа билетов на спектакли; справки (участие актеров в различных постановках, информация по спектаклям и др.). |
![]() |
![]() |
![]() |
#2 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]()
Тебе во фриланс.
Бесплатно таким вряд ли кто-то будет заниматься.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 15.12.2011
Сообщений: 5
|
![]()
вот начало кода, незнаю как делать коррекцию, а именно коррекция списка актеров и списка спектаклей; составление и коррекция афиши
#include "Shared.h" #include <string.h> //рассчёт количества дней в m-месяце y-года. int DaysInMonth(int year, int month) { if (month != 2) { return ((month%2) ^ (month>7)) + 30; } else { if (!(year%400) || !(year%4) && (year%100)) return 29; else return 28; } } bool DateInput(char *text, char *out) { char buf[20]; while (true) { printf("%s (дд.мм.гггг) или наберите 0 для выхода\n", text); scanf("%s", &buf); if (strcmp(buf, "0")==0) return false; // 0 - dd // 1 - mm // 2 - yyyy char *date[3]; char *item = strtok(buf, ".\n"); int i; for (i = 0; i < 3 && item; i++) { date[i] = item; item = strtok(NULL, ".\n"); } if (i < 3) { printf("Некорректно введена дата\n"); continue; } int day = atoi(date[0]), month = atoi(date[1]), year = atoi(date[2]); if (month > 12 || day > DaysInMonth(month, year)) { printf("\nНекорректно введена дата.\n" "Введите корректную дату в формате дд.мм.гггг\n\n"); continue; } *((date[1])-1) = *((date[2])-1) = '.'; strcpy(out, buf); return true; } } int GetMenu(int max, char *msg, char *errmsg) { int Menu; while (true) { printf("%s или выберите 0 для выхода\n", msg); scanf("%d", &Menu); if (Menu < 0 || Menu > max) { printf("%s . Допустимые номера: 1-%d или 0 для выхода\n", errmsg, max); //system("cls"); } else break; } return Menu - 1; } acter* GetTail(acter* List) { acter* result; if (!List) return 0; for(result=List; result->next; result = result->next); return result; } int GetCount(acter* List) { int i = 1; acter* result; if (!List) return 0; for(result=List; result->next; result = result->next, i++); return i; } acter* GetItem(acter* List, int i) { acter* result; int cur; if (!List || i < 0) return 0; for(result=List, cur=0; result; result = result->next, cur++) { if(cur==i) return result; } return 0; } int AddAct(acter** List, char* fam, char* imya, char* otch, char* dataR, char* spisokSpec, char* rol) { acter P; strcpy(P.fam, fam); strcpy(P.imya, imya); strcpy(P.otch, otch); strcpy(P.dataR, dataR); strcpy(P.spisokSpec, spisokSpec); strcpy(P.rol, rol); return AddAct(List, P); } int AddAct(acter **List, acter Act) { if (!Act.spisokSpec[0] || !Act.dataR[0] || !Act.rol[0] || !Act.fam[0] || !Act.imya[0] || !Act.otch[0]) return 1; acter* NewT = new acter; memcpy(NewT, &Act, sizeof(acter)); NewT->next = 0; acter *Tail = GetTail(*List); if (!Tail) *List = NewT; else Tail->next = NewT; return 0; } int DeleteAct(acter **List, acter *DelItem) { acter *PrevDelItem; if (!List || !*List) return 1; else if (*List == DelItem) { delete DelItem; *List = NULL; return 0; } for(PrevDelItem = *List; PrevDelItem->next != DelItem; PrevDelItem = PrevDelItem->next) { if (!PrevDelItem->next) return 1; } PrevDelItem->next = DelItem->next; delete DelItem; return 0; } // spectakl* GetTail(spectakl* List) { spectakl* result; if (!List) return 0; for(result=List; result->next; result = result->next); return result; } int GetCount(spectakl* List) { int i = 1; spectakl* result; if (!List) return 0; for(result=List; result->next; result = result->next, i++); return i; } spectakl* GetItem(spectakl* List, int i) { spectakl* result; int cur; if (!List || i < 0) return 0; for(result=List, cur=0; result; result = result->next, cur++) { if(cur==i) return result; } return 0; } int AddSpectakl(spectakl **List, char* avtor, char* name, char* post, char* spisok) { spectakl V; strcpy(V.avtor, avtor); strcpy(V.name, name); strcpy(V.post, post); strcpy(V.spisok, spisok); return AddSpectakl(List, V); } int AddVrach(spectakl **List, spectakl S) { if (!S.avtor[0] || !S.name[0] || !S.post[0] || !S.spisok[0]) return 1; spectakl* NewT = new spectakl; memcpy(NewT, &S, sizeof(spectakl)); NewT->next = 0; spectakl *Tail = GetTail(*List); if (!Tail) *List = NewT; else Tail->next = NewT; return 0; } int DeleteSpectakl(spectakl **List, bilet *List_B, acter *List_Pac, spectakl *DelItem) { spectakl *PrevDelItem; if (!List || !*List) return 1; else if (*List == DelItem) { delete DelItem; *List = NULL; return 0; } |
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 15.12.2011
Сообщений: 5
|
![]()
вот начало кода, незнаю как делать коррекцию, а именно коррекция списка актеров и списка спектаклей; составление и коррекция афиши
#include "Shared.h" #include <string.h> //рассчёт количества дней в m-месяце y-года. int DaysInMonth(int year, int month) { if (month != 2) { return ((month%2) ^ (month>7)) + 30; } else { if (!(year%400) || !(year%4) && (year%100)) return 29; else return 28; } } bool DateInput(char *text, char *out) { char buf[20]; while (true) { printf("%s (дд.мм.гггг) или наберите 0 для выхода\n", text); scanf("%s", &buf); if (strcmp(buf, "0")==0) return false; // 0 - dd // 1 - mm // 2 - yyyy char *date[3]; char *item = strtok(buf, ".\n"); int i; for (i = 0; i < 3 && item; i++) { date[i] = item; item = strtok(NULL, ".\n"); } if (i < 3) { printf("Некорректно введена дата\n"); continue; } int day = atoi(date[0]), month = atoi(date[1]), year = atoi(date[2]); if (month > 12 || day > DaysInMonth(month, year)) { printf("\nНекорректно введена дата.\n" "Введите корректную дату в формате дд.мм.гггг\n\n"); continue; } *((date[1])-1) = *((date[2])-1) = '.'; strcpy(out, buf); return true; } } int GetMenu(int max, char *msg, char *errmsg) { int Menu; while (true) { printf("%s или выберите 0 для выхода\n", msg); scanf("%d", &Menu); if (Menu < 0 || Menu > max) { printf("%s . Допустимые номера: 1-%d или 0 для выхода\n", errmsg, max); //system("cls"); } else break; } return Menu - 1; } acter* GetTail(acter* List) { acter* result; if (!List) return 0; for(result=List; result->next; result = result->next); return result; } int GetCount(acter* List) { int i = 1; acter* result; if (!List) return 0; for(result=List; result->next; result = result->next, i++); return i; } acter* GetItem(acter* List, int i) { acter* result; int cur; if (!List || i < 0) return 0; for(result=List, cur=0; result; result = result->next, cur++) { if(cur==i) return result; } return 0; } int AddAct(acter** List, char* fam, char* imya, char* otch, char* dataR, char* spisokSpec, char* rol) { acter P; strcpy(P.fam, fam); strcpy(P.imya, imya); strcpy(P.otch, otch); strcpy(P.dataR, dataR); strcpy(P.spisokSpec, spisokSpec); strcpy(P.rol, rol); return AddAct(List, P); } int AddAct(acter **List, acter Act) { if (!Act.spisokSpec[0] || !Act.dataR[0] || !Act.rol[0] || !Act.fam[0] || !Act.imya[0] || !Act.otch[0]) return 1; acter* NewT = new acter; memcpy(NewT, &Act, sizeof(acter)); NewT->next = 0; acter *Tail = GetTail(*List); if (!Tail) *List = NewT; else Tail->next = NewT; return 0; } int DeleteAct(acter **List, acter *DelItem) { acter *PrevDelItem; if (!List || !*List) return 1; else if (*List == DelItem) { delete DelItem; *List = NULL; return 0; } for(PrevDelItem = *List; PrevDelItem->next != DelItem; PrevDelItem = PrevDelItem->next) { if (!PrevDelItem->next) return 1; } PrevDelItem->next = DelItem->next; delete DelItem; return 0; } // spectakl* GetTail(spectakl* List) { spectakl* result; if (!List) return 0; for(result=List; result->next; result = result->next); return result; } int GetCount(spectakl* List) { int i = 1; spectakl* result; if (!List) return 0; for(result=List; result->next; result = result->next, i++); return i; } spectakl* GetItem(spectakl* List, int i) { spectakl* result; int cur; if (!List || i < 0) return 0; for(result=List, cur=0; result; result = result->next, cur++) { if(cur==i) return result; } return 0; } int AddSpectakl(spectakl **List, char* avtor, char* name, char* post, char* spisok) { spectakl V; strcpy(V.avtor, avtor); strcpy(V.name, name); strcpy(V.post, post); strcpy(V.spisok, spisok); return AddSpectakl(List, V); } int AddVrach(spectakl **List, spectakl S) { if (!S.avtor[0] || !S.name[0] || !S.post[0] || !S.spisok[0]) return 1; spectakl* NewT = new spectakl; memcpy(NewT, &S, sizeof(spectakl)); NewT->next = 0; spectakl *Tail = GetTail(*List); if (!Tail) *List = NewT; else Tail->next = NewT; return 0; } int DeleteSpectakl(spectakl **List, bilet *List_B, acter *List_Pac, spectakl *DelItem) { spectakl *PrevDelItem; if (!List || !*List) return 1; else if (*List == DelItem) { delete DelItem; *List = NULL; return 0; } |
![]() |
![]() |
![]() |
#5 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]()
Вот еще бы код правильно оформить, а? Кнопочкой с решеткой...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 15.12.2011
Сообщений: 5
|
![]()
я не знаю как =(((
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
база данных. добавление и удаление данных | midiss | Общие вопросы Delphi | 3 | 09.12.2011 13:07 |
База данных и технология хранения данных | Kate1 | Помощь студентам | 2 | 17.11.2011 23:27 |
Небольшая база в Open Office База данных. | sashaman | Фриланс | 3 | 11.04.2010 20:13 |
База данных | ImmortalAlexSan | Общие вопросы Delphi | 2 | 03.01.2010 12:24 |
База данных с возможностью приема данных из файлов Excel | Al_Sha | БД в Delphi | 6 | 16.10.2009 15:34 |