Calculadora de numeros complejos en c++
Enviado por Rogelio Diaz Bravo • 9 de Marzo de 2018 • Trabajo • 2.604 Palabras (11 Páginas) • 2.382 Visitas
Página 1 de 11
- 1 //DIAZ BRAVO JESUS ROGELIO
- 2 //2AV5
- 3
- 4 #include
- 5 #include
- 6 #include
- 7
- 8 using namespace std;
- 9
- 10 class Calcu{
- 11 ///Atributos
- 12 public:
- 13 float complejos[50][2];
- 14 char x;
- 15 public:
- 16 int n;
- 17 float r;
- 18 float c;
- 19 public:
- 20 Calcu();
- 21 char preguntar();
- 22 void elegir();
- 23 private:
- 24 void suma();
- 25 void resta();
- 26 void multi();
- 27 void divi();
- 28 void recpol();
- 29 void receu();
- 30 };
- 31 Calcu::Calcu(){
- 32 for (int i=0;i<50;i++)
- 33 {
- 34 complejos[i][0]=0;
- 35 complejos[i][1]=0;
- 36 }
- 37 n=0;
- 38 x=000;
- 39 r=0.0;
- 40 c=0.0;
- 41
- 42 }
- 43 char Calcu::preguntar(){
- 44 int r=0;
- 45 system("cls");
- 46 cout<<"\t\t*Calcu de numeros complejos*"
- 47 <<"\n\nFunciones:"
- 48 <<"\n\n\tSuma (s)"
- 49 <<"\n\tResta (r)"
- 50 <<"\n\tMultiplicacion (m)"
- 51 <<"\n\tDivicion (d)"
- 52 <<"\n\tRectangular a polar (p)"
- 53 <<"\n\tRectangular a euler (e)"
- 54 <<"\nSi desea salir (g)"
- 55 <<"\n\nPresione la tecla de la funcion que desea: ";
- 56 cin>>x;
- 57 if (x==83||x==82||x==77||x==68||x==80||x==69||x==71)
- 58 {
- 59 r=1;
- 60 x+=32;
- 61 }
- 62 else if(x==83+32||x==82+32||x==77+32||x==68+32||x==80+32||x==69+32||x==71+32)
- 63 {
- 64 r=1;
- 65 }
- 66
- 67 while(r==0)
- 68 {
- 69 cout<<"\n\nOpcion no encontrada. \nPresione la tecla de la funcion que desea: ";
- 70 cin>>x;
- 71 if (x==83||x==82||x==77||x==68||x==80||x==69||x==71)
- 72 {
- 73 r=1;
- 74 x+=32;
- 75 }
- 76 else if(x==83+32||x==82+32||x==77+32||x==68+32||x==80+32||x==69+32||x==71+32)
- 77 {
- 78 r=1;
- 79 }
- 80 }
- 81 return x;
- 82 }
- 83 void Calcu::elegir(){
- 84 switch (x){
- 85 case 115:
- 86 Calcu::suma();
- 87 break;
- 88 case 114:
- 89 Calcu::resta();
- 90 break;
- 91 case 109:
- 92 Calcu::multi();
- 93 break;
- 94 case 100:
- 95 Calcu::divi();
- 96 break;
- 97 case 112:
- 98 Calcu::recpol();
- 99 break;
- 100 case 101:
- 101 Calcu::receu();
- 102 break;
- 103 case 103:
- 104 cout<<"\n\n\t***Funcion de carlaculadora terminada.***";
- 105 break;
- 106 }
- 107 }
- 108 void Calcu::suma(){
- 109 do{
- 110 system("cls");
- 111 cout<<"\t\tSuma de numeros complejos.";
- 112 do{
- 113 cout<<"\n\n¿Cuantos numero complejos desea sumar? (maximo 50)";
- 114 cin>>n;
- 115 }while(n<1||n>50);
- 116 for (int i=0;i
- 117 {
- 118 cout<<"\nIntroduzca la parte real del numero "<
- 119 cin>>complejos[i][0];
- 120 cout<<"\nIntroduzca la parte imaginaria del numero "<
- 121 cin>>complejos[i][1];
- 122 }
- 123 cout<<"\n\nCalculando...";
- 124 for(int i=0;i
- 125 {
- 126 r+=complejos[i][0];
- 127 c+=complejos[i][1];
- 128 }
- 129 if (c<=0){
- 130 cout<<"\n\nEl resultado de la suma de los numeros complejos es: "<
- 131 }
- 132 else{
- 133 cout<<"\n\nEl resultado de la suma de los numeros complejos es: "<
- 134 }
- 135 cout<<"\n\nSi desea realizar otra suma presione 0, si desea regresar al menu anterior solo presione cualquier tecla.";
- 136 cin>>n;
- 137 }while (n==0);
- 138 }
- 139 void Calcu::resta(){
- 140 do{
- 141 system("cls");
- 142 r=0,c=0;
- 143 cout<<"\t\tResta de numeros complejos.";
- 144 do{
- 145 cout<<"\n\n¿Cuantos numero complejos desea Restar? (maximo 50)";
- 146 cin>>n;
- 147 }while(n<1||n>50);
- 148 for (int i=0;i
- 149 {
- 150 cout<<"\nIntroduzca la parte real del numero "<
- 151 cin>>complejos[i][0];
- 152 cout<<"\nIntroduzca la parte imaginaria del numero "<
- 153 cin>>complejos[i][1];
- 154 }
- 155 cout<<"\n\nCalculando...";
- 156 r=complejos[0][0];
- 157 c=complejos[0][1];
- 158 for(int i=1;i
- 159 {
- 160 r-=complejos[i][0];
- 161 c-=complejos[i][1];
- 162 }
- 163 if (c<=0){
- 164 cout<<"\n\nEl resultado de la resta de los numeros complejos es: "<
- 165 }
- 166 else{
- 167 cout<<"\n\nEl resultado de la resta de los numeros complejos es: "<
- 168 }
- 169 cout<<"\n\nSi desea realizar otra resta presione 0, si desea regresar al menu anterior solo presione cualquier tecla.";
- 170 cin>>n;
- 171 }while (n==0);
- 172 }
- 173 void Calcu::divi(){
- 174 float resren,cuad1,rescompn,cuad2,rescompc,rescomp1;
- 175 do{
- 176 system("cls");
- 177 cout<<"\t\tDivicion de numeros complejos."
- 178 <<"\n\nIntroduzca la parte real del numerador complejo: ";
- 179 cin>>complejos[0][0];
- 180 cout<<"\n\nIntroduzca la parte imaginaria del numerador complejo: ";
- 181 cin>>complejos[0][1];
- 182 cout<<"\n\nIntroduzca la parte real del denominador complejo: ";
- 183 cin>>complejos[1][0];
- 184 cout<<"\n\nIntroduzca la parte imaginaria del denominador complejo: ";
- 185 cin>>complejos[1][1];
- 186 cout<<"\n\nCalculando...";
- 187 resren=complejos[0][0]*complejos[1][0];
- 188 rescompn=complejos[0][0]*(-complejos[1][1]);
- 189 rescomp1=complejos[0][1]*complejos[1][0];
- 190 rescompc=complejos[0][1]*(-complejos[1][1]);
- 191
- 192 cuad1=pow(complejos[1][0],2);
- 193 cuad2=pow(complejos[1][1],2);
- 194 cuad1+=cuad2;
- 195
- 196 resren+=(-rescompc);
- 197 rescompn+=rescomp1;
- 198 resren=resren/cuad1;
- 199 rescompn=rescompn/cuad1;
- 200
- 201 if (rescompn<=0){
- 202 cout<<"\n\nEl resultado de la divicion de los numeros complejos es: "<
- 203 }
- 204 else{
- 205 cout<<"\n\nEl resultado de la resta de los numeros complejos es: "<
- 206 }
- 207
- 208 cout<<"\n\nSi desea realizar otra divicion presione 0, si desea regresar al menu anterior solo presione cualquier tecla.";
- 209 cin>>n;
- 210 }while (n==0);
- 211 }
- 212 void Calcu::multi(){
- 213 do{
- 214 system("cls");
- 215 cout<<"\t\tDivicion de numeros complejos."
- 216 <<"\n\nIntroduzca la parte real del numerador complejo: ";
- 217 cin>>complejos[0][0];
- 218 cout<<"\n\nIntroduzca la parte imaginaria del numerador complejo: ";
- 219 cin>>complejos[0][1];
- 220 cout<<"\n\nIntroduzca la parte real del denominador complejo: ";
- 221 cin>>complejos[1][0];
- 222 cout<<"\n\nIntroduzca la parte imaginaria del denominador complejo: ";
- 223 cin>>complejos[1][1];
- 224 cout<<"\n\nCalculando...";
- 225
- 226 r=complejos[0][0]*complejos[0][0]+((complejos[0][1]*complejos[1][1])*(-1));
- 227 c=(complejos[0][0]*complejos[1][1])+(complejos[0][1]*complejos[1][0]);
- 228
- 229 if (c<=0){
- 230 cout<<"\n\nEl resultado de la suma de los numeros complejos es: "<
- 231 }
- 232 else{
- 233 cout<<"\n\nEl resultado de la suma de los numeros complejos es: "<
- 234 }
- 235 cout<<"\n\nSi desea realizar otra suma presione 0, si desea regresar al menu anterior solo presione cualquier tecla.";
- 236 cin>>n;
- 237 }while (n==0);
- 238 }
- 239 void Calcu::recpol(){
- 240 do{
- 241 system("cls");
- 242 cout<<"\t\tRectangulares a polares."
- 243 <<"\n\nIntroduzca la coordenada x: ";
- 244 cin>>complejos[0][0];
- 245 cout<<"\n\nIntroduzca la coordenada y: ";
- 246 cin>>complejos[0][1];
- 247 cout<<"\n\n...";
- 248
- 249 r=sqrt(pow(complejos[0][0],2)+pow(complejos[0][1],2));
- 250 c=atan(complejos[0][0]/complejos[0][1]);
- 251
- 252 cout<<"\n\nEl resultado de la convercion es un vector de longitud "<
- 253 cout<<"\n\nSi desea realizar otra conversion presione 0, si desea regresar al menu anterior solo presione cualquier tecla.";
- 254 cin>>n;
- 255 }while (n==0);
- 256 }
- 257 void Calcu::receu(){
- 258 do{
- 259 system("cls");
- 260 cout<<"\t\tRectangulares a euler."
- 261 <<"\n\nIntroduzca la magnitud: ";
- 262 cin>>complejos[0][0];
- 263 cout<<"\n\nIntroduzca el angulo: ";
- 264 cin>>complejos[0][1];
- 265 cout<<"\n\nCalculando...";
- 266
- 267 c=complejos[0][1]*(M_PI/180);
- 268 r=complejos[0][0];
- 269
- 270 cout<<"\n\nEl resultado de la convercion es :"<
- 271 cout<<"\n\nSi desea realizar otra conversion presione 0, si desea regresar al menu anterior solo presione cualquier tecla.";
- 272 cin>>n;
- 273 }while (n==0);
- 274 }
- 275 int main()
- 276 {
- 277 char w;
- 278 Calcu objeto1;
- 279 do{
- 280 w=objeto1.preguntar();
- 281 objeto1.elegir();
- 282 }while (w!=103);
- 283 return 0;
- 284 }
...
Disponible sólo en Clubensayos.com