Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 14:52   #1
tymac9n
Пользователь
 
Регистрация: 12.05.2011
Сообщений: 10
По умолчанию нужно исправить программу в с++

пожалуйста помогите а то до сесии нужно поздавать много лаб а я на этой застрял и не в какую уже мозги не то что перегрелись а выкипели походу(
УЧЕТ СТУДЕНТОВ УЧАСТВУЮЩИХ В ОЛИМПИАДАХ
Атрибуты:
1. Профиль олимпиад (информатика, математика и т.д.)
2. Название олимпиады
3. Дата проведения
4. Место проведения
5. Фамилии участников
Основные функции:
• Удалить все записи по олимпиадам, проведенным в заданную дату
• Заменить место проведения для заданной олимпиады
• Вывести все сведения об олимпиадах проведенных в заданном месте

вот я сам пытался сделать из похожей задачи свою но чтото без успешно, как сделать так чтобы несколько фамилий вводилось и вывсести сведения об олимпиадах проведенных в заданном месте?
#include <stdio.h>
#include <string.h>
main()
{
typedef struct regi
{
char fam[70];
char Profil[40];
char Nazvanie[10];
char Data[11];
char Mesto[20];

};
struct history
{
int nomer;
struct regi Reg;

} His[10];
int i,j,k,m,n,osn_f,kol_osm,z;
char data[11];
m = 0;
k = 0;
z=0;
while( k < 6)
{
printf(" \n Vuberite punkt menu \n");
printf("-------------------------------------------------------\n");
printf(" 1 - Dobavit` zapis`(zaregistrirovat` rofil` olimpiadu) \n");
printf(" 2 - Vuvod na ekran vseh zapisei \n");
printf(" 3 - Ydalit` zapis` \n");
printf(" 4 - Osnovnue funkcii \n");
printf(" drugoe chislo - Vuhod \n\n");
printf(" Vvod:");
scanf("%d",&k);

switch (k)
{
case 1:


His[m].nomer = m+1;
printf (" VVedite informaciu %d -oi olimpiadu: \n Profil` olimpiadu: ",His[m].nomer);
scanf("%s",His[m].Reg.Profil);
printf (" Nazvanie olimpiadu: ");
scanf("%s",His[m].Reg.Nazvanie);
printf (" Data providenia: ");
scanf("%s",His[m].Reg.Data);
printf (" Mesto providenia: ");
scanf("%s",His[m].Reg.Mesto);
printf (" Familia: ");
scanf("%s",His[m].Reg.fam);

m++;
break;


case 2:
printf(" \n Baza dannuch olimpiad\n");
for ( i = 0; i < m; i++)
{
printf(" %d. Profil` olimpiadu: %s \n",His[i].nomer,His[i].Reg.Profil);
printf("-------------------------------------------------------------------------------\n");
printf(" Nazvanie olimpiadu: %s,Data providenia: %s\n",His[i].Reg.Nazvanie,His[i].Reg.Data);
printf(" Mesto providenia: %s Familia: %s \n",His[i].Reg.Mesto,His[i].Reg.fam);
}
fflush(stdin);
getchar();
break;

case 3:
printf (" Vvedite nomer olimpiadu dlia ydalenia:");
scanf("%d",&n);
if( n-1 < m )
{
i = n-1;
while (i < m)
{
His[i].Reg = His[i+1].Reg;
His[i].nomer = i+1;
i++;
}
m--;
}
else puts(" Nomer otsytstvyet");

break;
tymac9n вне форума Ответить с цитированием
Старый 12.05.2011, 14:53   #2
tymac9n
Пользователь
 
Регистрация: 12.05.2011
Сообщений: 10
По умолчанию

case 4: /* Основные функции */
printf(" \n Выберите основную функцию для работы \n");
printf("-----------------------------------------\n");
printf(" 1 - ydalit` vse zapisi po olimpiadam, proveaennum v zadannuy datu \n");
printf(" 2 - Zamenit` mesto provedenia olimpiadu \n");
printf(" 3 - Vuvesti vse svedenia ob olimpiadach provedennuch v zadannom meste \n");
printf(" drugoe chislo - Vuhod \n\n");
printf(" Vvod:");
scanf("%d",&osn_f);

switch(osn_f)
{
case 1:
printf(" Vvedite daty dlia ydalenia provedennuch olimpiad: ");
scanf("%s",data);
for ( i = 0; i < m; i++)
{
if ( strcmp(data,His[i].Reg.Data) == 0 )
{
His[i].Reg = His[i+1].Reg; /* удаляем запись со сдвигом */
His[i].nomer = i+1; /* номер записи */
m--; /* уменьшим число записей */
} }
break;
case 2:
printf (" Vvedite nomer olimpiadu dlia zamenu: ");
scanf("%d",&n);
if( n-1 < m )
{
printf (" %s ---> Mesto providenia: %s\n",His[n-1].Reg.Profil,His[n-1].Reg.Mesto);
printf (" Novoe mesto providenia: ");
scanf("%s",His[n-1].Reg.Mesto);
}
else puts(" Номер отсутствует");
break;
case 3:
printf(" Vvedite mesto provedenia olimpiadu: ");
scanf("%s",His[m].Reg.Mesto);
printf(" \n olimpiadu prochedchie v %s\n",His[m].Reg.Mesto);
printf("---------------------------------------|\n\n");
for ( i = 0; i < m; i++)

{

printf(" Profil`: %s, Nazvanie: %s, Data providenia: %s,\n",His[i].Reg.Profil,His[i].Reg.Nazvanie,His[i].Reg.Data);
printf("-------------------------------------------------------------------------------\n");
printf(" %d. %s %s %s \n",His[i].nomer,His[i].Reg.Profil,His[i].Reg.fam);



}

fflush(stdin);
getchar();
break;
default:
break;
}
break;

default:
break;
}
}
return(0);
}
tymac9n вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно исправить программу в с++ tymac9n Помощь студентам 1 12.05.2011 00:13
нужно исправить код melkaya9112 Помощь студентам 1 09.12.2010 00:56
нужно исправить программу) ilnar21 Помощь студентам 1 30.10.2010 22:42
Очень нужно исправить программу в Delphi !!! Grifon_666 Помощь студентам 0 12.05.2010 21:42
Помогите исправить программу нужно очень срочно! Алена Помощь студентам 3 04.11.2007 18:28