Título: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: smdiegoarmando en 27 Enero 2013, 17:04 pm La verdad hice el esfuerzo de terminar el programa, pase toda la noche intentando que corra y no lo logre lo ideas seria que cada opcion llevara funciones pero se me hizo dificil Uso Dev-C ... AYUDAAAA
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<conio.h> int cubo ( int n ) { return n*n*n; } int multiplo ( int x, int y) { return x%y; } int main(){ int i, temp,n1,n2; int _cont; int opc,numero,resultado; srand(time(NULL)); for(i=0 ; i<5 ; i++){ printf(" \n Menu "); printf(" \n 1...Generar y mostrar 5 números aleatorios del 1 al 10 "); printf(" \n 2...Cubo de un número entero "); printf(" \n 3...Determinar si un numero es múltiplo de otro "); printf(" \n 4...Mostrar los números pares entre 1 y 40 "); printf(" \n 5...Salir "); printf(" \n ESCOJA UNA OPCION "); scanf("%d",opc); switch (opc) { case 1: puts("Generar y mostrar 5 números aleatorios del 1 al 10"); printf("Numero aleatorio %d es : %d\n",i+1, rand()%10 ); getch(); main(); break; case 2: puts("Cubo de un número entero"); printf(" \n Ingrese un numero"); scanf("%d",&numero); resultado = cubo(numero); printf("El cuadrado del numero es %d", resultado); getch(); main(); break; case 3: puts("Determinar si un numero es múltiplo de otro"); printf(" \n Ingrese un numero"); scanf("%d",&n1); printf(" \n Ingrese otro numero"); scanf("%d",&n2); resultado=multiplo(n1,n2); if (n1%n2==0) { printf(" \n Los numeros son multiplos entre si"); } else { printf(" \n Los numeros no son multiplos entre si"); } getch(); main(); break; case 4: puts("Mostrar los números pares entre 1 y 40"); while(_cont<=40){ if(_cont%2==0){ printf("%d, ",_cont); } _cont++; } getch(); main(); break; case 5:puts("salir"); printf("Fin del programa"); getch(); break; default: printf(" opcion invalalida"); } getch(); } system("pause"); } Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: amchacon en 27 Enero 2013, 17:23 pm Código WTF? ¿Porque haces una llamada al main?. Eso es super inestable, cada vez que llames a una función se iran creando llamadas proguesivamente gastando memoria y tiempo de ejecución.... Cuando te quedes sin pila el programa te crasheara estrepidosamente. Si lo que quieres esque el programa se repita continuamente ponlo dentro de un while: Código
También te he quitado el for del principio porque no servía para nada... Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: avesudra en 27 Enero 2013, 17:29 pm A parte de lo dicho por amchacon te lo he puesto en funciones, pero trabaja un poco más porque es que el código es sucio.Y no te digo nada de la portabilidad...Además te faltaba un ampersand al introducir la opción en ese scanf. En fín:
Código
Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: smdiegoarmando en 27 Enero 2013, 17:38 pm Ciertamente no entiendo porque el programa corre pero al ingresar una de las opciones del 1 al 5 se cierra automaticamente muestra -> NombreDelPrograma.exe dejo de funcionar.
Sera que tego problema con el Dev-C ? Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: avesudra en 27 Enero 2013, 17:41 pm Pero cual de los códigos, ¿el que tu has puesto, el que ha puesto amchacon o el que he puesto yo? El que tu y amchacon habeis puesto debería dar error en ejecución como dices por esta sentencia, donde falta un ampersand:
Código Debería estar así: Código Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: smdiegoarmando en 27 Enero 2013, 17:44 pm Pero cual de los códigos, ¿el que tu has puesto, el que ha puesto amchacon o el que he puesto yo? Avesudra utilice tu codigo Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: avesudra en 27 Enero 2013, 17:49 pm Pues es por el Dev-Cpp sin duda. Porque en Codeblocks con la ultima versión de MinGW funciona a la perfección.Puedes descargarlo e instalarlo desde aquí:
http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/Windows/codeblocks-12.11mingw-setup_user.exe/download?_test=updater&utm_expid=65835818-0&utm_referrer=http%3A%2F%2Fwww.codeblocks.org%2Fdownloads%2F26 Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: dato000 en 27 Enero 2013, 19:20 pm Pues es por el Dev-Cpp sin duda. Porque en Codeblocks con la ultima versión de MinGW funciona a la perfección.Puedes descargarlo e instalarlo desde aquí: http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/Windows/codeblocks-12.11mingw-setup_user.exe/download?_test=updater&utm_expid=65835818-0&utm_referrer=http%3A%2F%2Fwww.codeblocks.org%2Fdownloads%2F26 Si señor, poco más puedo agregar a los gurus de aqui, dev-c++ apesta a millones, CodeBlocks con MinGW es mucho pero millones años luz mejor. Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: smdiegoarmando en 27 Enero 2013, 19:37 pm Pues es por el Dev-Cpp sin duda. Porque en Codeblocks con la ultima versión de MinGW funciona a la perfección.Puedes descargarlo e instalarlo desde aquí: http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/Windows/codeblocks-12.11mingw-setup_user.exe/download?_test=updater&utm_expid=65835818-0&utm_referrer=http%3A%2F%2Fwww.codeblocks.org%2Fdownloads%2F26 Ya instale el Codeblocks y me va de maravilla el programa es genial y todo gracias a ti aunque por una extraña forma la opcion 4...Mostrar los números pares entre 1 y 40 " no me muestra los numeros :/ Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: avesudra en 27 Enero 2013, 19:44 pm No es extraño es un fallo de programación, ha sido error mío al declarar la variable, perdón jeje :silbar:. Para arreglarlo, en la función:
Código Debes inicializar _cont en 0 pues sino se inicializa con un valor aleatorio.Quedando así: Código
Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: smdiegoarmando en 27 Enero 2013, 19:49 pm Nuevamente muchas gracias este foro es excelente me han servido de mucha ayuda
Título: Re: Ayuda! Soy nuevo en programacion "C" Necesicito que me ayuden con FUNCIONES Publicado por: avesudra en 27 Enero 2013, 20:16 pm ¡De nada! Espero verte por aquí ayudando a los demás :)
¡Un saludo! |