Autor
|
Tema: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO? (Leído 4,604 veces)
|
wazausky
Desconectado
Mensajes: 10
|
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; }
|
|
« Última modificación: 10 Noviembre 2012, 19:52 pm por wazausky »
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
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!
|
|
|
En línea
|
|
|
|
darkangel2125
Desconectado
Mensajes: 49
sudo apt-get moo
|
bueno para borrar pantalla se usa el despues de que presiones un enter borraras pantalla ahora para regresar al inicio creo que era
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Menudo desastre de código . 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; }
|
|
« Última modificación: 9 Noviembre 2012, 18:59 pm por leosansan »
|
En línea
|
|
|
|
MikeMonostone
Desconectado
Mensajes: 7
[SK-DOOM] MikeMonoStone
|
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.
|
|
|
En línea
|
[SK-DOOM] Pensé que lo que haría sería fingir ser uno de esos sordomudos.
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
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
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
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?
|
|
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
(ayuda)como hago programa q se borre a si mismo??
Programación Visual Basic
|
Psyke1
|
8
|
4,588
|
22 Marzo 2010, 21:27 pm
por Karcrack
|
|
|
codigo que haga que regrese al inicio de un programa.
Programación C/C++
|
nena06
|
5
|
35,651
|
8 Julio 2010, 19:53 pm
por do-while
|
|
|
Crear bat que borre la lista de mensajes no leídos en la pantalla de bienvenida
Scripting
|
Anonymous250
|
5
|
3,968
|
18 Noviembre 2011, 19:30 pm
por Anonymous250
|
|
|
¿Como puedo ocultar un usuario de la pantalla de inicio desde cmd sin NirCmd?
Scripting
|
Meine programmen
|
1
|
2,835
|
29 Enero 2012, 16:23 pm
por DameBanda
|
|
|
REGRESE CON PROBLEMAS :) - DARLE VALORES A UN ARREGLO
Programación C/C++
|
wazausky
|
2
|
4,507
|
12 Noviembre 2012, 03:22 am
por BatchianoISpyxolo
|
|