Trabalho de Programação Estruturada I
Por: crishill • 20/9/2015 • Trabalho acadêmico • 3.007 Palavras (13 Páginas) • 313 Visualizações
Trabalho de
Programação Estruturada I – Calculadora Full
Faculdade Anhanguera Educacional Campinas – FAC3
Alunos:
Nome: Cristiano Hilario de Almeida
RA: 1299735176
Nome: Diego Herinque Naves
RA: 7629711232
Nome: Julio Fernando Benjamin Valenzuela Montes
RA: 6892521499
Nome: Marcelo Augusto Galante Rodrigues
RA: 7476687406
Professor: Michel Fontana
[pic 1][pic 2][pic 3][pic 4][pic 5][pic 6][pic 7]
#include
#include
#include
#include
#include
#include
// Nome: Cristiano Hilario de Almeida
// RA: 1299735176
// Nome: Diego Herinque Naves
// RA: 7629711232
// Nome: Julio Fernando Benjamin Valenzuela Montes
// RA: 6892521499
// Nome: Marcelo Augusto Galante Rodrigues
// RA: 7476687406
#define menu " ***************************************\n\n CALCULADORA \n\n ***************************************\n\n\nOperacoes possiveis\n + --> Soma\n - --> Subtracao\n / --> Divisao\n * --> Multiplicacao\n r --> Resto da divisao\n p --> Potenciacao\n f --> Fatorial\n R --> Raiz quadrada\n c --> Conversor de numeros\n s --> Sair\n\nDigite a operacao a ser executada:"
main(){
char tipo; // Tipo de operação a ser executada
char tipo_convec; // Tipo de converção
int base; // Base do tipo de conversor, se por exemplo Binário base = 2
float x; // Primeiro valor
float y; // Segundo valor
float resto; // Resto da divisão
double result=0; // Resultado das operações
int rest1; // 1° Resto da divisão
int rest2; // 2° Resto da divisão
int seg_valor=0; // Variável representativa para a leitura ou não da 2° variável
int n; //Utilizado para compor o for
setlocale(LC_ALL, "Portuguese");
_tsetlocale(LC_ALL, _T("portuguese_portugal"));
//Fundo azul
system("color 1f");
printf(menu);
scanf("%c",&tipo);
while(tipo != 's' && tipo != 'S'){
if(tipo == '+' || tipo == '-' || tipo == '/' || tipo == '*' || tipo == 'r'){
printf("\nDigite o primeiro valor:");
}else if(tipo == 'p'){
printf("\nDigite a base da potencializacao:");
}else if(tipo == 'f'){
printf("\nDigite o numero para o fatorial:");
}else if(tipo == 'R'){
printf("\nDigite o numero para a raiz quadrada:");
}else if(tipo == 'c'){
printf("\nDigite o numero a ser convertido:");
}
scanf(" %f",&x);
if(tipo == '+' || tipo == '-' || tipo == '/' || tipo == '*' || tipo == 'r'){
printf("\nDigite o segundo valor:");
seg_valor=1;
}else if(tipo == 'p'){
printf("\nDigite a potencia:");
seg_valor=1;
}else if(tipo == 'f'){
//não imprime nada, pois a fatoração só terá um valor
seg_valor=0;
}else if(tipo == 'R'){
//não imprime nada, pois é a raiz quadrada
seg_valor=0;
}else if(tipo == 'c'){
printf("\nDigite para o que deseja converter:\n O --> Octal\n B --> Binario\n");
seg_valor=1;
}
//Lê o segundo valor se for necessário
if(seg_valor==1){
//Conversor selecionado
if(tipo == 'c') scanf(" %c",&tipo_convec);
//operação comum selecionada
if(tipo != 'c') scanf(" %f",&y);
}
system("cls");
printf(menu);
printf("\n %3.2f\n%c %3.2f\n--------------------\n",x,tipo,y);
switch(tipo){
case '+': //SOMA
system("cls");
printf(menu);
result=x+y;
printf("\n\n %3.2f\n%c %3.2f\n --------------------\n %3.2f\n",x,tipo,y,result);
break;
case '-': //SUBTRAÇÃO
system("cls");
printf(menu);
result=x-y;
printf("\n\n %3.2f\n%c %3.2f\n --------------------\n %3.2f\n",x,tipo,y,result);
break;
case '/': //DIVISÃO
system("cls");
printf(menu);
result=x/y;
printf("\n\n %3.2f\n%c %3.2f\n --------------------\n %3.2f\n",x,tipo,y,result);
...