elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ayuda dev c ++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda dev c ++  (Leído 3,032 veces)
LUNEMESIS

Desconectado Desconectado

Mensajes: 5


Ver Perfil
ayuda dev c ++
« en: 13 Mayo 2011, 05:43 am »

hol amigos quisiera que me ayudaran con este programa me podrian decir el error de este


#include<stdio.h>
#include<stdlib.h>
#include<math.h>//se utilizo math ya que se utilizo la raiz(sqrt) y las potencias(pow)
main()
{//inicio de main
int A[3],B[3],i,a;//vectores A y B declarados con arreglos
char var,s,S,opcion;
//MENU
system("cls");
printf("\t\tPROGRAMA QUE PIDE DOS VECTORES Y REALIZA LAS SIGUIENTES OPERACIONES");
printf("\n\n\t\t-1-SUMA VECTOR A y B");
printf("\n\t\t-2-MODULO DEL VECTOR A");
printf("\n\t\t-3-MODULO DEL VECTOR B");
printf("\n\t\t-4-PRODUCTO PUNTO DEL VECTOR A y B");
printf("\n\t\t-5-PRODUCTO CRUZ DE A y B\n\n");
//ya que el usuario ira metiendo los valores se utiliza un for para cada vector
for (i=0;i<3;i++)
{
printf("\n\t\tValor No.%d del vector A entero ",i);
scanf("%d",&A);
}
for (i=0;i<3;i++)
{
printf("\n\t\tValor No.%d del vector B entero ",i);
scanf("%d",&B);
}
printf("\n\n\t\tOperacion a realizar ");
scanf("%d",&a);
switch(a)
{//inicio del switch
case 1:
printf("\n\t\t\tA+B=(%d,%d,%d)\n\n",A[0]+B[0],A[1]+B[1],A[2]+B[2]);
break;
case 2:
printf("\n\t\t\t|A|=%f",sqrt((pow(A[0],2))+(pow(A[1],2))+(pow(A[2],2))));
break;
case 3:
printf("\n\t\t\t|B|=%f",sqrt((pow(B[0],2))+(pow(B[1],2))+(pow(B[2],2))));
break;
case 4:
printf("\n\t\t\tA°B=%d",A[0]*B[0]+A[1]*B[1]+A[2]*B[2]);
break;
case 5:
printf("\n\t\t\tAxB=(%d)i-(%d)j+(%d)k",(A[1]*B[2])-(A[2]*B[1]),(A[0]*B[2])-(A[2]*B[0]),(A[0]*B[1])-(A[1]*B[0]));
break;
default:
printf("\n\t\tNo es correcta tu opcion\n\n");
}//fin de switch
/*el usuario respondera a la pregunta y dependiento de esta
se terminara el programa o se borrara la pantalla*/
printf("\n\n\t\tDesea que se realice otra opcion (Y o N)\?\t");
scanf("%s",&var);
while(var=='Y');


system("PAUSE"); 
return 0;
}
//fin de main


En línea

Samael.Black

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: ayuda dev c ++
« Respuesta #1 en: 13 Mayo 2011, 07:02 am »

Bueno el problema esta en los scanf, donde pides al usuario introducir el valor del vector A y B... ya que no le das la posición donde se guardara el valor introducido... por ejemplo scanf(scanf("%d",&A[1]); hay le dices al copilador que el dato introducido sera guardado en el vector A en la posición 1... otro error es que estas declarando la variables de tipo char s,S,opcion; y no las estas utilizando...


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: ayuda dev c ++
« Respuesta #2 en: 13 Mayo 2011, 07:06 am »

Como es un vector de 3 posiciones de tipo enterio, debes de especificar en que lugar debe de ir el valor que estais ingresando. Es decir,
Código
  1. for (i=0;i<3;i++){
  2. printf("\n\t\tValor No.%d del vector A entero ",i);
  3. scanf("%d", &A[i]);
  4. }
  5. for (i=0;i<3;i++){
  6. printf("\n\t\tValor No.%d del vector B entero ",i);
  7. scanf("%d",&B[i]);
  8. }

Advertencia - mientras estabas leyendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.


--
Por otro lado deberías de identar el código es mucho más fácil de interpretarlo.
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4.  
  5. int main(){
  6. int A[3], B[3], i, a;
  7. char var, s, S, opcion;
  8.  
  9. system("clear");
  10. printf("\t\tPROGRAMA QUE PIDE DOS VECTORES Y REALIZA LAS SIGUIENTES OPERACIONES");
  11. printf("\n\n\t\t-1-SUMA VECTOR A y B");
  12. printf("\n\t\t-2-MODULO DEL VECTOR A");
  13. printf("\n\t\t-3-MODULO DEL VECTOR B");
  14. printf("\n\t\t-4-PRODUCTO PUNTO DEL VECTOR A y B");
  15. printf("\n\t\t-5-PRODUCTO CRUZ DE A y B\n\n");
  16. for (i=0;i<3;i++){
  17. printf("\n\t\tValor No.%d del vector A entero ",i);
  18. scanf("%d", &A[i]);
  19. }
  20. for (i=0;i<3;i++){
  21. printf("\n\t\tValor No.%d del vector B entero ",i);
  22. scanf("%d",&B[i]);
  23. }
  24. printf("\n\n\t\tOperacion a realizar ");
  25. scanf("%d",&a);
  26. switch(a){
  27. case 1:
  28. printf("\n\t\t\tA+B=(%d,%d,%d)\n\n",A[0]+B[0],A[1]+B[1],A[2]+B[2]);
  29. break;
  30. case 2:
  31. printf("\n\t\t\t|A|=%f",sqrt((pow(A[0],2))+(pow(A[1],2))+(pow(A[2],2))));
  32. break;
  33. case 3:
  34. printf("\n\t\t\t|B|=%f",sqrt((pow(B[0],2))+(pow(B[1],2))+(pow(B[2],2))));
  35. break;
  36. case 4:
  37. printf("\n\t\t\tA°B=%d",A[0]*B[0]+A[1]*B[1]+A[2]*B[2]);
  38. break;
  39. case 5:
  40. printf("\n\t\t\tAxB=(%d)i-(%d)j+(%d)k",(A[1]*B[2])-(A[2]*B[1]),(A[0]*B[2])-(A[2]*B[0]),(A[0]*B[1])-(A[1]*B[0]));
  41. break;
  42. default:
  43. printf("\n\t\tNo es correcta tu opcion\n\n");
  44. }
  45. printf("\n\n\t\tDesea que se realice otra opcion (Y o N)\?\t");
  46. scanf("%s", &var);
  47. while(var == 'Y');
  48.  
  49. system("PAUSE");  
  50. return 0;
  51. }
« Última modificación: 13 Mayo 2011, 07:08 am por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
LUNEMESIS

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ayuda dev c ++
« Respuesta #3 en: 13 Mayo 2011, 19:44 pm »

el problema es que cuando iega a la pregunta que si quiere realizar otra opcion el programa se queda trabado como luciono eso??????''
En línea

satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: ayuda dev c ++
« Respuesta #4 en: 13 Mayo 2011, 22:03 pm »

Hola

Te falta el do del do-while

En línea

Breakbeat como forma de vida
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines