C/C++
Olá, iniciei um projeto pessoal para que eu possa treinar e melhora-lo a medida em que vou aprendendo mais,
aqui gostaria de receber dicas para que eu possa melhorar meu código, e também NÃO SEI como fazer com que o usuário precione as tecla ENTER ou ESPAÇO,e conte como sair da opção "CONTINUAR? S/N SIM/NÃO " não sei como fazer para reconhecer.
OBS: ESTOU APRENDENDO, OU SEJA, SOU INICIANTE NESSA ÁREA!
#include <iostream>
#include <locale.h>
#include <math.h>
#include <cctype>
#include <stdlib.h>
using namespace std;
//função que calcula a equação de 2°
void equacao(int e1, int e2, int e3){
float delta,res,res2;
if(e1!=0){//Caso o termo a seja diferente de 0
delta=(e2*e2)-(4*e1*e3);//coleta o valor de delta!
cout<<"Delta \n\n"<<delta;//a pena para que eu saiba o delta!
if(delta<0){
cout<<"Não possui raizes reais!\n";
}
else if(delta==0){
res=(-e2)/(2*e1);
cout<<"Possui uma raiz: \n"<<res<<endl;
}else{//CASO A EQUAÇÃO ESTEJA COMPLETA
res=(-e2-sqrt(delta))/(2*e1);
res2=(-e2+sqrt(delta))/(2*e1);
cout<<" 1° raiz: "<<res2<<endl;
cout<<" 2° raiz: "<<res<<endl;
}
}
else{
cout<<"Termo a=0 não é uma equação de 2°\n";
}
}
//Realiza algumas da operações matematicas
void soma(double t1,double t2, char esco){
switch (esco){
case '+':
cout<<"SOMA = "<<t1 <<" "<<esco<<" "<<t2<<" = "<<t1+t2;
break;
case '-':
cout<<"SUBTRAÇÃO = "<<t1 <<" "<<esco<<" "<<t2<<" = "<<t1-t2;
break;
case 'X':
cout<<"MULTIPLICAÇÃO = "<<t1 <<" "<<esco<<" "<<t2<<" = "<<t1*t2;
break;
case '/':
cout<<"DIVISÃO = "<<t1 <<" "<<esco<<" "<<t2<<" = "<<t1/t2;
break;
case 'E':
cout<<"EXPONENCIÇÃO = "<<t1<<"^"<<t2<<" = "<< pow(t1,t2);
break;
case 'P':
cout<<t1<<"%"<<" de "<<t2<<" = "<< (t1*t2)/100;
break;
}
}
//FUNÇÃO PRINCIPAL
int main()
{
setlocale(LC_ALL,"portuguese");
double n1,n2,n3,aux;
int i1,i2,aux2;
char esc,opc,mais,opc2;
cout<<"Realizar operações comuns? S/N\n";
cin>>opc;
opc=toupper(opc);
if(opc=='S'){
do{
system("cls");
cout<<"--------------CALCULADORA--------------\n\n";
cout<<"-------MENU------MENU------MENU----\n\n";
cout<<"Informe o tipo de conta que deseja efetuar: \n";
cout<<"+ ADIÇÃO\n";
cout<<"- SUBTRAÇÃO\n";
cout<<"X MULTIPLICAÇÃO\n";
cout<<"/ DIVISÃO\n";
cout<<"R RAIZ QUADRADA\n";
cout<<"E EXPONECIAÇÃO\n";
cout<<"% RESTO DA DIVISÃO\n";
cout<<"P PORCENTAGEM\n\n";
cout<<" ";
cin>>esc;
esc=toupper(esc);
if(esc=='_'){
esc='-';
}
if (esc=='R'){
cout<<"Informe o número: \n";
cin>>n1;
aux=sqrt(n1);
cout<<"Raiz quadrada: "<<aux<<endl;
}
if (esc=='%'){
cout<<"Informe dois números para obter o resto da divisão: \n";
cin>>i1>>i2;
aux=i1%i2;
cout<<"\nRESTO = "<<aux;
}
else{
cout<<"Entre com os valores do cálculo: \n";
cin>>n1;
cout<<"Outro número: \n";
cin>>n2;
soma(n1,n2,esc);
}
cout<<"\nCONTINUAR? S/N \n";
cin>>opc;
opc=toupper(opc);
if(opc=='\n'||opc==' '){
opc=='N';
}
}while(opc=='S');
}
//realiza equações de 2°
cout<<"EQUAÇÕES DE 2°GRAU\n";
cout<<"\nQUANDO O TERMO NÃO APARERECE, DEVE SE INFORMAR O VALOR ZERO(0)\n\n";
cout<<"Realizar equação? S/N \n\n";
cin>>opc2;
opc2=toupper(opc2);
if(opc2=='S'){
do{
system("cls");
cout<<"Informe os valores de a,b,c: \n";
cout<<"Termo a: ";
cin>>n1;
cout<<"\nTermo b: ";
cin>>n2;
cout<<"\nTermo c: ";
cin>>n3;
equacao(n1,n2,n3);
cout<<"\n Realizar outra equação de 2°?S/N \n\n";//caso queira realizar mais operações
cin>>mais;
mais=toupper(mais);
}while(mais=='S');
}
return 0;
}