Dev - C++ - Problema con un programa para el registro de canciones

 
Vista:

Problema con un programa para el registro de canciones

Publicado por Emiliano (1 intervención) el 07/04/2020 20:30:24
El error me lo marca en la linea 36 y en la linea 63. El archivo .h lo tengo aparte
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//Cabadilla Clavellina Emiliano
#include "ListaCircularDoble.h"
 
int main()
{	setlocale( LC_ALL, "spanish" );
	int opcion_menu=0;
 
	lista<string, int> objeto;
	do
	{	menulista(); cin>> opcion_menu;
		switch( opcion_menu )
		{	case 1: system( "cls" );
			cout<< "Insertar una canción: "<< endl;
			objeto.Insertar();
			break;
			case 2: cout<< "Ver todos los datos de una canción (a apartir de su nombre): "<< endl;
   			objeto.Buscar();
   			break;
			case 3: cout<< "Mostrar los nombres de todas las canciones almacenadas: "<< endl;
			objeto.Impre_nom();
			break;
			case 4: cout<< "Mostrar las canciones que sean más de un cierto tamaño en MB: "<< endl;
			objeto.Impre_mb();
			break;
			case 0: cout<< "...Saliendo...\n";
			break;
			default: cout<< "Opción no váida\n";
		} cout<< "\t"; system( "pause" );
	} while( opcion_menu !=0 );
 	  return 0;
}
 
template<class T1, class T2>
void lista<T1, T2>::Insertar()
{	nodo<T1, T2> *nuevo;
	nuevo= new nodo<T1, T2>();
 
	cout<< "Ingrese el nombre de la canción: ";
	cin>> ws; getline( cin, nuevo->nom);
	cout<< "Ingrese el nombre del intérprete: ";
	cin>> ws; getline( cin, nuevo->interprete );
	cout<< "Ingrese el tamaño de la canción: ";
	cin>> nuevo->mb;
 
	if( primero==NULL )
	{	primero=nuevo;
		ultimo=nuevo;
		primero->der=primero;
		primero->izq=ultimo;
	}
	else
	{	ultimo->der=nuevo;
		nuevo->izq=ultimo;
		nuevo->der=primero;
		ultimo=nuevo;
		primero->izq=ultimo;
	}
}
 
template<class T1, class T2>
void lista<T1, T2>::Impre_nom()
{	nodo<T1, T1> *actual;
	actual=primero;
 
	if( primero !=NULL )
	{	do
		{	cout<< actual->nom<< "\n";
			actual=actual->der;
		} while( actual !=ultimo );
 		cout<< "\n";
	}
	else cout<< "\t Lista Vacia";
}
 
template<class T1, class T2>
void lista<T1, T2>::Impre_mb()
{	nodo<T1, T2> *actual;
	int buscado;
 
	actual=ultimo;
 
	if( primero !=NULL )
	{	cout<< "Ingrese el tamaño de la canción: ";
		cin>> buscado;
 
		do
		{	if( actual->mb==buscado>40 )
			{	cout<< "Nombre de la canción: "<< actual->nom<< "\n";
				cout<< "Nombre del intérprete: "<< actual->interprete<< "\n";
				cout<< "Peso en MB de la canción: "<< actual->mb<< "\n";
			}
			else
			{	cout<< "Nombre de la canción: "<< actual->nom<< "\n";
				cout<< "Nombre del intérprete: "<< actual->interprete<< "\n";
				cout<< "Peso en MB de la canción: "<< actual->mb<< "\n";
			}
 
			cout<< actual->mb<< "\n";
			actual=actual->der;
		} while( actual !=primero );
 		  cout<< "\n";
	}
	else cout<< "\t Lista Vacia";
}
 
template <class T1, class T2>
void lista<T1, T2>::Buscar()
{	nodo<T1, T2> *actual;
	actual= new nodo<T1, T2>();
  	string dato;
 
  	actual=primero;
 
  	if( primero != NULL )
  	{	cout<<"\nIngrese el nombre de la cancion a buscar: ";
    	cin >> ws; getline( cin, dato );
 
		do
    	{	if( actual->nom == dato )
			{	cout<< "Los datos de la canción son: \n";
				cout<< "Nombre de la canción: "<< actual->nom;
				cout<< "Nombre del intérprete: "<< actual->interprete;
				cout<< "Tamaño de la canción en MB: "<< actual->mb;
				return;
			}
      		else actual=actual->der;
    	} while ( actual !=primero );
  	}
  	else cout<< "\nLista Vacía";
}
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