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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Presentación + dudas de principiante
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Presentación + dudas de principiante  (Leído 6,924 veces)
Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #10 en: 4 Febrero 2012, 15:21 pm »

Oh, otro consejo. Cambia de IDE. Dev-Cpp lleva desatendido algunos años (y, entre otras cosas, tiene el MinGW desactualizado). Si te gusta mucho Dev-Cpp tienes wxDev-Cpp, que sí recibe actualizaciones periódicamente. Aquí el link de su web. Y aquí tienes un artículo en que dan varias razones para no usar Dev-Cpp y alternativas (entre estas alternativas está wxDev-Cpp).

Saludos


En línea

Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #11 en: 4 Febrero 2012, 18:15 pm »

Buenas a tod@s:

Gracias eleon por resolver mi duda. Voy a ponerlo en práctica a ver que tal funciona.

Xandrete, el link que me has pasado veo que hay diversos programas, cual escojo? No hay ninguna versión en inglés?

De todos modos muchas gracias.


En línea

Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #12 en: 5 Febrero 2012, 02:26 am »

Buenas a tod@s:

Gracias eleon por resolver mi duda. Voy a ponerlo en práctica a ver que tal funciona.

Xandrete, el link que me has pasado veo que hay diversos programas, cual escojo? No hay ninguna versión en inglés?

De todos modos muchas gracias.

Ya que usas Dev-Cpp, pues te recomiendo wxDev-Cpp, para que el cambio sea lo menos radical posible. ¿Versión en inglés? Claro. De hecho, lo raro es que cualquiera de estos programas no salga originalmente en inglés. Las traducciones suelen ser cosa de las comunidades de usuarios.

Saludos
En línea

Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #13 en: 5 Febrero 2012, 12:53 pm »

Buenas a tod@s:

Ups Xandrete, quería decir en español, jeje, disculpa. Es que en el link están todos en inglés.
En línea

Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #14 en: 5 Febrero 2012, 14:12 pm »

¡Ah, amigo!

Diría que wxDev-C++ tiene disponible versión en español. Prueba a descargar el instalador y mira si en algún momento te pregunta por el idioma. Pero vamos, tiene que tener porque en el artículo de la wikipedia que corresponde a este IDE se dice que hay versión en español. De todas formas, en tu lugar ya me iría acostumbrando a que todo esté en inglés, es el idioma de la ciencia y la tecnología.

Saludos, jefe.
En línea

Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #15 en: 12 Febrero 2012, 15:37 pm »


Código
  1. while (x < 35 || x > 80)  //Aqui se pedirá el valor de x mientras no esté entre 35 y 80 (min y max)
  2. {
  3.   cout << "Valor de X: ";
  4.   cin >> x;
  5. }
  6. if (x >= 35 && x <= 45)  //Si está comprendido entre 35 y 45...
  7. {
  8.   while (y < 3 || y > 4) //...Se pide un valor de Y entre 3 y 4
  9.   {
  10.       cout << endl << "El valor de Y debe estar comprendido entre 3 y 4: ";
  11.       cin >> y;
  12.   }
  13. else  //Y si no es asi...
  14. {
  15.    while (y < 300 || y > 400)  //... se pide un valor de Y entre 300 y 400
  16.    {
  17.       cout << endl << "El valor de Y debe estar comprendido entre 300 y 400: ";
  18.       cin >> y;
  19.     }
  20. }
  21.  
  22. //Tratamiento de X e Y


Buenas a tod@s:

Aún continuo peleandome con el programa y aun hay cositas que hay que perfilar.

Bueno volviendo al caso del ejemplo de arriba. Aquí, tal y como lo has puesto si no introduces un valor que no esté comprendido dentro de los margenes no te lo deja introducir y a mi me interesaría que si te dejara introducirlo y posteriormente te dijese que está fuera de los rangos especificando si es inferior o superior.

Muchas gracias de antemano. Y eso de la programación tiene sus intringuilis. Que hasta no ves donde te has equivocado jode un huevo porque te comes el tarro un montón. O a veces te complia bien y no te dice que haya ningun error, pero sin embargo, el programa no correc omo lo tendría que hacer, dando por buenos valores que están mal.

Muchas gracias de nuevo y nada, a seguir peleando porque todo funcione como debe ser.
En línea

eleon

Desconectado Desconectado

Mensajes: 99


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #16 en: 12 Febrero 2012, 17:58 pm »

Citar
Bueno volviendo al caso del ejemplo de arriba. Aquí, tal y como lo has puesto si no introduces un valor que no esté comprendido dentro de los margenes no te lo deja introducir y a mi me interesaría que si te dejara introducirlo y posteriormente te dijese que está fuera de los rangos especificando si es inferior o superior.

Quita el bucle y pon condicionales, si es menor de 35 que imprima "tal", si es mayor que 80 que imprima "tal" y sino (ni menor de 35 ni mayor de 80, es decir, entre 35 y 80) que haga tal cosa.

No sé dónde podrías tener problemas, haz el código y luego pregunta dudas concretas.

Saludos.
En línea

Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #17 en: 12 Febrero 2012, 21:18 pm »

Buenas a tod@s:

Mira aquí te dejo el codigo a ver si le encuentras el fallo, yo lo he hecho de este modo, antes de leer tu recomendación.

De todos modos, lo he probado de poner de diferentes formas y ninguna da los resultados esperados. A parte, en el segundo case, el 9, que tan solo hay una variable, tampoco funciona del todo bien, ya que cuando le pongo 4.7, que tendría que estar dentro de los valores dados por el fabricante, no me lo da por bueno, sino por inferior al establecido.

Tengo otros case que funcionan igual dar una variable y decir si está dentro de los margenes establecidos o si es superior o inferior y funcionan correctamente. Sin embargo, estos, están escritos de la misma forma, y no me sale correctamente.

Bueno aquí os dejo el código y a ver si es que es un problema de sintaxis o es porque al no estar bien aprovechado, es decir, que si se puede reducir de algun modo o algo, y de este modo hacerlo más eficaz y por lo tanto rule bien o que.

Sé que en el primer apartado se podría poner mejor, pero esta ya era mi ultima tentativa de modo que si coincidian dos opciones pues me salieran ambas, pero ni de ese modo me sale  :(
Primero lo hacía todo junto j y k y todas sus variables pero juntas, si una estaba bien y la otra más baja de lo recomendado o más alta o viceversa con la j. Pero tampoco me salía por eso probé con esta opción individual pero tampoco.

cout<<"Mide la resistencia interna de la sonda de temperatura del aire entre los puntos  1 y 4"<<endl;
              cout<<""<<endl;
              cout<<"Introduce el valor obtenido"<<endl;
              cout<<""<<endl;
              cin>>j;
              cout<<""<<endl;
              cout<<"Mide la temperatura del aire"<<endl;
              cout<<""<<endl;
              cout<<"Introduce el valor obtenido"<<endl;
              cout<<""<<endl;
              cin>>k;
              cout<<""<<endl;
             
              if (15<=k<=25 & 2.3<=j<=2.7)
              {
              cout<<"Ambos valores introducidos son correctos"<<endl;
              }
              else if (k<15)
              {
              cout<<"La temperatura introducida es mas baja a la necessaria para realizar la prueba"<<endl;
              }
              else if (k>25)
              {
              cout<<"La temperatura introducida es mas alta a la necessaria para realitzar la prueba"<<endl;
              }
              else if (j<2.3)
              {
              cout<<"La resistencia introducida es mas baja a la marcada por el fabricante"<<endl;
              }
              else if (j>2.7)
              {
              cout<<"La resistencia introducida es mas alta a la marcada por el fabricante"<<endl;
              }
              cout<<""<<endl;
              system ("PAUSE");
              system ("CLS");
              break;
     
     case 9:
             
             cout<<""<<endl;
             cout<<"VERIFICACION DEL SENSOR DE LA PRESSION ABSOULTA"<<endl;
             cout<<""<<endl;
             cout<<"Mide la tension entre los puntos C (+) i A (-) del sensor, que corresponen a la tension d'alimentacion"<<endl;
             cout<<""<<endl;         
             cout<<"Introduce el valor obtenido"<<endl;
             cout<<""<<endl;
             cin>>l;
             cout<<""<<endl;
             
             if (l<4.7)
             {
             cout<<"La tension introducida es mas baja a la indicada por el fabricant"<<endl;
             }
             else if (l<=4.7 && l <= 5.2)
             {
             cout<<"La tension introducida esta dentro los parametres del fabricante"<<endl;
             }
             if (5.2<l)
             {
             cout<<"La tension introducida es mes alta a la marcada por el fabricante"<<endl;
             }
             cout<<""<<endl;
             system ("PAUSE");
             system ("CLS");
             break;

Muchas gracias de antemano, continuaré mirando donde está el fallo o que pero es que me da rabia porque como el case 9 tengo muchos, que solo son una sola variable y tambien me fallan, porque no me terminan de ir bien, porque me dan valores como malos cuando me los tendría que dar por buenos.

Y perdonad las molestias. Ya digo, soy un principiante, y aunque me leo los muchos manuales que me he descargado, no termino de encontrar solución alguna a las pegas que me voy encontrando.
En línea

eleon

Desconectado Desconectado

Mensajes: 99


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #18 en: 12 Febrero 2012, 22:15 pm »

Esto no es correcto:

Código
  1.             if (l<4.7)
  2.             {
  3.             cout<<"La tension introducida es mas baja a la indicada por el fabricant"<<endl;
  4.             }
  5.             else if (l<=4.7 && l <= 5.2)
  6.             {
  7.             cout<<"La tension introducida esta dentro los parametres del fabricante"<<endl;
  8.             }
  9.             if (5.2<l)
  10.             {

Para un análisis de casos se deben cumplir dos condiciones:
1- Todas las posibilidades deben estar abarcadas.
2- Una posibilidad no puede aparecer en dos casos distintos.

Tanto el primer como el segundo if se ejecutarán si el valor de "l" es menor que 4.7, por tanto es erróneo. Además en el segundo if poner "l<=4.7 && l <= 5.2" es redundante, ya que si es menor que 4.7 también va a ser menor que 5.2.

Saludos.
« Última modificación: 13 Febrero 2012, 10:46 am por eleon » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #19 en: 14 Febrero 2012, 04:19 am »

Aparte de lo ya comentado por eleon hay otros errores al principio del programa, en este condicional:
Código
  1. if (15<=k<=25 & 2.3<=j<=2.7) ...
Cuando deseas verificar si un valor esta dentro de un rango no puedes utilizar la forma usual en matemáticas "15 <= k <= 25". En su lugar debes indicar las dos condiciones, por ejemplo "15 <= k && k <= 25".

También debes utilizar de forma consistente los operadores, en tu caso debes utilizar el operador lógico "&&". El operador '&' es valido pero su uso tiene otra intención (operación AND a nivel de bits).

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dudas principiante
Análisis y Diseño de Malware
Liricoarchenemy 1 2,400 Último mensaje 21 Enero 2012, 18:46 pm
por 2Fac3R
Presentación y exposición de dudas
Programación C/C++
Mahlahj 2 2,235 Último mensaje 27 Febrero 2018, 06:49 am
por Mahlahj
MOVIDO: Presentación y exposición de dudas
Foro Libre
Eleкtro 0 1,392 Último mensaje 26 Febrero 2018, 00:29 am
por Eleкtro
Presentacion y Dudas
Dudas Generales
alrobe 0 1,482 Último mensaje 31 Marzo 2020, 01:35 am
por alrobe
Dudas de principiante.
Ingeniería Inversa
HellRoot 2 5,125 Último mensaje 17 Diciembre 2020, 21:18 pm
por HellRoot
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines