C/Visual C - Subrangos en C

 
Vista:

Subrangos en C

Publicado por Fedo (3 intervenciones) el 15/11/2019 23:04:19
La duda que tengo es como hago para pasar del siguiente txt:

51052
102 Dalmatians
Kevin Lima
Comedy
372
333
6.7
2000
0
Color
1824

a una lista simplemente encadenada, especificamente la cuarta linea que es el genero, nos piden que sea un enum, subrango, o algun otro tipo similar excepto String. La duda es que funcion uso, ya que fgets no funciona en enums.


Esta es la libreria de acciones:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#ifndef MOVIEHOUSE_H
#define MOVIEHOUSE_H
 
#include <stdio.h>
 
#define SIZE 100
 
//Registro con información de una pelicula
// COMPLETAR CON LOS CAMPOS NECESARIOS
typedef enum {Action, Comedy, Adventure, Drama, Horror, SciFi, Fantasy, Animation}Tgenero;
typedef enum {Color, BW}Tcolor;
typedef struct{
	char id[15];
	char titulo[100];
	char director[35];
	Tgenero genero;
	char likes[10];
	char cantidad_votantes[10];
	char voto_promedio[5];
	char anio[4];
	char costo[15];
	Tcolor color;
}Movie;
 
 
//LSE de Movie
struct Nodo{
	Movie pelicula;
	struct Nodo *next;
};
 
//Puntero al primer elemento de la LSE
typedef struct{
	struct Nodo *head;
}Lista;
 
FILE *archivo;
Lista *lista;
 
//Arreglo de peliculas con cantidad
typedef struct{
	 Movie peliculas[SIZE];
	 int cant;
}Arreglo;
 
 
/**
	Operaciones sobre lista
**/
 
//Inicializa la lista
void Inicializar(Lista *l);
 
//Inserta un nodo al comienzo de la lista
void Insertar(Lista *l, Movie a);
 
//Muestra toda la lista
void MostrarLista(Lista l);
 
/**
	Funcionalidades del proyecto
**/
 
//Dado un archivo de texto con la información de las peliculas,
//guarda en la lista todas las pelicuas usando el registro Movie
void DeTxtALista(Lista *l, FILE *f);
 
//Acción que calcula y muestra cuales son las peliculas mas populares
void MasPopulares(Arreglo a);
 
#endif
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 350
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Subrangos en C

Publicado por Rodrigo (119 intervenciones) el 16/11/2019 00:55:35
Leelo como string, pero comparalo y guardalo como enum.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Subrangos en C

Publicado por fedo (3 intervenciones) el 16/11/2019 01:04:38
Ah entiendo, es lo que tenia pensado, te referis a crear una variable tipo string para hacer el fgets con esa variable de parametro, y luego hacer un switch de esa variable donde a cada caso le asigno un numero al enum? El problema es que no comprendo muy bien como manipular el enum. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 350
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Subrangos en C

Publicado por Rodrigo (119 intervenciones) el 16/11/2019 04:39:11
Si.

Probablemente te sea util usar un arreglo con los strings, descubrir (iterar hasta encontrar) el indice del string que calce y hacer un cast a este indice hacia el enum.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar