Dev - C++ - problema lista enlazadas c++

 
Vista:
sin imagen de perfil
Val: 7
Ha disminuido su posición en 7 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

problema lista enlazadas c++

Publicado por francisco (3 intervenciones) el 26/06/2020 21:36:32
Hola gente, tengo 2 listas una llamada cliente y la otra carga. tengo una función llamada insertarcarga(problema).Quiero primero verificar si la lista cliente esta vacia, si no lo está pido al usuario que ingrese un rut , verifico que el rut se encuentre en la lista cliente, después agrego ese rut con los atributos a la lista carga. Pero no me reconoce mis atributos de la lista carga que ya estos fuero definidos en struct Nodo{}Tcarga muchas gracias si alguien me puede ayudar con esta duda .

mi codigo:

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
131
132
133
134
135
136
137
138
#include<iostream>
#include<stdlib.h>
using namespace std;
 
struct nodo{
	string rut_cliente;
	string nombre_cliente;
	int  edad_cliente;
	nodo *siguiente;
	};
typedef struct nodo *Tlista;
 
struct Nodo{
	string rut_carga;
	string nombre_carga;
	int edad_carga;
	Nodo *sgte;
};
 
typedef struct Nodo *Tcarga;
 
 
void insertarcliente(Tlista &cliente,int valor,string _rut_cliente,string _nombre_cliente){
	Tlista q;
	q = new (struct nodo);
	q->rut_cliente = _rut_cliente;
	q->nombre_cliente = _nombre_cliente;
	q->edad_cliente = valor;
	q->siguiente = cliente;
	cliente = q;
}
 
void mostrarcliente(Tlista cliente){
	while(cliente != NULL){
		cout<<' '<<"Rut:  "<<cliente->rut_cliente<<endl;
		cout<<' '<<"Nombre:  "<<cliente->nombre_cliente<<endl;
		cout<<' '<<"Edad:  "<<cliente->edad_cliente<<endl;
		cliente = cliente->siguiente;
	}
}
void insertarcarga(Tlista &cliente,Tcarga &carga,int edad_carga,string a,string rut_carga,string nombre_carga){
	while(cliente != NULL){  // verifico si la lista esta vacia
		if(cliente->rut_cliente == a){ // verifico si existe el rut ingresado case 3
			Tcarga q;
			q=new(struct Nodo);
			q->carga_rut= _rut_carga;
			q->nombre_carga=_nombre_carga;
			q->edad_carga=_edad;
			q->sgte=carga;
			carga q;
		}
		else{
			cout<<"Rut no se encuentra en lista: ";
		}
	}
}
 
void mostrarcarga(Tcarga carga, Tlista cliente){
	while(carga != NULL){
		cout<<' '<<"rut cliente: "<<cliente->rut_cliente<<endl;
		cout<<' '<<"rut carga: "<<carga->rut_carga<<endl;
		cout<<' '<<"nombre carga: "<<carga->nombre_carga<<endl;
		cout<<' '<<"edad carga: "<<carga->edad_carga<<endl1;
		cliente=cliente->siguiente;
		carga=carga->sgte;
	}
}
 
void menu(){
	cout<<"\t.:MENU:.\n"<<endl;
	cout<<"1. Insertar cliente"<<endl;
	cout<<"2. Mostrar cliente"<<endl;
	cout<<"3. Insertar carga"<<endl;
	cout<<"4. Mostrar carga"<<endl;
	cout<<"5. Salir"<<endl;
	cout<<"Opcion: ";
}
 
int main (){
	Tlista cliente = NULL;
	Tcarga carga = NULL;
	int opcion;
 
	string _rut_cliente;
	string _nombre_cliente;
	int _valor;
 
	string _rut_carga;
	string _nombre_carga;
	string a;
	int _edad;
 
	do{
		menu();
		cin>>opcion;
 
		switch(opcion){
			case 1:
			cout<<"\nIngrese rut cliente: ";
			cin>>_rut_cliente;
			cout<<"\nIngrese nombre cliente: ";
			cin>>_nombre_cliente;
			cout<<"Ingrese Edad cliente:";
			cin>>_valor;
			insertarcliente(cliente,_valor,_rut_cliente,_nombre_cliente);
			cout<<"\n";
			system("pause");
			break;
 
			case 2:
			mostrarcliente(cliente);
			system("pause");
			break;
 
			case 3:
			cout<<"Ingrese rut cliente a cargar: ";
			cin>>a;
			cout<<"Ingrese rut carga: ";
			cin>>_rut_carga;
			cout<<"Ingrese nombre carga: ";
			cin>>_nombre_carga;
			cout<<"Ingrese edad carga: ";
			cin>>_edad;
			insertarcarga(cliente,carga,_edad,a,_rut_carga,_nombre_carga);
			cout<<"\n";
			system("pause");
			break;
 
			case 4:
			cout<<"\n\nMostrar cargas\n\n";
			mostrarcarga(carga,empleado);
			system("pause");
			break;
 
		}system("cls");
	}while(opcion != 5);
	return 0;
}
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