Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: H4ckw1X en 18 Marzo 2017, 18:43 PM

Título: C++ Tablas de multiplicar
Publicado por: H4ckw1X en 18 Marzo 2017, 18:43 PM
Saludos chicos abro este tema solo para ver sus opiniones sobre este código que hice y saber como lo hubieran hecho ustedes acá el código.....

Código (cpp) [Seleccionar]

/*
Name: Mostrar_talbas_matematicas
Author: H4ckw1X
Date: 18/03/17 14:35
*/

#include <iostream>

using namespace std;

int main(){

int menu,i,t,result;
int respuesta=1;

while(respuesta!=0){
cout<<"\n*************** Que tabla matematica quiere revisar ***************"<<endl;
cout<<"\n--MENU--"<<endl;
cout<<"\n1.SUMA"<<endl;
cout<<"\n2.RESTA"<<endl;
cout<<"\n3.MULTIPLICACION"<<endl;
cout<<"\n4.DIVICION"<<endl;
cin>>menu;

switch(menu){

case 1:
if(menu=1);
cout<<"\nEscribre el numero de la tabla"<<endl;
cin>>t;
for(i=0;i<=12;i++){
result=t+i;
cout<<t<<" + "<<i<<" = "<<result<<endl;
}
break;
case 2:
if(menu=2);
cout<<"\nEscribre el numero de la tabla"<<endl;
cin>>t;
for(i=0;i<=12;i++){
result=t-i;
cout<<t<<" - "<<i<<" = "<<result<<endl;
}
break;
case 3:
if(menu=3);
cout<<"\nEscribre el numero de la tabla"<<endl;
cin>>t;
for(i=0;i<=12;i++){
result=t*i;
cout<<t<<" * "<<i<<" = "<<result<<endl;
}
break;
case 4:
if(menu=4);
cout<<"\nEscribre el numero de la tabla"<<endl;
cin>>t;
for(i=0;i<=12;i++){
result=t/i;
cout<<t<<" / "<<i<<" = "<<result<<endl;
}
break;
default:
cout<<"\nOpcion invalida"<<endl;
break;
}

cout<<"Desea ver otra tabla s.1/n.0"<<endl;
cin>>respuesta;
}
return 0;
}
Título: Re: C++ Tablas de multiplicar
Publicado por: Becerra en 18 Marzo 2017, 19:01 PM
Hola

Así de primeras, estas usando un switch para las opciones y dentro un if, sobra ese if, además, las comprobaciones en el if es con == (doble signo igual), tu estás haciendo una asignación.

Un saludo
Título: Re: C++ Tablas de multiplicar
Publicado por: engel lex en 18 Marzo 2017, 19:08 PM
el caso 4 será poco efectivo

si lo ejecutas te darás cuenta a lo que me refiero

para que se vea bien, result debería ser de tipo float, castear como float la división, debe ser i/t y no t/i

procura hacer un poco mejor la identación

tu haces
Código (cpp) [Seleccionar]
int main(){

int menu,i,t,result;
int respuesta=1;

while(respuesta!=0){
cout<<"\n*************** Que tabla matematica quiere revisar ***************"<<endl;
/* ... */
cin>>menu;

switch(menu){

case 1:
if(menu=1);
cout<<"\nEscribre el numero de la tabla"<<endl;
cin>>t;
for(i=0;i<=12;i++){


yo creo que sería más legible
no ideantas dentro del while, ni el for
Código (cpp) [Seleccionar]
int main(){
   int menu,i,t,result;
   int respuesta=1;

   while(respuesta!=0){
       cout<<"\n*************** Que tabla matematica quiere revisar ***************"<<endl;
       /* ... */
       cin>>menu;

       switch(menu){

           case 1:
               if(menu=1);
               cout<<"\nEscribre el numero de la tabla"<<endl;
               cin>>t;
               for(i=0;i<=12;i++){
                   result=t+i;



por otro lado los if de las lineas 28, 37,46 y 55, no tienen sentido y en general están mal formulados (usan "=" en lugar de "==") a demás terminan en ";" lo que los finaliza apenas se evalúan quitandole todo el sentido

para mi es preferible correr sobre seguro y el while de la linea 16 no lo haría != 0 sino == 1, porque si la persona marca cualquier cosa que no sea 0 se repetirá y eso no sería correcto (para mi), desde mi punto de vista debería repetirse si y solo si es 1, que es la condición de repetición... pero es decisión de cada quien eso


Título: Re: C++ Tablas de multiplicar
Publicado por: H4ckw1X en 18 Marzo 2017, 19:21 PM
Gracias por sus respuestas me son de gran ayuda soy nuevo en el  mundo de la programación  :D :D :D :D  ;-) ;-)
Título: Re: C++ Tablas de multiplicar
Publicado por: Meta en 18 Marzo 2017, 19:25 PM
Hola:

El Switch sustituye el if, para no poner tantos if, se pone Switch. ;)

https://msdn.microsoft.com/es-es/library/k0t5wee3.aspx

[youtube=640,360]https://www.youtube.com/watch?v=G50bwqLapaM[/youtube]

Por cierto. ¿Qué IDE usas?

Recuerda, no es lomismo IDE que compilador. ;)

Saludos.