Título: Correr Programa c
Publicado por: wossy666 en 4 Agosto 2011, 16:08 pm
Bueno otra vez yo molestado :/
se puede correr un progrma dentro de un menu :D
Gracias :D
Título: Re: Correr Programa c
Publicado por: PiroskY en 4 Agosto 2011, 18:27 pm
Si se puede, explicate mejor.
Título: Re: Correr Programa c
Publicado por: wossy666 en 4 Agosto 2011, 18:49 pm
#include <stdio.h> #include <stdlib.h> #include <conio.h> void main(){ char op='s'; char a='a'; char continuar='o'; do{ printf("1-Metodos De Ordenamiento\n"); printf("2-Metodos De Busqueda\n"); switch(op){ //este es el switch del menu principal case '1': printf("**Metodos De Ordenamiento**\n"); switch(a){ //este es el switch de sub menu de ordenamiento. case '1': printf("Burbuja \n"); //aqui llamaria a la funcion burbuja. break; //despues de cada case debe poner un break. case '2': printf("Quiksort \n"); //aqui llamaria a la funcion quilsort break; } //aqui termina el switch del sub mmenu de ordenamiento. break; //aqui termina el case del MENU PRINCIPAL! case '2': //Aqui anida otro sqitch case. break; case '3': continuar = 'S'; break; default: break; } }while(continuar != 's' && continuar != 'S'); }
Yo tengo ese codigo pero cuando le en la opcion de burbuja el programa de la burbuja debe de correr me explico?? xD
Título: Re: Correr Programa c
Publicado por: enrmarc en 4 Agosto 2011, 22:35 pm
¿Tienes un programa 'Burbuja' (el .exe o a.out) o un método Burbuja() ? Si es el primer caso échale un vistazo a execv y en el segundo caso simplemente llama al método.
Título: Re: Correr Programa c
Publicado por: greenchar en 5 Agosto 2011, 04:08 am
Me imagino que lo que tratas de hacer es una vez que, digamos, selecciones la opción burbuja, se ejecute todo el procedimiento. Para llamar a una función seria mas o menos esto: case '1': printf("Burbuja \n"); //aqui solo imprime Burbuja metodo_burbuja(); // Realmente aqui se llama a la funcion (supongo que no necesita argumentos) break; //despues de cada case debe poner un break.
Espero haberte ayudado ;D ¿Tienes un programa 'Burbuja' (el .exe o a.out) o un método Burbuja() ? Si es el primer caso échale un vistazo a execv y en el segundo caso simplemente llama al método.
En el caso de que necesites que se ejecute otro programa externo investiga sobre la librería execv como dice enrmarc (no la conozco)
Título: Re: Correr Programa c
Publicado por: wossy666 en 5 Agosto 2011, 05:19 am
#include <stdio.h> #include <stdlib.h> #include <conio.h> void main(){ char op='s'; char a='a'; char continuar='o'; do{ printf("1-Metodos De Ordenamiento\n"); printf("2-Metodos De Busqueda\n"); switch(op){ //este es el switch del menu principal case '1': printf("**Metodos De Ordenamiento**\n"); printf("3 -Regresar al menu Principal\n"); switch(a){ case '1': #define TAM 10000 int a[TAM], temp, i, j; clrscr(); randomize(); //Inicializa el generador de numeros aleatorios printf ("Llenando arreglo con números aleatorios\n"); for (i=0; i< TAM; i++) a[i]=random(10000); //Implementacion de Ordenamiento por burbuja de mayor a menor for (j=1; j <= TAM; j++) for (i=0; i< TAM-1; i++) if (a[i] < a[i+1]){ temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } printf ("\nArreglo ordenado\n"); for (i=0; i< TAM; i++) printf ("a[%d] = %d\n", i , a [i ]); break; case '2': break; } break; case '2': printf("Metodos De Busqueda. \n"); printf("3 -Regresar al menu Principal\n"); switch(a){ case '1': } break; case '2a': break; case '3': continuar = 'S'; break; default: break; } }while(continuar != 's' && continuar != 'S'); }
Obviamente falta meter el quicksort y el metodo de busqueda pero ahora tengo duda, cuando le doy 1 se mete al submenu metodos de ordenamiento y cuando le doy otro 1 deberia de correr el bubble sort pero no lo hace xD (http://i.imgur.com/TA1Do.png)
Título: Re: Correr Programa c
Publicado por: greenchar en 5 Agosto 2011, 06:56 am
No encuentro por que la falla, pero lo seguire pensando (esta es una respuesta rapida) :-X Te recomiendo que metas todo esto en una función para que después la llames y asi sea más fácil de leer tu código :-* //TODO ESTO EN UNA FUNCION printf("Burbuja \n"); #define TAM 10000 int a[TAM], temp, i, j; clrscr(); randomize(); //Inicializa el generador de numeros aleatorios printf ("Llenando arreglo con números aleatorios\n"); for (i=0; i< TAM; i++) a[i]=random(10000); //Implementacion de Ordenamiento por burbuja de mayor a menor for (j=1; j <= TAM; j++) for (i=0; i< TAM-1; i++) if (a[i] < a[i+1]){ temp = a[i]; a[i] = a[i+1]; a[i+1] = temp; } printf ("\nArreglo ordenado\n"); for (i=0; i< TAM; i++) printf ("a[%d] = %d\n", i, a[i]); break;
|