Dev - C++ - Ayuda error en un codigo pero no se por que es, es en el for pero no se porque

 
Vista:
Imágen de perfil de Saul Ulises Gonzalez Vazquez
Val: 73
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda error en un codigo pero no se por que es, es en el for pero no se porque

Publicado por Saul Ulises Gonzalez Vazquez (15 intervenciones) el 07/03/2021 20:40:56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#define pi 3.1416
 
void suma(struct complejo,struct complejo);
void resta(struct complejo,struct complejo);
void multi(struct complejo,struct complejo);
void divi(struct complejo,struct complejo);
double real(double,double);
double compleja(double,double);
double modul(double,double);
double argument(double,double);
 
struct complejo
{
int modulo;
int argumento;
 
};
 
main (void)
{
int n,m,opcion;
struct complejo x,y;
 
for(;);;
{
system("cls");;
printf("nMenu:n");;
printf("1. Suma de complejosn");;
printf("2. Resta de complejosn");;
printf("3. Multiplicacion de complejosn");;
printf("4. Division de complejosn");;
printf("5. Salirn");;
printf("seleccione una opcion ");;
 
if(scanf("%d",&opcion)==0)
{
opcion=0;
fflush(stdin);
}
switch(opcion)
{
case 1:
 
printf("1. Suma de complejosn");;
printf("ingrese el primer numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&x.modulo,&x.argumento);
printf("ingrese el segundo numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&y.modulo,&y.argumento);
suma(x,y);
 
printf("npresione una tecla para continuarn");;
getch();
break;
 
case 2:
 
printf("2. Resta de complejosn");;
printf("ingrese el primer numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&x.modulo,&x.argumento);
printf("ingrese el segundo numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&y.modulo,&y.argumento);
resta(x,y);
printf("npresione una tecla para continuarn");;
getch();
break;
 
case 3:
 
printf("3. Multiplicacion de complejosn");;
printf("ingrese el primer numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&x.modulo,&x.argumento);
printf("ingrese el segundo numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&y.modulo,&y.argumento);
multi(x,y);
printf("npresione una tecla para continuarn");;
getch();
break;
 
case 4:
 
printf("4. Division de complejosn");;
printf("ingrese el primer numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&x.modulo,&x.argumento);
printf("ingrese el segundo numero modulo y argumento separado por coma: n");;
scanf("%d,%d",&y.modulo,&y.argumento);
divi(x,y);
printf("npresione una tecla para continuarn");;
getch();
break;
case 5:
 
exit(0);
default:
printf("su seleccion fue incorrectan");;
printf("seleccione otra opcionn");;
printf("presione una tecla para continuarn");;
getch();
}
}
return 0;
}
 
 
void suma(struct complejo x,struct complejo y)
{
double i,j,m,n;
i= real(x.modulo,x.argumento)+real(y.modulo,y.argumento);
j= compleja(x.modulo,x.argumento)+compleja(y.modulo,y.argumento);
m=modul(i,j);
n=argument(i,j);
 
printf("%f <%f",m,n);
 
}
 
void resta(struct complejo x,struct complejo y)
{
double i,j,m,n;
i= real(x.modulo,x.argumento)-real(y.modulo,y.argumento);
j= compleja(x.modulo,x.argumento)-compleja(y.modulo,y.argumento);
m=modul(i,j);
n=argument(i,j);
 
printf("%f <%f",m,n);
 
}
 
void multi(struct complejo x,struct complejo y)
{
double i,j;
i=(x.modulo)*(y.modulo);
j= (x.argumento)+(y.argumento);
printf("%f <%f",i,j);
 
}
 
void divi(struct complejo x,struct complejo y)
{
double i,j;
i=(double)(x.modulo)/(double)(y.modulo);
j= (x.argumento)-(y.argumento);
printf("%f <%f",i,j);
 
}
 
double real(double m,double a)
{
return m*cos(a*(pi/180));
}
 
double compleja(double m,double a)
{
return m*sin(a*(pi/180));
}
 
double modul(double r,double i)
{
return sqrt((pow(r,2))+(pow(i,2)));
}
 
double argument(double r,double i)
{
double m;
m=(asin(i/modul(r,i)))*(180/pi);
 
return m;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda error en un codigo pero no se por que es, es en el for pero no se porque

Publicado por Alfil (1444 intervenciones) el 07/03/2021 20:53:08
Esta expresión no es correcta: for(;);; ... ¿qué recorrido debería hacer el for?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Saul Ulises
Val: 73
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda error en un codigo pero no se por que es, es en el for pero no se porque

Publicado por Saul Ulises (15 intervenciones) el 07/03/2021 21:47:11
Cómo se arregla?
Porfaaa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 84
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda error en un codigo pero no se por que es, es en el for pero no se porque

Publicado por Yamil Bracho (41 intervenciones) el 07/03/2021 23:56:23
El for deberia sser for (;;) { ...}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda error en un codigo pero no se por que es, es en el for pero no se porque

Publicado por Alfil (1444 intervenciones) el 07/03/2021 23:58:00
Una opción sería cambiar esa expresión por:

1
while (true)

Otra opción es corregir la expresión, aunque resta claridad:

1
for(;;)

Pero lo más correcto sería utilizar:

1
2
3
4
5
do {
....
.....
 
} while (opcion != 5);


Te pongo la última opción con algunas correcciones adicionales:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
 
#define pi 3.14159265359
 
void suma(struct complejo, struct complejo);
void resta(struct complejo, struct complejo);
void multi(struct complejo, struct complejo);
void divi(struct complejo, struct complejo);
double real(double, double);
double compleja(double, double);
double modul(double, double);
double argument(double, double);
 
struct complejo
{
    int modulo;
    int argumento;
};
 
int main()
{
    int n, m, opcion;
    struct complejo x, y;
 
    do {
        system("cls");;
        printf("\nMenu:\n");;
        printf("1. Suma de complejos\n");;
        printf("2. Resta de complejos\n");;
        printf("3. Multiplicacion de complejos\n");;
        printf("4. Division de complejos\n");;
        printf("5. Salir\n");;
        printf("seleccione una opcion: ");;
 
        scanf("%d",&opcion);
 
        fflush(stdin);
 
        switch(opcion)
        {
            case 1:
                printf("1. Suma de complejos\n");;
                printf("ingrese el primer numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d",&x.modulo, &x.argumento);
                printf("ingrese el segundo numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d", &y.modulo, &y.argumento);
                suma(x, y);
 
                printf("\npresione una tecla para continuar\n");;
                getch();
                break;
 
            case 2:
                printf("2. Resta de complejos\n");;
                printf("ingrese el primer numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d",&x.modulo, &x.argumento);
                printf("ingrese el segundo numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d",&y.modulo, &y.argumento);
                resta(x, y);
                printf("\npresione una tecla para continuar\n");;
                getch();
                break;
 
            case 3:
                printf("3. Multiplicacion de complejos\n");;
                printf("ingrese el primer numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d",&x.modulo, &x.argumento);
                printf("ingrese el segundo numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d", &y.modulo, &y.argumento);
                multi(x, y);
                printf("\npresione una tecla para continuar\n");;
                getch();
                break;
 
            case 4:
                printf("4. Division de complejos\n");;
                printf("ingrese el primer numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d", &x.modulo, &x.argumento);
                printf("ingrese el segundo numero modulo y argumento separado por coma: \n");;
                scanf("%d,%d", &y.modulo, &y.argumento);
                divi(x, y);
                printf("\npresione una tecla para continuar\n");;
                getch();
                break;
 
            case 5:
                printf("\n\nFIN DEL PROGRAMA\n\n");
                break;
 
            default:
                printf("su seleccion fue incorrecta\n");;
                printf("seleccione otra opcion\n");;
                printf("presione una tecla para continuar\n");;
                getch();
        }
    } while (opcion != 5);
 
    return 0;
}
 
 
void suma(struct complejo x, struct complejo y)
{
    double i, j, m, n;
    i = real(x.modulo, x.argumento) + real(y.modulo, y.argumento);
    j = compleja(x.modulo, x.argumento) + compleja(y.modulo, y.argumento);
    m = modul(i, j);
    n = argument(i, j);
 
    printf("%f < %f", m, n);
}
 
void resta(struct complejo x, struct complejo y)
{
    double i, j, m, n;
    i = real(x.modulo, x.argumento) - real(y.modulo, y.argumento);
    j = compleja(x.modulo, x.argumento) - compleja(y.modulo, y.argumento);
    m = modul(i, j);
    n = argument(i, j);
 
    printf("%f < %f", m, n);
}
 
void multi(struct complejo x, struct complejo y)
{
    double i, j;
    i = (x.modulo) * (y.modulo);
    j = (x.argumento) + (y.argumento);
 
    printf("%f < %f", i, j);
}
 
void divi(struct complejo x, struct complejo y)
{
    double i, j;
    i = (double)(x.modulo)/(double)(y.modulo);
    j = (x.argumento)-(y.argumento);
 
    printf("%f < %f", i, j);
}
 
double real(double m, double a)
{
    return m * cos(a * (pi/180));
}
 
double compleja(double m, double a)
{
    return m * sin(a * (pi/180));
}
 
double modul(double r, double i)
{
    return sqrt((pow(r, 2)) + (pow(i, 2)));
}
 
double argument(double r, double i)
{
    double m;
    m = (asin(i / modul(r, i))) * (180 / pi);
 
    return m;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar