How do I have an option that exits the program or keeps running with the others?

2

You can add a third option when asking the user, and this option will only appear after the first calculation. Ex. (3 exit). I just thought about the way the 3 options come up right from the start.

#include <stdio.h>

  int soma(void)
  {
      int valor, soma;
      soma = 0;
      printf("Foi escolhida a soma:\n\n");
      do
      {
          printf("Informe os valores desejados e 0 (zero) para concluir:");
          scanf("%d", &valor);
          soma += valor;
      }
      while(valor!=0);

      return soma;
  }

  int mult(void)
  {
      int valor, mult;
      mult= 1;
      printf("Foi escolhida a multiplicacao:\n\n");
      do{
           printf("Informe os valores desejados e 0 (zero) para concluir:");
           scanf("%d", &valor);
           if(valor==0)
           {
                break;
           }
           mult*= valor;
      }
      while(valor!=0);

      return mult;
  }

  int main()
  {
      int op ,result;
      printf("Informe a operacao desejada soma(1) ou produto (2):");
      scanf("%d", &op);

      if(op==1)
      {
          result = soma();
      }  
      else if(op==2)
      {
          result = mult();
      }

      printf("O resultado foi: %d", result);
      return 0;

  }
    
asked by anonymous 18.10.2015 / 01:51

1 answer

2

Just add a loop in main() . I preferred to use 0 to exit to maintain consistency:

#include <stdio.h>

int soma(void) {
    int valor = 0, soma = 0;
    printf("Foi escolhida a soma:\n\n");
    do {
        printf("Informe os valores desejados e 0 (zero) para concluir:");
        scanf("%d", &valor);
        soma += valor;
    } while (valor != 0);
    return soma;
}

int mult(void) {
    int valor = 0, mult = 1;
    printf("Foi escolhida a multiplicacao:\n\n");
    do {
        printf("Informe os valores desejados e 0 (zero) para concluir:");
        scanf("%d", &valor);
        if (valor == 0) {
            break;
        }
        mult *= valor;
    } while (valor != 0);
    return mult;
}

int main() {
    int op = 0, result;

    do {
        printf("Informe a operacao desejada soma(1) ou produto (2):");
        scanf("%d", &op);

        if (op == 1) {
            result = soma();
        }
        else if (op == 2) {
            result = mult();
        }
        if (op != 0) {  
            printf("O resultado foi: %d", result);
        }
    } while (op != 0);
    return 0;
}

See running on ideone .

    
18.10.2015 / 02:04