Anuncios Google

Como hacer repeticion de ciclo

Hola muy buenas usuarios de scenebeta, recien me puse a intentar aprender programacion en lenguaje C y bueno, me gustaria saber una cosa. Dado el siguiente codigo:

 

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main()

{

    system("color 00");

    printf("CALCULADORA VIRTUAL\n");

    printf("\n");

    int respuesta;

    int a,b;

    int c;

    printf("introduzca el valor de a: \n");

    scanf("%d",&a);

    printf("introduzca el valor de b. \n");

    scanf("%d",&b);  

    printf(" %d + %d = %d \n", a, b, a + b);

    printf(" %d - %d = %d \n", a, b , a - b );

    printf(" %d : %d = %d \n", b, a, a / b);

    printf(" %d + %d = %d \n", b, a, b * a);

    printf("\n");

    printf(" SI LA DIVISION HA DADO CERO, ES PORQUE EL NUMERO REAL CONTIENE DECIMALES \n");

    printf("\n");

    system("PAUSE");

return 0;

    }

 

Como podria hacer para que incluyendo un printf preguntando si quiero realizar otro calculo, al poner las respusta 'yes' me reinicie el proceso, es decir, vuelva a: ingrese un valor para a, y se vuelva a hacer todo y que al ingresar 'no' me lo cierre?

 

a ser posible la forma mas rapida y facil ya que como dije me estoy iniciando^^

 

gracias de antemano, salu2


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Fednick

Lo puedes hacer con el ciclo

Lo puedes hacer con el ciclo do-while, lo que hace es primero realizar lo que le indicas y despues validar la condicion para asi repetir o no el programa.

Su sintaxis es: 

 

do {
 
acciones
 
}
 
while(condicion);

Lo que puedes hacer es justamente debajo de la llave de int main() poner "do" y su respectiva llave, dentro pones todo tu codigo y terminas con un menu simple, basta con poner printf y las opciones a elegir. cierras llave del do y terminas con while y su condicion. MUY IMPORTANTE PONER PUNTO Y COMA EN WHILE!

 

do {
int seleccion;
 
printf("Desea reiniciar el programa?\n1.- Si\n2.-No");
printf("\nIngrese opcion deceada: ");
scanf("%d",&seleccion);
}
while (seleccion!=2);

 

PD: Agradece que este aburrido xD

 

 

gracias^`

Muchas gracias, lo probare :D, aun asi, en while(selection!=2);, que significa ese 2? lo siento esq como dije soy nuevo y quiero ademas de saberlo entenderlo^^

Imagen de Fednick

En el menu le decimos al

En el menu le decimos al usuario que si ingresa 1 se repetira el programa, pero si ingresa 2 terminara el programa, por eso se repetira siempre que sea diferente ( != esto es una diferencia) a 2.

No se si me doy a entender, no sirvo para ser prefesor :P

haha

haha tranquilo lo entendi, pero hago eso tal cual me lo explicas y me lleva a un bucle infinito, mira, te paso el codigo de uno nuevo que hice y me dices si hay algun error^^

#include <stdio.h>

#include <stdlib.h>

int main()

{

    char seleccion;

    int no;

    int a;

    do {

    printf("Introduzca un numero del 0 al 50 \n");

    scanf("%d",&a);

    if (a = 50)

        printf("A\n");

    else

        if (a >= 25)

        printf("B\n");

    else

        printf("C\n");

    printf("\n");

    printf("Desea vovler a jugar(s/n)? \n");

    scanf("%d", &seleccion );

    }

    while(seleccion != no );

        system("PAUSE");

        return 0;

}

Imagen de Fednick

A simple vista, no le das

A simple vista, no le das valor a la variable "no" la cual haces una comparacion en el while y me da la impresion de que no se pueden hacer comparaciones de una variable caracter como lo es "seleccion" con una entera como lo es "no"

En el primer if se le pone "==" para hacer una comparacion con "=" es para darle valor.

Ademas cuando preguntas si desea volver, no es %d es %s por ser caracter la variable "seleccion" Mira, te dejo el codigo con sus respectivas correcciones y unos cuantos comentarios.

#include <stdio.h>
void main() { /*Con void main no tienes que poner return 0; */
    char seleccion;
    int a; /*No utilizo la variable "no" */
    do {
        system("clear"); /*Funciona para limpiar pantalla, si utilizas Windows es system("cls"); */
        printf("Introduzca un numero del 0 al 50 \n");
        scanf("%d",&a); /*Tambien se puede utilizar %i */
        if (a == 50) /*Doble = para hacer comparacion */
            printf("A\n");
        else if (a >= 25) /*Puedes hacer esto envez de hacer un if dentro de else */
            printf("B\n");
        else
            printf("C\n");
        printf("\n");
        printf("Desea vovler a jugar(s/n)? \n");
        scanf("%s", &seleccion );
    }
    while(seleccion != 'n' ); /*Variable seleccion diferente a letra n, la letra se pone ente comillas simples */
}

mil millones

mil millones de graciaaaaaaaaaaaaaaaaaaas :D funciono a la perfeccion*-*

ohh

en serio muchas gracias, voy  a probarlo y a ver si funciona ya >.<

por cierto, donde escribes los scripts esos para poder importarlos al campo de texto de la respuesta?*-* esq asi si me surgen mas dudas no tengo q copiar todo el codigo y que quede cutre salchichero -.-

Imagen de Fednick

Creo se a lo que te refieres.

Creo se a lo que te refieres. Le das a responder y hay un icono abajo que dice "Insertar codigo"  le das hay y le metes el codigo.

#include <stdio.h>
void main() {
      printf("Hola Scenebeta :P");
}

Juju

#include <stdio.h>
void main () {
 
    printf("Gracias e antemano :P");
 
}

haha

haha sii a eso me referia XD naaw gracias *-*

 

sabes de algun libro o lugar donde enseñen programacion en C de forma completa y detallada?

Imagen de Fednick

Pues lo poco que yo se lo he

Pues lo poco que yo se lo he aprendido en una Universidad, probablemente algun profesor tubo que haber dicho algun libro pero no recuerdo.

ohh

ohh gracias,no pasa nada^^

Imagen de Fednick

No te entendi eso de los

No te entendi eso de los scripts para el campo de texto xD

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.