urge Ayuda sencilla c++
Publicado por Bucle (6 intervenciones) el 11/11/2005 00:14:04
Hola a todos,tengo un problema con un programa en c++ en el módulo inserta creo dos nodos,en su estructura almaceno en una lista el nombre de un platillo,número de porciones,tiempo de preparación y tiempo de cocción,en el otro nodo almacenaré en otra lista los ingredientes y su cantidad pero el problema es que no sé cómo hacerle para seguir capturando ingredientes ya que sólo me captura uno y su respectiva cantidad pero ningún platillo se realiza con sólo un ingrediente,es por ello que no se cómo implementar ésto ya que se trata de una lista circular doblemente enlazada almacenada en una estructura tipo nodo no sé si fuí claro,para ello pongo el código por favor chequen el módulo inserta
gracias de antemano
Código:
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
#include<time.h>
#define IR gotoxy
int bandera=0;/*Variable Bandera*/
int ref=0;/*Variable Referencia*/
typedef struct NODOS{
char platillo[30];
char porciones[20];
char tiempop[20];
char tiempoc[20];
NODOS* liga;
NODOS* ligaIzq;
NODOS* ligaDer;
}NODO;
NODO* f;
NODO* p;
NODO* q;
NODO* t;
NODO* x;
typedef struct NODOS2{
char ingredientes[30];
char cantidad[20];
NODOS2* liga;
NODOS2* ligaIzq2;
NODOS2* ligaDer2;
}NODO2;
NODO2*a;
NODO2*b;
NODO2*c;
NODO2*d;
void inserta();
void main(){
inserta();
}
void inserta(){
q=(NODO*)malloc(sizeof(NODO));
IR(5,5);cout<<"Nombre del Platillo -> ";
gets((q->platillo));
IR(5,7);cout<<"Número de Porciones -> ";
gets((q->porciones));
IR(5,9);cout<<"Tiempo de Cocción -> ";
gets((q->tiempoc));
IR(5,11);cout<<"Tiempo de Preparación -> ";
gets((q->tiempop));
a=(NODO2*)malloc(sizeof(NODO2));
IR(5,13);cout<<"Ingrediente -> ";
gets((a->ingredientes));
IR(45,13);cout<<"Cantidad -> ";
gets((a->cantidad));
if (p==NULL){
q->ligaDer=q;
q->ligaIzq=q;
p=q;
f=q;
}
else{
f->ligaDer=p;
q->ligaDer=p;
q->ligaIzq=f;
p->ligaIzq=q;
p=q;
}
clrscr();
pantalla();
bandera=1;
IR(22,22);cout<<"Receta Insertada Satisfactoriamente !";
IR(20,24);cout<<"Presione Cualquier Tecla Para Regresar > ";
getch();
clrscr(),
pantalla();
menu();
}
gracias de antemano
Código:
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
#include<time.h>
#define IR gotoxy
int bandera=0;/*Variable Bandera*/
int ref=0;/*Variable Referencia*/
typedef struct NODOS{
char platillo[30];
char porciones[20];
char tiempop[20];
char tiempoc[20];
NODOS* liga;
NODOS* ligaIzq;
NODOS* ligaDer;
}NODO;
NODO* f;
NODO* p;
NODO* q;
NODO* t;
NODO* x;
typedef struct NODOS2{
char ingredientes[30];
char cantidad[20];
NODOS2* liga;
NODOS2* ligaIzq2;
NODOS2* ligaDer2;
}NODO2;
NODO2*a;
NODO2*b;
NODO2*c;
NODO2*d;
void inserta();
void main(){
inserta();
}
void inserta(){
q=(NODO*)malloc(sizeof(NODO));
IR(5,5);cout<<"Nombre del Platillo -> ";
gets((q->platillo));
IR(5,7);cout<<"Número de Porciones -> ";
gets((q->porciones));
IR(5,9);cout<<"Tiempo de Cocción -> ";
gets((q->tiempoc));
IR(5,11);cout<<"Tiempo de Preparación -> ";
gets((q->tiempop));
a=(NODO2*)malloc(sizeof(NODO2));
IR(5,13);cout<<"Ingrediente -> ";
gets((a->ingredientes));
IR(45,13);cout<<"Cantidad -> ";
gets((a->cantidad));
if (p==NULL){
q->ligaDer=q;
q->ligaIzq=q;
p=q;
f=q;
}
else{
f->ligaDer=p;
q->ligaDer=p;
q->ligaIzq=f;
p->ligaIzq=q;
p=q;
}
clrscr();
pantalla();
bandera=1;
IR(22,22);cout<<"Receta Insertada Satisfactoriamente !";
IR(20,24);cout<<"Presione Cualquier Tecla Para Regresar > ";
getch();
clrscr(),
pantalla();
menu();
}
Valora esta pregunta
0