Título: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: wazausky en 9 Noviembre 2012, 01:51 am
QUE TAL. PUES BIEN NECESITO QUE MI PROGRAMA NO TERMINE HASTA QUE SE SELECCIONE LA OPCION, MIENTRAS NO SE SELECCIONE LA OPCION TIENE QUE REGRESAR HASTA EL PRINCIPIO; TIENE QUE LIMPIAR LA PANTALLA Y VOLVER A CORRER TODO Y ESO SERA HASTA QUE SE SELECCIONE LA OPCION SALIR. QUIEN ME PUEDA AYUDAR MUCHAS GRACIAS! :) #include <stdio.h> #include <stdlib.h> /*PROGRAMA QUE CREA UNA MATRIZ A Y UNA MATRIZ B; DA 4 OPCIONES: SUMAR, RESTAR (A - B), RESTAR (B - A) Y TERMINAR PROGRAMA*/ int main(int argc, char *argv[]) { int x, y, matrizA[10][10], matrizB[10][10], matrizR[10][10], RA, CA, RB, CB, O; printf("Cuantos renglones quiere que tenga la matriz A: "); scanf("%i", &RA); printf("\nCuantas columnas quiere que tenga la matriz A: "); scanf("%i", &CA); printf("\nCuantos renglones quiere que tenga la matriz B: "); scanf("%i", &RB); printf("\nCuantas columnas quiere que tenga la matriz B: "); scanf("%i", &CB); /*SE GENERA LA MATRIZ A*/ printf("\nMATRIZ A\n\n"); for (x=1; x<=RA; x++) { for (y=1; y<=CA; y++) { matrizA[x][y] = rand()%10; printf("%i ", matrizA[x][y]); } printf("\n\n"); } printf("\n"); /*SE GENERA LA MATRIZ B*/ printf("MATRIZ B\n\n"); for (x=1; x<=RB; x++) { for (y=1; y<=CB; y++) { matrizB[x][y] = rand()%10; printf("%i ", matrizB[x][y]); } printf("\n\n"); } /*SE ELIGE LA OPERACION*/ printf("1.-SUMA\n\n2.-RESTA (A - B)\n\n3.-RESTA (B - A)\n\n4.-TERMINAR APLICACION\n\n"); printf("QUE OPERACION DESEA REALIZAR: "); scanf("%i", &O); /*SE HACE LA OPERACION ELEGIDA*/ switch (O) { /*SUMA*/ case 1: if (RA!=RB || CA!=CB) { printf("\nNO SE PUEDEN SUMAR MATRICES DE DISTINTO ORDEN\n\n"); break; } else { printf("\nMATRIZ RESULTANTE\n\n"); for (x=1; x<=RB; x++) { for (y=1; y<=CB; y++) { matrizR[x][y] = matrizA[x][y] + matrizB[x][y]; printf("%i ", matrizR[x][y]); } printf("\n\n"); } break; } /*RESTA (A - B)*/ case 2: if (RA!=RB || CA!=CB) { printf("\nNO SE PUEDEN RESTAR MATRICES DE DISTINTO ORDEN\n\n"); break; } else { printf("\nMATRIZ RESULTANTE\n\n"); for (x=1; x<=RB; x++) { for (y=1; y<=CB; y++) { matrizR[x][y] = matrizA[x][y] - matrizB[x][y]; printf("%i ", matrizR[x][y]); } printf("\n\n"); } break; } /*RESTA (B - A)*/ case 3: if (RA!=RB || CA!=CB) { printf("\nNO SE PUEDEN RESTAR MATRICES DE DISTINTO ORDEN\n\n"); break; } else { printf("\nMATRIZ RESULTANTE\n\n"); for (x=1; x<=RB; x++) { for (y=1; y<=CB; y++) { matrizR[x][y] = matrizB[x][y] - matrizA[x][y]; printf("%i ", matrizR[x][y]); } printf("\n\n"); } break; } case 4: system("PAUSE"); return 0; break; } system("PAUSE"); return 0; }
Título: Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: Ferno en 9 Noviembre 2012, 05:21 am
Amigo, no se entiende nada. Primero, aflojá con las mayúsculas, no son necesarias.
Segundo, el código siempre dentro de las etiquetas GeSHi, por favor!
Título: Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: darkangel2125 en 9 Noviembre 2012, 05:27 am
bueno para borrar pantalla se usa el despues de que presiones un enter borraras pantalla ahora para regresar al inicio creo que era
Título: Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: leosansan en 9 Noviembre 2012, 13:08 pm
Menudo desastre de código ;D ;D ;D. A ver si era esto lo que querías: REEDITO LOS INDICES A CERO #include <stdio.h> #include <stdlib.h> /*PROGRAMA QUE CREA UNA MATRIZ A Y UNA MATRIZ B; DA 4 OPCIONES: SUMAR, RESTAR (A - B), RESTAR (B - A) Y TERMINAR PROGRAMA*/ int main(int argc, char *argv[]) { int x, y, matrizA[10][10], matrizB[10][10], matrizR[10][10], RA, CA, RB, CB, O; printf("Cuantas lineas quiere que tenga la matriz A: "); scanf("%d", &RA); printf("\nCuantas columnas quiere que tenga la matriz A: "); scanf("%d", &CA); printf("\nCuantas lineas quiere que tenga la matriz B: "); scanf("%d", &RB); printf("\nCuantas columnas quiere que tenga la matriz B: "); scanf("%d", &CB); /*SE GENERA LA MATRIZ A*/ for (x=0; x<RA; x++) { for (y=0; y<CA; y++) { matrizA[x][y] = rand()%10; } } printf("\n"); /*SE GENERA LA MATRIZ B*/ for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizB[x][y] = rand()%10; } } while (1){ system("pause"); system("cls"); printf("\nMATRIZ A\n\n"); for (x=0; x<RA; x++) { for (y=0; y<CA; y++) { printf("%d ", matrizA[x][y]); }printf("\n"); printf("\n\n"); } printf("MATRIZ B\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { printf("%d ", matrizB[x][y]); }printf("\n"); } printf("\n\n"); /*SE ELIGE LA OPERACION*/ printf("1.-SUMA\n\n2.-RESTA (A - B)\n\n3.-RESTA (B - A)\n\n4.-TERMINAR APLICACION\n\n"); printf("QUE OPERACION DESEA REALIZAR: "); scanf("%d", &O); /*SE HACE LA OPERACION ELEGIDA*/ switch (O) { /*SUMA*/ case 1: if (RA!=RB || CA!=CB) { printf("\nNO SE PUEDEN SUMAR MATRICES DE DISTINTO ORDEN\n\n"); break; } else { printf("\nMATRIZ RESULTANTE\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizR[x][y]=matrizA[x][y]+matrizB[x][y]; printf("%d ", matrizR[x][y]); }printf("\n"); } printf("\n\n"); break; } /*RESTA (A - B)*/ case 2: if (RA!=RB || CA!=CB) { printf("\nNO SE PUEDEN RESTAR MATRICES DE DISTINTO ORDEN\n\n"); break; } else { printf("\nMATRIZ RESULTANTE\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizR[x][y]=matrizA[x][y]-matrizB[x][y]; printf("%d ", matrizR[x][y]); }printf("\n"); } printf("\n\n"); break; } /*RESTA (B - A)*/ case 3: if (RA!=RB || CA!=CB) { printf("\nNO SE PUEDEN RESTAR MATRICES DE DISTINTO ORDEN\n\n"); break; } else { printf("\nMATRIZ RESULTANTE\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizR[x][y]=matrizB[x][y]-matrizA[x][y]; printf("%d ", matrizR[x][y]); }printf("\n"); } printf("\n\n"); break; } case 4: system("pause"); return 0; break; } } return 0; }
Aunque a mí me gusta más así: Saludos!.#include <stdio.h> #include <stdlib.h> /*PROGRAMA QUE CREA UNA MATRIZ A Y UNA MATRIZ B; DA 4 OPCIONES: SUMAR, RESTAR (A - B), RESTAR (B - A) Y TERMINAR PROGRAMA*/ int main(int argc, char *argv[]) { int x, y, matrizA[10][10], matrizB[10][10], matrizR[10][10], RA=0, CA=0, RB=1, CB=1, O; while (RA!=RB || CA!=CB){ printf("Cuantas lineas quiere que tenga la matriz A: "); scanf("%d", &RA); printf("\nCuantas columnas quiere que tenga la matriz A: "); scanf("%d", &CA); printf("\nCuantas lineas quiere que tenga la matriz B: "); scanf("%d", &RB); printf("\nCuantas columnas quiere que tenga la matriz B: "); scanf("%d", &CB); if (RA!=RB || CA!=CB) printf ("Han de tener las mismas lineas y columnas\npara sumar o restar\n"); } /*SE GENERA LA MATRIZ A*/ for (x=0; x<RA; x++) { for (y=0; y<CA; y++) { matrizA[x][y] = rand()%10; } } printf("\n"); /*SE GENERA LA MATRIZ B*/ for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizB[x][y] = rand()%10; } } while (1){ system("pause"); system("cls"); printf("\nMATRIZ A\n\n"); for (x=0; x<RA; x++) { for (y=0; y<CA; y++) { printf("%d ", matrizA[x][y]); }printf("\n"); printf("\n\n"); } printf("MATRIZ B\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { printf("%d ", matrizB[x][y]); }printf("\n"); } printf("\n\n"); /*SE ELIGE LA OPERACION*/ printf("1.-SUMA\n\n2.-RESTA (A - B)\n\n3.-RESTA (B - A)\n\n4.-TERMINAR APLICACION\n\n"); printf("QUE OPERACION DESEA REALIZAR: "); scanf("%d", &O); /*SE HACE LA OPERACION ELEGIDA*/ switch (O) { /*SUMA*/ case 1: printf("\nMATRIZ RESULTANTE\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizR[x][y]=matrizA[x][y]+matrizB[x][y]; printf("%d ", matrizR[x][y]); }printf("\n"); } printf("\n\n"); break; /*RESTA (A - B)*/ case 2: printf("\nMATRIZ RESULTANTE\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizR[x][y]=matrizA[x][y]-matrizB[x][y]; printf("%d ", matrizR[x][y]); }printf("\n"); } printf("\n\n"); break; /*RESTA (B - A)*/ case 3: printf("\nMATRIZ RESULTANTE\n\n"); for (x=0; x<RB; x++) { for (y=0; y<CB; y++) { matrizR[x][y]=matrizB[x][y]-matrizA[x][y]; printf("%d ", matrizR[x][y]); }printf("\n"); } printf("\n\n"); break; case 4: system("pause"); return 0; break; } } return 0; }
Título: Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: MikeMonostone en 9 Noviembre 2012, 14:36 pm
1. Para que te borre la pantalla, te recomiendo que leas este enlace http://www.cplusplus.com/articles/4z18T05o/
2. Para que vuelva al inicio puedes hacer una llamada a la función main(), de esta manera: main(); ya que esta es la función principal.
Título: Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: rir3760 en 9 Noviembre 2012, 16:03 pm
Otro detalle a corregir: en C y C++ los indices van desde 0 hasta "N - 1" donde "N" es el numero de elementos en el array. Estos dos bucles y similares: for (x=1; x<=RA; x++){ for (y=1; y<=CA; y++){ ...
Hay que cambiarlos a: for (x = 0; x < RA; x++){ for (y = 0; y < CA; y++){ ...
Un saludo
Título: Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: leosansan en 9 Noviembre 2012, 19:33 pm
REEDITDO "maestro". Eso pasa por querer "aprovechar" lo ya hecho por otro y no estar al loro. Saludos!. ..... y ¿qué pasa con el "otro" sitio?
Título: Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
Publicado por: Ferno en 9 Noviembre 2012, 19:34 pm
|