Jump to content

Criar um simples metodo para nao sair do programa


Recommended Posts

Posted (edited)

Olá eu sou super iniciante em C, sei outras linguagens mas C é mesmo os primeiros passos que estou a dar, eu tenho um programa para calcular dois valores muito básico. Sei que posso usar o while com o scanf !=EOF e isso nao irá permitir que o programar acabe, mas se eu usar o scanf no while eu irei ler os dois valores e não irei conseguir fazer print de nada entre eles, e o meu objetivo é que funcione como um formulario, texto escrito a pedir o input e depois o input.

Vou deixar aqui o código que tenho.


#include <stdio.h>

double sum(double first, double second)
{
   return first + second ;
}

void test_sum(void)
{
   double first;
   double second;
   double result;
   char option;

   printf("Escreva o primeiro numero:\n");
   scanf("%lf", &first);

   printf("Escreva o segundo numero:\n");
   scanf("%lf", &second);


   result = sum(first, second);
   printf("A soma é:%f\n", result);

   printf("Quer calcular de novo?\n");
   scanf("%n", &option);
}

int main(void)
{
   printf ("calcular a soma\n");
   test_sum();
   return 0;
}

Obrigdo

Edited by pmg
adicionei linguagem de programação à tag code
Posted

Uma solução comum (acho eu) é meter tudo o que queres repetir dentro dum ciclo infinito, e terminar esse ciclo com um break; quando chegar a altura

while (1) {
   /* código a repetir */
   if (sair == 'n') break; /* sai do ciclo infinito */
}

Atenção: tens que mudar scanf("%n")...

Se quiseres mais segurança no teu programa, podes averiguar o uso de fgets() seguido de sscanf() em vez dos scanf(). O scanf() não é aconselhado para user input com segurança e tratamento de erros.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.