Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Duvida: O que posso arrumar/adicionar na Calculadora Stop 1.0

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C / C++ Duvida: O que posso arrumar/adicionar na Calculadora Stop 1.0

    Olá, sou iniciante em C, ais nao estou tendo muito tempo para estudar.

    Queria saber o que posso colocar para que fique melhor o meu software.


    Link para download: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


    Pode criticar !

    Digam o que vocês acharam !


    Codigo-Fonte

    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>


    int main ()

    {

    // Declaração das Variveis
    int menu_opcao, m1, m2; // M1 e M2 sao para exponenciacao
    float n1, n2;

    printf ("Calculadora Stop 1.0 Completa");

    //Entrada de Dados
    printf ("\n\n Escola uma das opcoes a seguir:");
    printf ("\n\n 1 - Somar \n 2 - Subtrair \n 3 - Multiplicar \n 4 - Dividir \n 5 - Expoente\n\n");
    scanf ("%d", &menu_opcao);

    //Erro
    for (menu_opcao<1; menu_opcao>4 {
    printf ("\nEssa opcao nao existe\n\n");
    break;
    }

    system ("cls"); // Limpa Tela

    // Processamento
    switch (menu_opcao) {
    case 1:
    printf ("\nDigite um numero: ");
    scanf ("%f", &n1);
    printf ("Digite outro numero: ");
    scanf ("%f", &n2);
    printf ("\nO resultado da soma de %f mais %f = %f \n\n", n1, n2, n1+n2);
    break;
    case 2:
    printf ("\nDigite um numero: ");
    scanf ("%f", &n1) ;
    printf ("Digite outro numero: ");
    scanf ("%f", &n2);
    printf ("\nO resultado da subtracao de %f mais %f = %f \n\n", n1, n2, n1-n2);
    break;
    case 3:
    printf ("\nDigite um numero: ");
    scanf ("%f", &n1);
    printf ("Digite outro numero: ");
    scanf ("%f", &n2);
    printf ("\nO resultado da multiplicacao de %f mais %f = %f \n\n", n1, n2, n1*n2);
    break;
    case 4:
    printf ("\nDigite um numero: ");
    scanf ("%f", &n1);
    printf ("Digite outro numero: ");
    scanf ("%f", &n2);
    if (n1==0) {
    printf ("Nenhum numero eh divisivel por zero."); }
    if (n2==0) {
    printf ("\nNenhum numero eh divisivel por zero.\n\n"); }
    break;
    printf ("\nO resultado da divisao de %f mais %f = %f \n\n", n1, n2, n1/n2);
    break;
    }

    getch ();

    }


  • Font Size
    #2
    Hi !
    Porque não 'quebrar' seu código em partes e fazer funções separadas das funcionalidades do seu programa ?
    Algo parecido com isso:
    Código PHP:
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>

    int menu();
    void FSoma();
    void FExpo();

    int main()
    {
     while(
    true){
         switch(
    menu()){
                     case 
    1:
                          {
                            
    FSoma();
                             break;
                          }

                     case 
    2:
                          {
                            
    FExpo();
                             break;
                          }
                    default:
                        exit(
    0);

                }}

    }


    int menu()
    {
    int opc;
           
    printf("Calculadora");
           
    printf ("\n\n 1 - Somar \n 2 - Subtrair \n 3 - Multiplicar \n 4 - Dividir \n 5 - Expoente\n\n");
           
    printf("Digite a opcao desejada: ");
           
    scanf("%d",&opc);
    return 
    opc;
    }

    void FSoma()
    {
         
    int FnumberSnumber;
         
    printf("Primeiro numero: ");scanf("%d",&Fnumber); 
         
    printf("Segundo numero: ");scanf("%d",&Snumber);
         
    printf("Resultado: %d\n",(Fnumber+Snumber)); 

    Podendo lógicamente, depois implementar funções com passagem de parametros por valor ou referência.

    E deixo a dica para a exponênciação, a função pow() do header math.h.
    Algo como isso:
    Código PHP:
    void FExpo()
    {
         
    double FnumberSnumber;
         
    printf("Primeiro numero: ");scanf("%lf",&Fnumber); 
         
    printf("Segundo numero: ");scanf("%lf",&Snumber);
         
    printf("Resultado: %lf",pow(Fnumber,Snumber));
     

    Bons estudos.
    []'s

    Comment


    • Font Size
      #3
      Valeu M4ck, vou ver o que consigo fazer.

      Comment


      • Font Size
        #4
        Não entendi muito...

        Mais vou me esforçar, mais me diga porque colocou o comand switch no inicio ? Muda alguma coisa ou fica melhor para entender o codigo.

        Comment


        • Font Size
          #5
          Hi !
          O loop while(true), é um loop infinito.
          O que eu fiz foi jogar o switch dentro desse loop, para sempre que sair do switch (Criei uma função menu retornando um inteiro, e esse inteiro ja é usado para a estrutura de controle.)
          ele vai continuar nesse loop até que a operação default seja chamada, que nesse caso, é qualquer numero fora desse range:
          1 - Somar \n 2 - Subtrair \n 3 - Multiplicar \n 4 - Dividir \n 5 - Expoente\n\
          Eu nao terminei o switch ali, faltam as outras operações .. só deixei 3 de exemplo para você ver como funciona.
          No caso inutilizei uma variável sua de controle, e as principais do programa, deixando apenas as variáveis locais das funções, que após sair delas .. ja não existem.
          Enfim, qualquer coisa é só perguntar.

          []'s

          Comment


          • Font Size
            #6
            Resposta

            Valeu, ver oque posso adcionar para melhor.

            So um pergunta, tem como eu fazer esse programa em windows applicatio so fiz ele no console.

            Comment


            • Font Size
              #7
              Sim, existe a possibilidade de fazer uma GUI.
              Caso esteja utilizando Windows, pode fazer o uso da WinApi e construir a interface, se não me engano algumas IDE's ajudam a criação.
              Ou se estiver em ambiente *nix, pode fazer o uso de GTK.

              Porém, não recomendo ir diretamente a programação de GUI's, estude um pouco mais sobre Lógica e os fundamentos da linguagem C.

              []'s

              Comment


              • Font Size
                #8
                Obrigado...

                Comment

                X
                Working...
                X