Ayuda para un programa en C

Iniciado por afernando14, 17 Febrero 2013, 23:35 PM

0 Miembros y 1 Visitante están viendo este tema.

afernando14

Hola, como como hago un programa en lenguaje C que sume, reste, multiplique y divida números complejos. Definiendo una estructura para manejar las variables complejas.

Agredecería sus ayudas. Ustedes que todo lo saben.

engel lex

como siempre repito a los que llegan pidiendo ayuda...

aclara 3 cosas...
1- lo que tienes (publica tu código hecho, usando la etiqueta GeShi)
2- lo que quieres (eso ya lo dijiste)
3- cual problema tienes para lograrlo

si tienes información adicional, agrégala...
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Sputnik_

Si queres simplificar todo, simplemente hace que el usuario introduzca los valores de i y de j por separados y después los podes manipular como quieras.

te doy un pie, que hice en C++ pero supongo que entenderás.

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    int i1, i2, j1, j2;

    cout << "TECLEA EL PRIMER VALOR DE I, Y LUEGO EL DE J " << endl;
    cin >> i1 >> j1;
    cout << endl;
    cout << "TECLEA EL SEGUNDO VALOR DE I, Y LUEGO EL DE J " << endl;
    cin >> i2 >> j2;
   
    cout << "\n\nLA SUMA DE LOS I: " << i1 + i2 << "\nLA SUMA DE LAS J: " << j1 + j2 << endl;
   
    return 0;
}



Saludos.
Las personas lo suficientemente locas como para pensar que pueden cambiar el mundo son las que lo cambian.

afernando14


#include<stdio.h>
#include<stdlib.h>
#include<math.h>

struct complejo suma (struct complejo x, struct complejo y);
struct complejo division(struct complejo x, struct complejo y);
struct complejo resta(struct complejo x, struct complejo y);
struct complejo multiplicacion(struct complejo x, complejo y);

int main(void)
{
   int opcion;
   printf("OPERACIONES CON NUMEROS COMPLEJOS:\n");
   printf("1) Suma de números complejos\n");
   printf("2) Divison de números complejos\n");
   printf("3) Resta de números complejos\n");
   printf("4) Multiplición de números complejos\n");
   printf("Ingrese una opción:\n");
   scanf("%d",&opcion);
   switch(opcion)
   {
   case 1:
   printf("1) Suma de números complejos:\n\n");
   struct complejo suma1,suma2,csuma;
   printf("Ingrese la parte real del primer numero complejo:");
   scanf("%f",&suma1.a);
   printf("Ingrese la parte imaginaria del primer numero complejo:");   
   scanf("%f",&suma1.b);
   printf("Ingrese la parte real del segundo numero complejo:");
   scanf("%f",&suma2.a);
   printf("Ingrese la parte imaginaria del segundo numero complejo:");
   scanf("%f",&suma2.b);
   csuma = suma (suma1,suma2);
   printf("El resultado es= %f+j%f\n\n",csuma.a,csuma.b);
   system("PAUSE");
   return EXIT_SUCCESS;
   break;
   
   case 2:
   printf("2) Division de dos números complejos:\n\n");
   struct complejo {
   float division1, division2, cdivision;
   };
   printf ("Ingrese el modulo del primer numero complejo:");
   scanf ("%f",&division1.a);
   printf ("Ingrese la fase del primer numero complejo:");
   scanf ("%f",&division1.b);
   printf ("\nIngrese el modulo del segundo numero complejo:");
   scanf ("%f",&division2.a);
   printf ("Ingrese la fase del segundo numero complejo:");
   scanf ("%f",&division2.b);
   cdivision = division (division1, division2);
   printf ("\nEl resultado de la division es= Modulo= %f Fase=%f\n\n", division.a,division.b);
   system("PAUSE");
   return EXIT_SUCCESS;

   break;
   
   case 3:
   printf("3) Resta de números complejos\n\n");
   struct complejo {
   float resta1, resta2, cresta;
   };
   printf("Ingrese la parte real del primer numero complejo:");
   scanf("%f",&resta1.a);
   printf("Ingrese la parte imaginaria del primer numero complejo:");   
   scanf("%f",&resta1.b);
   printf("Ingrese la parte real del segundo numero complejo:");
   scanf("%f",&resta2.a);
   printf("Ingrese la parte imaginaria del segundo numero complejo:");
   scanf("%f",&resta2.b);
   cresta = resta (resta1,resta2);
   printf("El resultado es= %f-j%f\n\n",csuma.a,csuma.b);
   system("PAUSE");
   return EXIT_SUCCESS;
   break;
   
   case 4:
   printf("\n4) Multiplicación de dos números complejos: \n\n");
   struct complejo{
   float producto1,product2, producto;
}
   printf("Ingrese el modulo del primer numero complejo:");
   scanf("%f",&producto1.a);
   printf("Ingrese la fase del primer numero complejo:");
   scanf("%f",&producto1.b); 
   printf("\nIngrese el modulo del segundo numero complejo:");
   scanf("%f",&producto2.a);
   printf("Ingrese la fase del segundo numero complejo:");
   scanf("%f",&producto2.b);
   producto = multiplicacion (producto1, producto2);
   printf("\nEl resultado del producto es= Modulo= %f Fase=%f\n\n",  producto.a,producto.b);
   system("PAUSE");
   return EXIT_SUCCESS;
   break;
   default: printf("La opción que ingresaste no es correcta\n"); 
   }
}
   struct complejo suma (struct complejo x, struct complejo y)
{
   struct complejo i;
   i.a=x.a+y.a;
   i.b=x.b+y.b;
   return i;
}
   struct complejo division(struct complejo x, struct complejo y)
{
   struct complejo i;
   i.a=x.a/y.a;
   i.b=x.b-y.b;
   return i;
}
   struct complejo resta(struct complejo x, struct complejo y)
{
   struct complejo i;
   i.a=x.a-y.a;
   i.b=x.b-y.b;
   return i;
}
   struct complejo multiplicacion(struct complejo x, struct complejo y)
{
   struct complejo i;
   i.a=x.a * y.a;
   i.b=x.b+y.b;
   return i;
}



amchacon

Varias cosas:

- No necesitas la librería matemática math.h. Las sumas, las restas y los productos ya están definidos en el lenguaje por defecto.
- Confundes estructuras con funciones.
- No hay un default en el switch, por lo que hay una posible fuente de errores.

Mi consejo es que repases un manual de C desde cero, te confundes en algunos principios básicos.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar