Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: copinsa en 18 Noviembre 2013, 10:11 am



Título: [Pedido] Programa que lee puntuaciones y te dice la mas alta.
Publicado por: copinsa en 18 Noviembre 2013, 10:11 am
Hola tengo una practica de la uni que no soy capaz de hacer. Consiste en leer las puntuaciones de un videojuego en un archivo .txt estilo asi:   (el nombre es espacios es arbitrario)

Destroyer666 1000
PinkBear        154
Rookie            0
...
LastWarrior     33333


El programa tiene que dar el best player con su puntuación. Best Player: Nickname Puntuación

Como restricciones solo se puede incluir las librerias # include <stdio .h>
# include <stdlib .h>

y las funciones getchar(),  atoi(),   printf()
 


Título: Re: [Pedido] Programa que lee puntuaciones y te dice la mas alta.
Publicado por: xaps en 18 Noviembre 2013, 10:19 am
Si quieres también te podemos traer un café.

¿Te has mirado las reglas? Cito textualmente:
Citar
Este no es un subforo donde se soliciten tareas, sino un lugar donde resolver dudas.

Saludos


Título: Re: [Pedido] Programa que lee puntuaciones y te dice la mas alta.
Publicado por: copinsa en 18 Noviembre 2013, 10:25 am
En ese caso, me podriais dar algun consejo por donde empezar?


Título: Re: [Pedido] Programa que lee puntuaciones y te dice la mas alta.
Publicado por: rir3760 en 18 Noviembre 2013, 16:00 pm
La forma mas fácil es utilizando las funciones fgets+sscanf o bien fscanf. En seudocodigo los pasos son:
Código:
Repetir
   Leer una palabra (nombre) en la variable "nombre_temporal"
   Leer una palabra (valor) en la variable "temporal"
   Extraer de la variable "temporal" el valor
   Si el valor es mayor que el maximo:
      Almacenar (copiar) el nombre en la variable "maximo_nombre"
      Almacenar (copiar) el valor en la variable "maximo_valor"

En cuanto a las funciones que te permiten utilizar hay un error en (o confusión con) el enunciado ya que para leer un archivo necesitas como mínimo las funciones fopen, fclose y fgetc (getchar es para leer la entrada estándar).

Un saludo