Buen dia espero que me puedan ayudar
en clases realizamos las siguientes estructuras pila, listas y suma, ahora como ultimo necesito que se haga un menu en donde yo pueda eligir estas 3 operaciones que les acabo de mencionar y claro que se ejecute, los codigos de las operaciones ya los tengo pero no se como hacer el menu y como llamar a las 3 operaciones espero que me ayuden...
Gracias
AL PARECER YA CASI PERO ME MARCAR ALGUNES ERRORES: AYUDA
#include<conio.h> #include<iostream.h> #include<stdio.h>
main() { int opcion;
opcion=1; while(opcion!=5) { clrscr(); printf("Menu de Vector, Pila, Matriz, Lista\n\n"); printf("1- Vector\n"); printf("2- Pila\n"); printf("3- Matriz\n"); printf("4- Lista\n"); printf("5- SALIR\n\n"); printf("Opcion: ");scanf("%d",&opcion); switch(opcion) { case 1 : clrscr(); int vector[10];
void llenarvector() {
int inicio; for(inicio=0;inicio<10;inicio++) { printf("introduzca un valor para la posicion%d",inicio+1); scanf("%d",&vector[inicio]); }
} void imprimirArreglo() { int posicion; for(posicion=0;posicion<10;posicion++) { printf("el valor de la primera posicion %d es: %d \n", posicion,vector[posicion]); } } void main() { clrscr(); llenarvector(); getch(); printf("imprimiendo valores"); imprimirArreglo(); getche();
getche(); break;
case 2 :
clrscr(); int opcion,tope,indice,dato,pila[5];
void imprimir() { clrscr(); if (tope==-1) { gotoxy(5,10);
printf("PILA VACIA.......");
} else
{ for(indice=0;indice<=tope;indice++)
{
textcolor(RED); gotoxy(20,indice+6); cprintf("%d",pila[indice]); delay(100);
} } }
void insertar() {
if(tope==4) { gotoxy(25,15); printf("PILA LLENA:"); } else { printf("DATO:"); scanf("%d",&dato); tope++; pila[tope]=dato;
} }
void eliminar() { if(tope==-1) { gotoxy(25,15); printf("PILA VACIA:"); } else { dato=pila[tope]; printf("dato eliminado: %d",dato); tope--; } }
void menu() {
gotoxy(20,1); printf("seleccione una opcion \n"); gotoxy(25,3); printf("1.- Insertar"); gotoxy(25,4); printf("2.- Eliminar"); gotoxy(25,5); printf("3.- Imprimir"); gotoxy(25,6); printf("4.- Salir"); gotoxy(28,8); printf("[[[ ]]]"); gotoxy(33,8); scanf("%d",&opcion); switch(opcion) { case 1:insertar(); break; case 2:eliminar(); break; case 3:imprimir(); break; case 4:abort(); } }
void main() { clrscr(); tope=-1; do { menu(); opcion=getch(); clrscr(); } while(opcion==13); }
getche(); break;
case 3 : clrscr(); int fila,columna;
int matriz[4][3]; void llenarmatriz()
{ printf("llenando matriz.......\n");
for(fila=0;fila<4;fila++)
{ for(columna=0;columna<3;columna++)
{
printf("\n valor para posiscion:%d,%d",fila,columna); scanf ("%d",&matriz[fila][columna]);
} } }
void imprimir() {
for(fila=0;fila<4;fila++) { for(columna=0;columna<3;columna++) { printf("\n valor en posicion:%d,%d es: %d",fila,columna,matriz[fila][columna]);
} } }
void imprimirDos() {
for(fila=0;fila<4;fila++) { for(columna=0;columna<3;columna++) { gotoxy((columna+2)*3,(fila+4)); printf("%d",matriz[fila][columna]);
} } }
void main() { clrscr(); llenarmatriz(); getch(); clrscr(); printf("imprimiendo valores:\n"); imprimirDos(); getch(); } getche(); break;
case 4 :
clrscr(); /* LISTA SIMPLEMENTE ENLAZADA*/ int opc; typedef struct nodo { int valor; nodo *sig; }; nodo *I, *F, *nuevo, *aux; insertar() { if (I==NULL) { nuevo=(nodo*) malloc(sizeof(nodo)); gotoxy(20,3);printf("ELEMENTOS PARA REGISTRAR EN LA LISTA"); gotoxy(20,5);printf("TECLEA EL ELEMENTO : "); gotoxy(20,7);scanf("%d",&nuevo->valor); nuevo->sig=NULL; I=F=nuevo; } else { nuevo=(nodo*)malloc(sizeof(nodo)); gotoxy(20,3);printf("ELEMENTOS PARA REGISTRAR EN LA LISTA"); gotoxy(20,5);printf("TECLEA El ELEMENTO : "); gotoxy(20,7);scanf("%d",&nuevo->valor); F->sig=nuevo; nuevo->sig=NULL; F=nuevo; } return 0; } eliminar() { nodo *aux; int borrado=0,dato; if(I==NULL) { gotoxy(20,5);printf("< Í { Í [ ELIMINAR ELEMENTOS DE LA LISTA ] Í > Í } "); gotoxy(20,7);printf("< Í { Í [ LA LISTA SE ENCUENTRA VACIA ] Í > Í } "); getch(); } else//else1 { gotoxy(20,5);printf("ELIMINAR ELEMENTOS DE LA LISTA"); gotoxy(20,7);printf("šQUE DATO DESEAS BORRAR?:"); gotoxy(20,9);scanf("%d",&dato); aux=I; while((aux->sig!=NULL)&&(borrado==0)) { if(aux->valor==dato) { I=aux->sig; borrado=1; } else { if(aux->sig->valor==dato) { if(aux->sig==F) { F=aux; aux->sig=NULL; borrado=1; }//if(aux->sig==F) else { aux->sig=aux->sig->sig; borrado=1; }//fin del else }//if(aux->sig==F) else aux=aux->sig; }//fin del else }//fin del while if (aux->valor==dato) { if ((aux==F) && (aux==I)) { I=F=NULL; borrado=1; }//fin del if ((aux==F) && (aux==I)) else { aux->sig=NULL; borrado=1; } }//fin del if (aux->valor==dato) }//fin del else1 return 0; }//fin de la funcion eliminar imprimir()
{ if (I==NULL) { gotoxy(25,11);printf("VISUALIZAR ELEMENTOS DE LA LISTA"); gotoxy(25,13);printf("NO EXISTEN ELEMENTOS EN LA LISTA PARA MOSTRAR"); getch(); }//fin del if (I==Null else { aux=I; while(aux->sig!=NULL) { printf("%d\t",aux->valor); aux=aux->sig; }//fin del while printf("%d\t",aux->valor); getch(); }//fin del else return 0; }//fin de la funcion imprimir Cuadro () { int col,lin; gotoxy(1,1);putchar(201);//É gotoxy(80,1);putchar(187);//» gotoxy(80,24);putchar(188);//Œ gotoxy(1,24);putchar(200);//È for (col=2; col<=79; col++) { gotoxy(col,1);putchar(205); gotoxy(col,24);putchar(205); } for (lin=2; lin<=23; lin++) { gotoxy(1,lin);putchar(186); gotoxy(80,lin);putchar(186); } return 0; } main() { textmode(C80); clrscr(); int opc; I=F=NULL; do { clrscr(); Cuadro(); gotoxy(20,2);printf("SELECCIONA U N A OPCION"); gotoxy(25,4);printf("1.- INSERTAR"); gotoxy(25,6);printf("2.- ELIMINAR"); gotoxy(25,8);printf("3.- IMPRIMIR"); gotoxy(25,10);printf("4.- EXIT"); gotoxy(25,12);printf("< < [ ] > >"); gotoxy(31,12);scanf("%d",&opc); switch (opc) { case 1: { clrscr(); Cuadro(); insertar(); } break; case 2: { clrscr(); Cuadro(); eliminar(); } break; case 3: { clrscr(); Cuadro(); gotoxy(20,5);printf("VISUALIZAR ELEMENTOS DE LA LISTA"); gotoxy(20,7);printf("DATOS EN LA LISTA SON: \n"); gotoxy(20,9);imprimir(); break; } case 4: exit(0); } }while(opc!=4); return 0; }
getche(); break;
|