Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - программа, обрабатывающая оценки судей в спортивных состязаниях

Ответить
Настройки темы
C/C++ - программа, обрабатывающая оценки судей в спортивных состязаниях

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Delirium
Дата: 30-05-2012
Описание: Применяем теги к оформлению...
В некоторых видах спортивных состязаний выступление каждого спортсмена оценивается несколькими судьями(в моем случае 5 судей),затем из всей совокупности оценок удаляются наиболее высокая и наиболее низкая,а для оставшихся оценок вычисляется среднее арифметическое,которое и идет в зачет спортсмену.Если наиболее высокую оценку выставило несколько судей,то удаляется только 1 такая оценка,аналогично и с наиболее низкими.
Программа выдает несколько ошибок,а точнее 5.
Пожалуйста,помогите мне.
Код: Выделить весь код
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
int i;
struct a
{  char fio[25];
char oc[5];
};
struct in
{  char oc[5];};
int max,min,imax[20],imin[20],p,j,k=0;
float sum[20];
FILE *f;
void input ()
{  clrscr();
   char s;
   a sp;
   f = fopen ("sp.txt", "rb+");
   if (f)
   {  do
      {  fflush (stdin);
	 printf ("\n1 - Создать файл заново\n");
	 printf ("2 - Добавить данные в существующий файл\n");
	 printf ("3 - Отказаться от ввода*\n");
	 printf ("\n");
	 s = getchar();
	 if (s == '1')
	  f = fopen ("sp.txt", "wb+");
	   else
	     if (s == '2')
	       {f = fopen ("sp.txt", "ab+");
	       {while(!feof(f))
		{fread(&sp[k],sizeof(a),1,f); //Cannot convert 'a' to 'int'
		k++;}                                      Invalid indirection
		k--;}
      while (s != '1' && s != '2' && s != '3');
   } else f = fopen ("sp.txt", "wb+");
   if (s != '3')
   {  do
     {  fflush (stdin);
	clrscr();
	printf ("Введите данные о спортсменах\n");
	printf ("\nФамилия:\n");
	gets (sp.fio);
	i=1;
	printf ("\nОценки:\n");
	for(j=0;j<5;j++)
	scanf("%s",sp.oc[j]);
	fflush (stdin);
	fwrite (&sp, sizeof(sp), 1, f);
	k++;
	printf ("\nПродолжить ввод? [д/н*]\n");
	fflush (stdin);
	s = getchar();
     } while (s == 'д'|| s == 'Д');
     fclose (f);
   }
}
void osn ()                                          //do statement must have while
{  clrscr();
   f = fopen ("sp.txt", "rb");
   in sp;
   for(j=0;j<k;j++)
   {max=0;min=50;sum[j]=0;
   for(i=0;i<5;i++)
    {if(sp[j].oc[i]>max)
     {max=sp[j].oc[i];
      imax[j]=i;
      }
   if(sp[j].oc[i]<min)
    {min=sp[j].oc[i];
     imin[j]=i;
    }
   sum[j]+=sp[j].oc[i];
  }
sum[j]=(sum[j]-sp[j].oc[imax]-sp[j].oc[imin])/3;
}
   close (f);
}

void cht ()
{  clrscr();
   f = fopen ("sp.txt", "rb");
   a sp;
   float sum[20];
   int j;
   printf("--------------- Таблица спортсменов ---------------");
   while (feof(f)==0)
     {
       if (fread(&sp,sizeof(sp),1,f))
       printf("\n    %d   %s  %f ",i,sp.fio,sum[j]);
     }
   printf("\n---------------------------------------------------------");
   getch();
   fclose (f);
}

void edit ()
{  clrscr();
   char s; char txt [25];
   a sp;
   f = fopen ("sp.txt", "ab+");
   if (f)
     do
     {  clrscr ();
	printf ("Введите фамилию спортсмена для редактирования данных\n");
	fflush (stdin);
	gets (txt);
	rewind (f);
	clrscr();
	while (fread (&sp, sizeof(sp), 1, f))
	  if (strcmp (txt, sp.fio) == 0)
	    {   printf ("Введите новые данные спортсмена**\n");
		printf ("\nФамилия:\n");
		gets (sp.fio);
		fflush (stdin);
		printf ("\nОценки:\n");
		for(j=0;j<5;j++)
		scanf("%s",sp.oc[j]);
		fflush (stdin);
		fwrite (&sp, sizeof(sp), 1, f);
	    }
	printf ("\nПродолжить редактирование? [д/н*]\n");
	fflush (stdin);
	s = getchar();
     } while (s == 'д'|| s == 'Д');
     else
       {  printf ("Файл не существует! Нажмите любую клавишу\n");
	  getch();
       }
   fclose (f);
}
void main ()
{  clrscr();
   char s;
   do
   {  clrscr();
      printf ("Выберите действие:\n");
      printf ("\n1 - Ввод данных\n");
      printf ("2 - Редактировать данные\n");
      printf ("3 - Прочесть файл\n");
      printf ("4 -Выход\n");
      printf ("\n");
      s = getchar();
      switch (s)
      {  case '1': input (); break;
	 case '2': edit (); break;
	 case '3': cht (); break;
      }
   } while (s != '4');
   getch ();
}                                                          //Пишет что пропущена пара скобок

Отправлено: 19:23, 29-05-2012

 

Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 177

Профиль | Отправить PM | Цитировать


Цитата makson41k@vk:
//Пишет что пропущена пара скобок »
хм.. а в какой среде разработки вы работаете над данным проектом?

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 14:29, 30-05-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Borland C++

Отправлено: 14:41, 30-05-2012 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - программа, обрабатывающая оценки судей в спортивных состязаниях

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - Предложите критерии оценки работоспособности канала Интернет Tonny_Bennet Сетевые технологии 2 09-12-2011 15:02
CMD/BAT - [решено] Запуск Оценки Пройзводительности Windows 7 RealBoy Скриптовые языки администрирования Windows 2 14-09-2011 16:25
Electronic Arts введет плату за сетевой режим игры в своих спортивных симуляторах OSZone News Новости информационных технологий 0 12-05-2010 20:30
Офис и Текст - Ограничения оценки. Например обслуживание компании united Программное обеспечение Windows 1 24-10-2008 12:38
Программа для спортивных праздников Fuzzy_Logic Программное обеспечение Windows 6 30-01-2005 10:44




 
Переход