Algoritmos - Linguagem C


#1

Alguém meda uma ajudinha, por favor neste exercício?? Não consigo chegar no esperado, está dando erro.

Faça um programa que armazene informações de restaurantes em uma estrutura. Cada restaurante é identificado por um nome, tipo de comida e uma nota para a cozinha (0.0 a 5.0). O programa deverá ler do teclado as informações de cinco restaurantes e imprimir na tela as informações do restaurante com maior nota.

Dica: utilize o código especial %f%*c para fazer a leitura das notas.

Para uma entrada:
BrasilFoods Brasileira 4.7

ChinaFoods Chinesa 4.0

FrançaFoods Francesa 4.1

ItáliaFoods Italiana 4.9

JapãoFoods Japonesa 5.0

A saída deve ser:

Maior Nota:

JapãoFoods
Comida: Japonesa
Cozinha: 5.0

meu Código:

#include <stdio.h>
#include <string.h>
#define RESTAURANTES 5

typedef struct
{
char nome[200];
char tipoC[200];
float nota;
} Restaurantes;

int main()
{
Restaurantes res[RESTAURANTES];
int i, maior, ind;
ind = 0;
for(i=0;i<RESTAURANTES;i++)
{
fgets(res[i].nome,200,stdin);
fgets(res[i].tipoC,200,stdin);
scanf("%f%*c",&res[i].nota);
}

maior = 0;

for(i=0;i<5;i++)
{
if(res[i].nota>maior)
maior = res[i].nota;
ind = i;

 }
 printf("Maior Nota:\n");
 printf("-> %s",res[ind].nome);
 printf("-> Comida: %s",res[ind].tipoC);
 printf("-> Cozinha: %.1f",res[ind].nota);

return 0;
}