ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Calculadora de numeros complejos en c++


Enviado por   •  9 de Marzo de 2018  •  Trabajos  •  2.604 Palabras (11 Páginas)  •  2.283 Visitas

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

...

Descargar como (para miembros actualizados)  txt (10.5 Kb)   pdf (76.7 Kb)   docx (18.3 Kb)  
Leer 10 páginas más »
Disponible sólo en Clubensayos.com