Вы находитесь на странице: 1из 5

Sumrio Calculadora em C ....................................................................................................................... 3 Etapas de desenvolvimento .................................................................................................... 3 Portugus Estruturado para Calculadora ................................................................................ 4 Comando System() .....................................................................................................................

5 System (atr) Color .................................................................................................................. 5 System (atr) Pause .................................................................................................................. 6 System (atr) Title. ................................................................................................................... 6 Cdigo em C ............................................................................................................................... 6 Telas: ....................................................................................................................................... 11 Calculadora em C Etapas de desenvolvimento Conforme o ATPS descreve, a calculadora ser escrita em linguagem C que no momento a ferramenta ministrada na matria de programao estruturada para aprendizado e ambientao com linguagens de programao. O modelo da calculadora atender as especificaes descritas no ATPS e estar apta para realizar os clculos necessrios

para o funcionamento. A calculadora no primeiro momento realizar as operaes mais comuns da matemtica, possibilitar de realizao das operaes de soma, subtrao, multiplicao, diviso, exponenciao, raiz quadrado e porcentagem. Aps terminado as etapas do cdigo, a calculadora executar as aes da seguinte forma: Ser exibida uma tela com as opes de calculo conforme as operaes informadas. O usurio dever informar o operador (O caractere conforme a operao) Informar os valores para operao Exibio do resultado na tela e o programa ser finalizado. A calculadora realizar uma operao de calculo por vez, para cada chamada de execuo, o usurio dever primeiramente informar o operador e em seguida informar o primeiro valor e o segundo valor respectivamente, ao termino a tela informar o resultado obtido do calculo escolhido. Se caso o usurio atribuir o numero 0 quando for executar operao de diviso, o programa exibira na tela que esse tipo de calculo no possvel e finalizar a execuo do programa. Portugus Estruturado para Calculadora Abaixo ser listado em portugus estruturado o cdigo que foi atribudo calculadora para permitir a execuo do programa conforme descreve o ATPS. O cdigo facilita a compreenso para os iniciantes na programao. - - - - - - - - - - - - - - - - - - -trecho do cdigo - - - - - - - - - - - - - - - - - - - - - - - - - - Incio // incio do programa Inteiro: numero 1, numero2, resultado; // nmeros inteiros Caractere: operador; // recebe uma string que informa varivel que identifica a operao. Flutuante: valorDecimal, decimal2; // recebe nmeros decimais. Escreva ( Calculadora em C); Escreva (Escolha o operador); Leia (operador); Escolha (operador) Caso +: resultado = numerador1 + numerador2;

escreva( valor da soma eh , resultado) Pare Caso -: resultado = numerador1 - numerador2; escreva( valor da subtrao eh , resultado) Pare Caso /: valorDecimal = numerador1 / numerador2; escreva( valor da diviso , resultado) Pare Caso *: resultado = numerador1 * numerador2; escreva( valor da soma eh , resultado) Pare Caso e: resultado = pot( numerador1,numerador2); escreva( valor da soma eh , resultado) Pare Caso r: resultado = sqrt(numerador1); escreva( a raiz quadrada , resultado) Pare Caso p: decimal2 = numero2 valorDecimal = numero1 * ( numero2 / 100); escreva( numero1 + por cento de + numero, resultado) Pare Caso Contrario Escreva ( Nenhum operador vlido selecionado, o programa ser encerrado.) Fim Escolha Fim. Programa encerrado. Comando System() Este comando permite acessar funcionalidades oferecidas no promot de comando do MSDos no momento de execuo, tais como alterar cores do fundo de tela e das letras, pausar a execuo, limpar a tel, mudar o titulo da janela, entre outros. Os comandos so escritos entre aspas duplas, conforme cita o documento que serve de referencia para os exemplos. Eles so uteis para deixar o programa com uma interface mais amigvel para o usurio. Para utilizao necessrio incluir o stdio.h disponvel na pasta include do programa (importao de biblioteca). No programa da calculadora, utilizamos trs instrues do comando system() para ativar as seguintes funcionalidades: System (atr) Color Altera as cores de fundo da tela e das letras. Os atributos de cor so especificados por dois dgitos hexadecimais. Na calculadora, utilizamos a cor de fundo azul e letra amarela. System (atr) Pause Executa uma pausa na execuo do programa ate ser pressionada uma tecla qualquer e apresenta a mensagem Pressione qualquer tecla para continuar.... No trabalho do ATPS utilizamos para que o programa no feche a tela no termino das instrues da calculadora. System (atr) Title.

Altera o titulo da janela do programa, caso seja omitido o titulo ser o endereo do arquivo executvel gerado. No trabalho, atribumos o nome Calculadora para ATPS Parte1. Durante a execuo o texto fica visvel no cabealho da janela. Cdigo em C #include #include #include // necessrio para funcionamento do getche() // construindo a calculadora conforme especifica o ATPS. // contruindo a area grfica int main(){ // atribuindo variaveis int numero1, numero2, resultado, cem; // recebe valores de entrada inteiros char operador; float valorDecimal, decimal2; // recebe valor de diviso e raiz e operaes que resultam em decimal // desenhando a rea grfica "Calculadora" system("title Calculadora para ATPS Parte I"); // inserindo titulo system("color 1E"); // deixando a cor do programa azul printf("\n"); printf("\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD \xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB\n"); printf("\t\xBA C A L C U L A D O R A \xBA\n"); printf("\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD \xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n"); printf("\n\n"); printf("\t(+) - Soma\n"); printf("\t(-) - Subtracao\n"); printf("\t(*) - Multiplicacao\n"); printf("\t(/) - Divisao\n"); printf("\t(e) - Exponenciacao\n"); printf("\t(r) - Raiz Quadrada\n"); printf("\t(p) - Porcentagem\n"); printf("\t(s) - Sair\n\n"); printf("Opcao escolhida "); cem = 100; operador = getche(); // captura a string que informa o operador printf("\n\n"); switch (operador){ case '+': // operao de soma printf("\tS O M A \n\n"); printf("Primeiro valor: "); scanf("%d",&numero1); printf("\n"); printf("Segundo valor: "); scanf("%d",&numero2); printf("\n"); resultado = numero1 + numero2; printf("%d + %d = %d", numero1, numero2, resultado); printf("\n\n\n"); break; case '-': // operao de subtrao printf("\tS U B T R A C A O \n\n");

printf("Primeiro valor: "); scanf("%d",&numero1); printf("\n"); printf("Segundo valor: "); scanf("%d",&numero2); printf("\n"); resultado = numero1 - numero2; printf("%d - %d = %d", numero1, numero2, resultado); printf("\n\n\n"); break; case '*': // operao de multiplicao printf("\tM U L T I P L I C A C A O \n\n"); printf("Primeiro valor: "); scanf("%d",&numero1); printf("\n"); printf("Segundo valor: "); scanf("%d",&numero2); printf("\n"); resultado = numero1 * numero2; printf("%d * %d = %d", numero1, numero2, resultado); printf("\n\n\n"); break; case '/': // operao de diviso printf("\tD I V I S A O \n\n"); printf("Primeiro valor: "); scanf("%d",&numero1); printf("\n"); printf("Segundo valor: "); scanf("%d",&numero2); printf("\n"); if (numero1 == 0 || numero2 == 0) { // se o dividendo ou o divisor forem iguias a 0, a operao anulada. printf("Divisor ou Divendendo nao podem ser como valor o numero 0\n\n\n"); break; } else{ valorDecimal = numero1 / numero2; printf("%d divido por %d = %.3f", numero1, numero2, valorDecimal); printf("\n\n\n"); } break; case 'e': // operao de Exponenciao printf("\tE X P O N E N C I A C A O \n\n"); printf("Valor da base: "); scanf("%d",&numero1); printf("\n"); printf("Valor do Expoente: "); scanf("%d",&numero2); printf("\n"); resultado = pow(numero1,numero2); printf("%d elevado a %d = %d", numero1, numero2, resultado);

printf("\n\n\n"); break; case 'r': // operao de Radiciao printf("\tR A D I C I A C A O \n\n"); printf("Valor da radicando: "); scanf("%d",&numero1); printf("\n"); //printf("Valor da raiz: "); // scanf("%d",&numero2); //printf("\n"); valorDecimal = sqrt(numero1); printf("Raiz quadrada de %d eh = %.5f", numero1, valorDecimal); printf("\n\n\n"); break; case 'p': // operao de Porcentagem printf("\tP O R C E N T A G E M \n\n"); printf("Valor a ser calulado: "); scanf("%d",&numero1); printf("\n"); printf("Porcentagem: "); scanf("%d",&numero2); printf("\n"); decimal2 = numero2; valorDecimal = numero1 * (decimal2 / 100); printf("%d por cento de %d = %.5f", numero2, numero1, valorDecimal); printf("\n\n\n"); break; default: // se outro caractere for digitado o programa ser encerrado printf("Operacao invalida, encerrando o programa...\n\n"); break; } system("pause"); return 0; }

Вам также может понравиться