Структура базы данных

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
AndreKot11
Сообщения: 1
Зарегистрирован: 02 июн 2013, 19:46

Есть часть программы написанной на языке Си, осталось написать лучшего спортсмена по веденному виду спорта. Помогите а то я совсем не могу понять как это сделать.
Вот структура:

Код: Выделить всё

struct Sport{
char name[20];
float timeRun100m;
char timeRun3km[3];
float highJump;
float longJump;
};

int print_meny();
void printSportsmen(struct Sport *sport);
void print_sportsmens(struct Sport *sport, int c);
void printRezyltat(struct Sport *sport,int c);
Вот сама программа:

Код: Выделить всё

#include<stdio.h>
#include"Sport.h"
#include<string.h>
void printSportsmen(struct Sport *sport)
{
printf("name:%s\n",sport->name);
printf("time run 100m:%.1f\n",sport->timeRun100m);
printf("time run 3km:%.1s\n",sport->timeRun3km);
printf("high jump:%.1f\n",sport->highJump);
printf("long jump:%.1f\n\n",sport->longJump);

}

void print_sportsmens(struct Sport *sport, int c)
{
int i;
for(i=0;i<c;i++)
printSportsmen(&sport[i]);
getc(stdin);
}

void printRezyltat(struct Sport *sport,int c)
{
int i;
char timeRun3km[4];
printf("Enter the code\n");
scanf("%s",timeRun3km);
for(i=0;i<c;i++)
{
if(strcmp(timeRun3km, sport[i].timeRun3km)==0)
printSportsmen(&sport[i]);
}
getc(stdin);
}

int print_meny()
{
char *menu[]=
{
"All info",
"Poisr po rezyltaty",
"EXIT",
};

const int menuCount = sizeof menu/sizeof menu[0];
int i;
for (i=0; i<menuCount; i++)
printf("%i. %s\n", i+1, menu[i]);
return getc(stdin);
}


int main()
{
struct Sport sport[]=
{
{"Kravchenko",3.5,"7.2",1.2,3.7} ,
{"Smeh",2.7,"8.2",5.2,2.4},
{"Troll",2.5,"4.4",1.2,4.5}
};


int k;
while ((k=print_meny())!='3')
switch(k)
{
case '1': print_sportsmens(sport, sizeof sport/sizeof(struct Sport));break;
case '2': printRezyltat(sport,sizeof sport/sizeof(struct Sport));break;
case '3': printf("EXIT\n");return 3;
}	
return 0;
}
Ответить