Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: rocker25 en 13 Junio 2010, 16:51 pm



Título: [?]duda sobre mi programa en c++
Publicado por: rocker25 en 13 Junio 2010, 16:51 pm
hola amigos, bueno en la escuela me dejaron un proyecto que primero salude y que despues me de opciones para seleccionarlas con un numero, ya hice mi codigo pero el compilador me dice que tengo un error, pero no se cual sea el problema, ojala me puedan ayudar  y decir en que estoy mal, aqui les dijo mi codigos, adios y gracias!!
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. main ()
  4. {
  5. char nombre [20];
  6. printf("BIENVENIDO\n");
  7. printf("hola soy el programa de matematicas dime tu nombre\n");
  8. scanf("%s",& nombre [0]);
  9. printf ("ok % s ¿que quieres hacer?:\n", nombre);
  10. scanf("%s",& nombre [0]);
  11. }
  12. int main()
  13. {//aqui es donde me marca error
  14.  int opcion,n1,n2,n3;
  15.  printf("\n CALCULADORA");
  16. for(;;)
  17.  {
  18.     printf("\n1.-Suma\n2.-Resta\n3.-Multiplicacion\n4.-Division\n5.-Salir\n");
  19.     printf("\nIngrese Opcion:");
  20.  scanf("%d",&opcion);
  21.     clrscr();
  22.  
  23.     switch(opcion)
  24.     {
  25.       case 1:
  26.       printf("Ingrese numero 1: ");
  27.       scanf("%d",&n1);
  28.       printf("Ingrese numero 2: ");
  29.       scanf("%d",&n2);
  30.       n3=n1+n2;
  31.  
  32.       printf("\n\n%d+%d=%d",n1,n2,n3);
  33.       getch();
  34.       clrscr();
  35.       break;
  36.     }
  37.  
  38.     switch(opcion)
  39.     {
  40.       case 2:
  41.       printf("Ingrese numero 1:");
  42.       scanf("%d",&n1);
  43.       printf("Ingrese numero 2:");
  44.       scanf("%d",&n2);
  45.       n3=n1-n2;
  46.  
  47.       printf("\n\n%d-%d=%d",n1,n2,n3);
  48.       getch();
  49.       clrscr();
  50.       break;
  51.     }
  52.  
  53.     switch(opcion)
  54.     {
  55.       case 3:
  56.       printf("Ingrese numero 1:");
  57.       scanf("%d",&n1);
  58.       printf("Ingrese numero 2:");
  59.       scanf("%d",&n2);
  60.       n3=n1*n2;
  61.  
  62.       printf("\n\n%d*%d=%d",n1,n2,n3);
  63.       getch();
  64.       clrscr();
  65.       break;
  66.     }
  67.  
  68.     switch(opcion)
  69.     {
  70.       case 4:
  71.       printf("Ingrese numero 1:");
  72.       scanf("%d",&n1);
  73.       printf("Ingrese numero 2:");
  74.       scanf("%d",&n2);
  75.       n3=n1/n2;
  76.  
  77.       printf("\n\n%d/%d=%d",n1,n2,n3);
  78.       getch();
  79.       clrscr();
  80.       break;
  81.     }
  82.     if(opcion==5)
  83.       break;
  84.  }
  85.  clrscr();
  86. }















Título: Re: [?]duda sobre mi programa en c++
Publicado por: satu en 13 Junio 2010, 17:32 pm
Hola no he mirado todo el código pero te he corregido el switch, fíjate


Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. main ()
  4. {
  5. char nombre [20];
  6. printf("BIENVENIDO\n");
  7. printf("hola soy el programa de matematicas dime tu nombre\n");
  8. scanf("%s",& nombre [0]);
  9. printf ("ok % s ¿que quieres hacer?:\n", nombre);
  10. scanf("%s",& nombre [0]);
  11. }
  12. int main()
  13. {//aqui es donde me marca error
  14.  int opcion,n1,n2,n3;
  15.  printf("\n CALCULADORA");
  16. for(;;)
  17.  {
  18.     printf("\n1.-Suma\n2.-Resta\n3.-Multiplicacion\n4.-Division\n5.-Salir\n");
  19.     printf("\nIngrese Opcion:");
  20.  scanf("%d",&opcion);
  21.     clrscr();
  22.  
  23.     switch(opcion)
  24.     {
  25.       case 1:
  26.       printf("Ingrese numero 1: ");
  27.       scanf("%d",&n1);
  28.       printf("Ingrese numero 2: ");
  29.       scanf("%d",&n2);
  30.       n3=n1+n2;
  31.  
  32.       printf("\n\n%d+%d=%d",n1,n2,n3);
  33.       getch();
  34.       clrscr();
  35.       break;
  36.  
  37.       case 2:
  38.       printf("Ingrese numero 1:");
  39.       scanf("%d",&n1);
  40.       printf("Ingrese numero 2:");
  41.       scanf("%d",&n2);
  42.       n3=n1-n2;
  43.  
  44.       printf("\n\n%d-%d=%d",n1,n2,n3);
  45.       getch();
  46.       clrscr();
  47.       break;
  48.  
  49.       case 3:
  50.       printf("Ingrese numero 1:");
  51.       scanf("%d",&n1);
  52.       printf("Ingrese numero 2:");
  53.       scanf("%d",&n2);
  54.       n3=n1*n2;
  55.  
  56.       printf("\n\n%d*%d=%d",n1,n2,n3);
  57.       getch();
  58.       clrscr();
  59.       break;
  60.  
  61.       case 4:
  62.       printf("Ingrese numero 1:");
  63.       scanf("%d",&n1);
  64.       printf("Ingrese numero 2:");
  65.       scanf("%d",&n2);
  66.       n3=n1/n2;
  67.  
  68.       printf("\n\n%d/%d=%d",n1,n2,n3);
  69.       getch();
  70.       clrscr();
  71.       break;
  72.  
  73.       default:
  74.       break;
  75.  }
  76.  clrscr();
  77. }





Saludos


Título: Re: [?]duda sobre mi programa en c++
Publicado por: leogtz en 13 Junio 2010, 17:56 pm
Eso no es C++.


Título: Re: [?]duda sobre mi programa en c++
Publicado por: SirLanceCC en 13 Junio 2010, 18:19 pm
Estás definiendo dos veces main() y de hecho debes definirlo como int main() y poner el return.

Código
  1. int main ()
  2. {
  3. char nombre [20];
  4. printf("BIENVENIDO\n");
  5. printf("hola soy el programa de matematicas dime tu nombre\n");
  6. scanf("%s",& nombre [0]);
  7. printf ("ok % s ¿que quieres hacer?:\n", nombre);
  8. scanf("%s",& nombre [0]);
  9. //}    **ESTO NO VA**
  10. //int main()
  11. //{
  12.  int opcion,n1,n2,n3;
  13.  printf("\n CALCULADORA");
  14.  
  15. ...
  16.  
  17.       default:
  18.       break;
  19.  }
  20.  clrscr();
  21.  return 0;
  22. }
  23.  


Título: Re: [?]duda sobre mi programa en c++
Publicado por: satu en 13 Junio 2010, 18:29 pm
ups..... no lo habia visto
está claro que con resaca no funciona mi cabeza  :silbar: :silbar:


Título: Re: [?]duda sobre mi programa en c++
Publicado por: rocker25 en 13 Junio 2010, 18:32 pm
hola ya he leido sus respuestas y creo que me han sacado de mis dudas, espero que con sus opiniones me salaga el programa pero una pregunta mas y si quisiera agregar mas opciones tendria que poner ms numeros en printf  y seguido de mas case, gracias!!


Título: Re: [?]duda sobre mi programa en c++
Publicado por: rocker25 en 13 Junio 2010, 18:44 pm
miren he corregido mi codigo espero que ya este bien, bueno gracias satu y sirlancecc por su ayuda adios!!
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. int main ()
  4. {
  5. char nombre [20];
  6. printf("BIENVENIDO\n");
  7. printf("hola soy el programa de matematicas dime tu nombre\n");
  8. scanf("%s",& nombre [0]);
  9. printf ("ok % s ¿que quieres hacer?:\n", nombre);
  10. scanf("%s",& nombre [0]);
  11. int opcion,n1,n2,n3;
  12.  printf("\n CALCULADORA");
  13. for(;;)
  14.  {
  15.     printf("\n1.-Suma\n2.-Resta\n3.-Multiplicacion\n4.-Division\n5.-Salir\n");
  16.     printf("\nIngrese Opcion:");
  17.  scanf("%d",&opcion);
  18.     clrscr();
  19.  
  20.     switch(opcion)
  21.     {
  22.       case 1:
  23.       printf("Ingrese numero 1: ");
  24.       scanf("%d",&n1);
  25.       printf("Ingrese numero 2: ");
  26.       scanf("%d",&n2);
  27.       n3=n1+n2;
  28.  
  29.       printf("\n\n%d+%d=%d",n1,n2,n3);
  30.       getch();
  31.       clrscr();
  32.       break;
  33.  
  34.       case 2:
  35.       printf("Ingrese numero 1:");
  36.       scanf("%d",&n1);
  37.       printf("Ingrese numero 2:");
  38.       scanf("%d",&n2);
  39.       n3=n1-n2;
  40.  
  41.       printf("\n\n%d-%d=%d",n1,n2,n3);
  42.       getch();
  43.       clrscr();
  44.       break;
  45.  
  46.       case 3:
  47.       printf("Ingrese numero 1:");
  48.       scanf("%d",&n1);
  49.       printf("Ingrese numero 2:");
  50.       scanf("%d",&n2);
  51.       n3=n1*n2;
  52.  
  53.       printf("\n\n%d*%d=%d",n1,n2,n3);
  54.       getch();
  55.       clrscr();
  56.       break;
  57.  
  58.       case 4:
  59.       printf("Ingrese numero 1:");
  60.       scanf("%d",&n1);
  61.       printf("Ingrese numero 2:");
  62.       scanf("%d",&n2);
  63.       n3=n1/n2;
  64.  
  65.       printf("\n\n%d/%d=%d",n1,n2,n3);
  66.       getch();
  67.       clrscr();
  68.       break;
  69.  
  70.       default:
  71.       break;
  72.  }
  73.  clrscr();
  74. return 0;
  75. }