elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?  (Leído 4,604 veces)
wazausky

Desconectado Desconectado

Mensajes: 10


Ver Perfil
¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« 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! :)

Código:
#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 Desconectado

Mensajes: 375


Ver Perfil
Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« Respuesta #1 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!


En línea

darkangel2125

Desconectado Desconectado

Mensajes: 49


sudo apt-get moo


Ver Perfil
Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« Respuesta #2 en: 9 Noviembre 2012, 05:27 am »

bueno para borrar pantalla se usa el
Código:
clrscr();
despues de que presiones un enter borraras pantalla
ahora para regresar al inicio creo que era
Código:
goto 0,0;
En línea

Dulce caos
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« Respuesta #3 en: 9 Noviembre 2012, 13:08 pm »

Citar
Menudo desastre de código  ;D ;D ;D.
A ver si era esto lo que querías:
REEDITO LOS INDICES A CERO
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /*PROGRAMA QUE CREA UNA MATRIZ A Y UNA MATRIZ B; DA 4 OPCIONES: SUMAR, RESTAR (A - B), RESTAR (B - A) Y TERMINAR PROGRAMA*/
  4. int main(int argc, char *argv[])
  5. {
  6.    int x, y, matrizA[10][10], matrizB[10][10], matrizR[10][10], RA, CA, RB, CB, O;
  7.    printf("Cuantas lineas quiere que tenga la matriz A: ");
  8.    scanf("%d", &RA);
  9.    printf("\nCuantas columnas quiere que tenga la matriz A: ");
  10.    scanf("%d", &CA);
  11.    printf("\nCuantas lineas quiere que tenga la matriz B: ");
  12.    scanf("%d", &RB);
  13.    printf("\nCuantas columnas quiere que tenga la matriz B: ");
  14.    scanf("%d", &CB);
  15.  
  16.    /*SE GENERA LA MATRIZ A*/
  17.  
  18.    for (x=0; x<RA; x++)
  19.        {
  20.            for (y=0; y<CA; y++)
  21.                {
  22.                    matrizA[x][y] = rand()%10;
  23.                }
  24.        }
  25.  
  26.  
  27.  
  28.    printf("\n");
  29.    /*SE GENERA LA MATRIZ B*/
  30.  
  31.    for (x=0; x<RB; x++)
  32.        {
  33.            for (y=0; y<CB; y++)
  34.                {
  35.                    matrizB[x][y] = rand()%10;
  36.                }
  37.  
  38.        }
  39.    while (1){
  40.    system("pause");
  41.    system("cls");
  42.    printf("\nMATRIZ A\n\n");
  43.    for (x=0; x<RA; x++)
  44.        {
  45.            for (y=0; y<CA; y++)
  46.                {
  47.                    printf("%d   ", matrizA[x][y]);
  48.                }printf("\n");
  49.            printf("\n\n");
  50.        }
  51.    printf("MATRIZ B\n\n");
  52.    for (x=0; x<RB; x++)
  53.        {
  54.            for (y=0; y<CB; y++)
  55.                {
  56.                    printf("%d   ", matrizB[x][y]);
  57.  
  58.                }printf("\n");
  59.        }
  60.            printf("\n\n");
  61.    /*SE ELIGE LA OPERACION*/
  62.    printf("1.-SUMA\n\n2.-RESTA (A - B)\n\n3.-RESTA (B - A)\n\n4.-TERMINAR APLICACION\n\n");
  63.    printf("QUE OPERACION DESEA REALIZAR: ");
  64.    scanf("%d", &O);
  65.    /*SE HACE LA OPERACION ELEGIDA*/
  66.    switch (O)
  67.    {
  68.        /*SUMA*/
  69.          case 1:
  70.          if (RA!=RB || CA!=CB)
  71.            {
  72.                printf("\nNO SE PUEDEN SUMAR MATRICES DE DISTINTO ORDEN\n\n");
  73.                break;
  74.            }
  75.          else
  76.            {
  77.                printf("\nMATRIZ RESULTANTE\n\n");
  78.                for (x=0; x<RB; x++)
  79.                    {
  80.                      for (y=0; y<CB; y++)
  81.                        {
  82.                            matrizR[x][y]=matrizA[x][y]+matrizB[x][y];
  83.                            printf("%d   ",  matrizR[x][y]);
  84.                        }printf("\n");
  85.                  }
  86.                printf("\n\n");
  87.                break;
  88.            }
  89.        /*RESTA (A - B)*/
  90.          case 2:
  91.          if (RA!=RB || CA!=CB)
  92.            {
  93.              printf("\nNO SE PUEDEN RESTAR MATRICES DE DISTINTO ORDEN\n\n");
  94.              break;
  95.            }
  96.          else
  97.            {
  98.              printf("\nMATRIZ RESULTANTE\n\n");
  99.              for (x=0; x<RB; x++)
  100.                {
  101.                  for (y=0; y<CB; y++)
  102.                    {
  103.                         matrizR[x][y]=matrizA[x][y]-matrizB[x][y];
  104.                         printf("%d   ",  matrizR[x][y]);
  105.                    }printf("\n");
  106.                }
  107.            printf("\n\n");
  108.            break;
  109.            }
  110.  
  111.        /*RESTA (B - A)*/
  112.          case 3:
  113.          if (RA!=RB || CA!=CB)
  114.            {
  115.              printf("\nNO SE PUEDEN RESTAR MATRICES DE DISTINTO ORDEN\n\n");
  116.              break;
  117.            }
  118.          else
  119.            {
  120.              printf("\nMATRIZ RESULTANTE\n\n");
  121.              for (x=0; x<RB; x++)
  122.                {
  123.                  for (y=0; y<CB; y++)
  124.                    {
  125.                         matrizR[x][y]=matrizB[x][y]-matrizA[x][y];
  126.                         printf("%d   ",  matrizR[x][y]);
  127.                    }printf("\n");
  128.                }
  129.              printf("\n\n");
  130.              break;
  131.            }
  132.  
  133.          case 4:
  134.          system("pause");
  135.          return 0;
  136.          break;
  137.        }
  138.    }
  139.      return 0;
  140. }
Citar
Aunque a mí me gusta más así:

Saludos!.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /*PROGRAMA QUE CREA UNA MATRIZ A Y UNA MATRIZ B; DA 4 OPCIONES: SUMAR, RESTAR (A - B), RESTAR (B - A) Y TERMINAR PROGRAMA*/
  4. int main(int argc, char *argv[])
  5. {
  6.    int x, y, matrizA[10][10], matrizB[10][10], matrizR[10][10], RA=0, CA=0, RB=1, CB=1, O;
  7.  
  8.    while (RA!=RB || CA!=CB){
  9.        printf("Cuantas lineas quiere que tenga la matriz A: ");
  10.        scanf("%d", &RA);
  11.        printf("\nCuantas columnas quiere que tenga la matriz A: ");
  12.        scanf("%d", &CA);
  13.        printf("\nCuantas lineas quiere que tenga la matriz B: ");
  14.        scanf("%d", &RB);
  15.        printf("\nCuantas columnas quiere que tenga la matriz B: ");
  16.        scanf("%d", &CB);
  17.        if (RA!=RB || CA!=CB) printf ("Han de tener las mismas lineas y columnas\npara sumar o restar\n");
  18. }
  19.    /*SE GENERA LA MATRIZ A*/
  20.  
  21.    for (x=0; x<RA; x++)
  22.        {
  23.            for (y=0; y<CA; y++)
  24.                {
  25.                    matrizA[x][y] = rand()%10;
  26.                }
  27.        }
  28.    printf("\n");
  29.    /*SE GENERA LA MATRIZ B*/
  30.    for (x=0; x<RB; x++)
  31.        {
  32.            for (y=0; y<CB; y++)
  33.                {
  34.                    matrizB[x][y] = rand()%10;
  35.                }
  36.        }
  37.    while (1){
  38.    system("pause");
  39.    system("cls");
  40.    printf("\nMATRIZ A\n\n");
  41.    for (x=0; x<RA; x++)
  42.        {
  43.            for (y=0; y<CA; y++)
  44.                {
  45.                    printf("%d   ", matrizA[x][y]);
  46.                }printf("\n");
  47.            printf("\n\n");
  48.        }
  49.    printf("MATRIZ B\n\n");
  50.    for (x=0; x<RB; x++)
  51.        {
  52.            for (y=0; y<CB; y++)
  53.                {
  54.                    printf("%d   ", matrizB[x][y]);
  55.  
  56.                }printf("\n");
  57.        }
  58.            printf("\n\n");
  59.    /*SE ELIGE LA OPERACION*/
  60.    printf("1.-SUMA\n\n2.-RESTA (A - B)\n\n3.-RESTA (B - A)\n\n4.-TERMINAR APLICACION\n\n");
  61.    printf("QUE OPERACION DESEA REALIZAR: ");
  62.    scanf("%d", &O);
  63.    /*SE HACE LA OPERACION ELEGIDA*/
  64.    switch (O)
  65.    {
  66.        /*SUMA*/
  67.          case 1:
  68.  
  69.                printf("\nMATRIZ RESULTANTE\n\n");
  70.                for (x=0; x<RB; x++)
  71.                    {
  72.                      for (y=0; y<CB; y++)
  73.                        {
  74.                            matrizR[x][y]=matrizA[x][y]+matrizB[x][y];
  75.                            printf("%d   ",  matrizR[x][y]);
  76.                        }printf("\n");
  77.                  }
  78.                printf("\n\n");
  79.                break;
  80.  
  81.        /*RESTA (A - B)*/
  82.            case 2:
  83.            printf("\nMATRIZ RESULTANTE\n\n");
  84.              for (x=0; x<RB; x++)
  85.                {
  86.                  for (y=0; y<CB; y++)
  87.                    {
  88.                         matrizR[x][y]=matrizA[x][y]-matrizB[x][y];
  89.                         printf("%d   ",  matrizR[x][y]);
  90.                    }printf("\n");
  91.                }
  92.            printf("\n\n");
  93.            break;
  94.  
  95.  
  96.        /*RESTA (B - A)*/
  97.            case 3:
  98.            printf("\nMATRIZ RESULTANTE\n\n");
  99.              for (x=0; x<RB; x++)
  100.                {
  101.                  for (y=0; y<CB; y++)
  102.                    {
  103.                         matrizR[x][y]=matrizB[x][y]-matrizA[x][y];
  104.                         printf("%d   ",  matrizR[x][y]);
  105.                    }printf("\n");
  106.                }
  107.              printf("\n\n");
  108.              break;
  109.            case 4:
  110.            system("pause");
  111.            return 0;
  112.            break;
  113.        }
  114.    }
  115.      return 0;
  116. }
« Última modificación: 9 Noviembre 2012, 18:59 pm por leosansan » En línea

MikeMonostone

Desconectado Desconectado

Mensajes: 7


[SK-DOOM] MikeMonoStone


Ver Perfil WWW
Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« Respuesta #4 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.

En línea

[SK-DOOM] Pensé que lo que haría sería fingir ser uno de esos sordomudos.
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« Respuesta #5 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:
Código
  1. for (x=1; x<=RA; x++){
  2.   for (y=1; y<=CA; y++){
  3.      ...

Hay que cambiarlos a:
Código
  1. for (x = 0; x < RA; x++){
  2.   for (y = 0; y < CA; y++){
  3.      ...

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 Desconectado

Mensajes: 1.314


Ver Perfil
Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« Respuesta #6 en: 9 Noviembre 2012, 19:33 pm »

Citar
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 Desconectado

Mensajes: 375


Ver Perfil
Re: ¿COMO HAGO QUE UN PROGRAMA BORRE PANTALLA Y REGRESE HASTA EL INICIO?
« Respuesta #7 en: 9 Noviembre 2012, 19:34 pm »



..?

No entendí ni medio.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines