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

 

 


Tema destacado: Trabajando con las ramas de git (tercera 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,343 veces)
Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Presentación + dudas de principiante
« en: 1 Febrero 2012, 21:25 pm »

Buenas a tod@s:

Soy un chico de 20 años, no me dedico ni a la informática ni a la electrónica, sino a la automoción, sin embargo, todo el tema de ordenadores, y electrónica, siempre me ha ido mucho. Es más, cuando fue la hora de escojer qué estudios quería cursar, estaba entre estos 3. Pero escogí automoción porque es lo que me gusta más y a parte, los otros dos también se pueden aplicar a este campo.

Se poquito de eléctronica, ahora estoy un poco en ello y en informática solo informática de usuario. Pero ahora me estoy poniendo en programación. He empezado a hacer mis primeros programitas y van de fábula. Si queréis os lo paso para que digáis vuestra opinión.

Bueno el caso es que en uno de mis programas quiero centrar el texto en la pantalla, no quiero que me quede una lista de opciones en el menú principal del programa, pegado en el margen izquierdo de la pantalla. Como puedo hacerlo para que me quede centrado?

Muchas gracias de antemano y felicidades por el foro, me gusta mucho tanto su organización como el nivel que hay en él y los posts que hay colgados. Creo que me voy a pasar muchas horas navegando.

Vaya rabia no haberlo descubierto antes.




En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Presentación + dudas de principiante
« Respuesta #1 en: 1 Febrero 2012, 21:26 pm »

¿Que lenguaje de programación usas?
Más datos.


En línea

Anastacio

Desconectado Desconectado

Mensajes: 111



Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #2 en: 1 Febrero 2012, 22:45 pm »

Si puso esto aca, es probable que sea C, o C++, u otra variante del C.

No tengo ni idea, vendria mejor saber algo de tu programa para eso.
En línea

You, stop to close my post, you were novice too!!!!!!!!!!!!
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #3 en: 2 Febrero 2012, 00:16 am »

Como ya se comento vamos a suponer que Programador91 esta aprendiendo C o C++.

En ese caso lo mejor es continuar aprendiendo este en su forma estándar ya que así lo aprendido esta garantizado a funcionar correctamente sin importar el compilador y SO utilizado.

Una vez lo domines (me refiero a Programador91) pasas a las extensiones del lenguaje como es el caso con las dimensiones de la consola.

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
Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #4 en: 2 Febrero 2012, 16:20 pm »

Buenas a tod@s:

Disculpad, estoy trabajando en C++ como muy bien algun@s habéis intuido por aquí. En concreto, trabajo con DEV-C++, no es por nada en concreto. Tan solo porque en uno de los tutoriales que vi en You tube, es el que utilitzaban para programar. Y de todos los que ví fue el que me convenció más. No sé si fue una buena o mala elección. Pero de momento me apaño con este.

Volviendo a las preguntas, hoy he estado trabajando en un nuevo programa que nos han pedido en clase y me han surgido nuevas dudas/problemas. Por lo tanto los añado en la lista de preguntas anteriormente formuladas:

-Centrar texto en pantalla (esta en modo completo)

-Como puedo hacer para que, en cualquier momento, el programa me vuelva al menú principal pulsando la tecla "ESC". Por ejemplo seleccionas una opción que no deseabas, para no tener que cerrar y volver abrir el programa, me gustaría que pulsando la tecla de escape el programa te devolviera al menú principal.

-Si introduzco un dato y este es incorrecto, como puedo hacer para que una vez escrito el dato, al pulsar enter para introducirlo y el pc verifique que este dato es incorrecto, me lo cambie a un color rojo por ejemplo (el mismo dato anteriormente introducido, no que me aparezca de nuevo en rojo)

-Tengo esta duda:

cout<<"Introduce el valor obtenido"<<endl;
               cout<<""<<endl;
               cin>>a;
 
               cout<<""<<endl;
               if (a < 0.5)           
               {
               cout<<"La resistencia interna de la bomba de la gasolina es inferior que la minima marcada por el fabricante"<<endl;
               cout<<""<<endl;
               cout<<"Substituir la bomba de combustible"<<endl;
               }
               if (a > 4.5)
               {
               cout<<"La resistencia interna de la bomba de la gasolina es mayor que la maxima marcada por el fabricante"<<endl;
               cout<<""<<endl;
               cout<<"Substituir la bomba de combustible"<<endl;
               }
               cout<<""<<endl;
               if ( 0.5<=a<=4.5)

                {   
               cout<<"La resistencia interna de la bomba de la gasolina es la correcta"<<endl;
               }

Me da un fallo que es: Si pongo un valor inferior a 0.5 primero me sale que es incorrecto porque es inferior a la que marca por el fabricante, sin embargo, acto seguido me sale la frase que si que es correcta.

Y lo mismo pasa si lo pongo superior a 4.5. Me pone primero que es incorrecto el dato porque es mayor al que dicta el fabricante pero acto seguido me la toma como correcta.

Donde está el fallo????

Muchas gracias

Disculpad por el error de no haber especificado el lenguaje utilitzado, y cualquier duda estaré el caso para poderla resolver lo antes posible.
En línea

Programador91

Desconectado Desconectado

Mensajes: 24


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


cout<<"Introduce el valor obtenido"<<endl;
               cout<<""<<endl;
               cin>>a;
 
               cout<<""<<endl;
               if (a < 0.5)           
               {
               cout<<"La resistencia interna de la bomba de la gasolina es inferior que la minima marcada por el fabricante"<<endl;
               cout<<""<<endl;
               cout<<"Substituir la bomba de combustible"<<endl;
               }
               if (a > 4.5)
               {
               cout<<"La resistencia interna de la bomba de la gasolina es mayor que la maxima marcada por el fabricante"<<endl;
               cout<<""<<endl;
               cout<<"Substituir la bomba de combustible"<<endl;
               }
               cout<<""<<endl;
               if ( 0.5<=a<=4.5)

                {   
               cout<<"La resistencia interna de la bomba de la gasolina es la correcta"<<endl;
               }



Buenas a tod@s:

He podido solucionar el problema que cito arriba, al final lo he solucionado del siguiente modo:

cout<<"Introduce el valor obtenido"<<endl;
               cout<<""<<endl;
               cin>>a;
 
               cout<<""<<endl;
               if (a < 0.5)           
               {
               cout<<"La resistencia interna de la bomba de la gasolina es inferior que la minima marcada por el fabricante"<<endl;
               cout<<""<<endl;
               cout<<"Substituir la bomba de combustible"<<endl;
               }
               else if (a > 4.5)
               {
               cout<<"La resistencia interna de la bomba de la gasolina es mayor que la maxima marcada por el fabricante"<<endl;
               cout<<""<<endl;
               cout<<"Substituir la bomba de combustible"<<endl;
               }
               cout<<""<<endl;
               else if ( 0.5<=a<=4.5)

                {   
               cout<<"La resistencia interna de la bomba de la gasolina es la correcta"<<endl;
               }

El resto de dudas aún siguen en pie :huh:

Muchas gracias de antemano
En línea

eleon

Desconectado Desconectado

Mensajes: 99


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #6 en: 2 Febrero 2012, 20:49 pm »

Buenas:

Para centrar el texto tienes el famoso "gotoxy(x, y)" de la biblioteca "conio.h" pero es un crimen contra la programación, está totalmente desaconsejada esa librería asi que si la ves por ahi no la uses, de la que no tengo malas referencias es de la función "setw(num)" de la librería "iomanip" que viene por defecto en muchos compiladores. Aqui te dejo un ejemplo:

Código
  1. #include <iostream>
  2. #include<iomanip>
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     cout << setw(30) << "texto" << setw(30) << "texto" << endl;
  8. }
  9.  

Acerca de lo de "presionar ESC para volver al inicio" hasta donde tengo entendido hay que usar una API para leer el "presionar" o "soltar" una tecla, para lo cual primero debes aprender a programar bien en C++ antes de meterte en esas cosas, lo que si que puedes hacer es un menú y un bucle:

Código
  1. while (opcion != 0)
  2. {
  3.     cout << "1- Opcion" << endl << "2- Opcion" << endl << "3-Salir";
  4.     cin >> opcion;
  5.  
  6.     switch (opcion)
  7.     {
  8.        case 1:
  9.            //Instrucciones
  10.            break;
  11.        case 2:
  12.            //Instrucciones
  13.            break;
  14.         case 3:
  15.             opcion = 0; //Al asignarle 0 a "opcion" saldrá del bucle y no volverá a mostrar el menú
  16.             break;
  17. }

Y para comprobar que la opcion seleccionada es correcta debes usar otro bucle dentro del anterior:

Código
  1. while (opcion < 1 || opcion > 3) //Mientras se salga del rango de las opciones se volverá a imprimir el mensaje y a pedir una opcion
  2. {
  3.     cout << "1- Opcion" << endl << "2- Opcion" << endl << "3-Salir";
  4.     cin >> opcion;
  5. }

Espero que te sirva, saludos.
« Última modificación: 2 Febrero 2012, 20:54 pm por eleon » En línea

Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #7 en: 2 Febrero 2012, 21:16 pm »

Buenas a tod@s:

Muchas gracias por las respuestas. Lo pondré en práctica a ver que tal. ;-)
En línea

Programador91

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #8 en: 4 Febrero 2012, 11:24 am »

Buenas a tod@s:

Continuo con mi proyecto para presentar en clase.

Ahora me encuentro que tengo que introducir 2 variables y compararlas. En caso de que una de las dos no cumpla los requisitos saber cual es para diagnosticar el problema y la consecuente solución.

Aquí os ejemplifico el problema.

Tenemos que introducir dos valores diferentes que les vamos a llamar X e Y.

La X tiene que estar entre los valores 35 y 45 y la Y entre 3.0 y 4.0. Pero si X nos da 80 la Y entonces tendrá que darnos unos valores comprendidos entre los 300 y 400.

En caso de que alguna de las dos variables no entre dentro de estos parámetros como lo puedo hacer para que me diga por ejemplo X está por debajo de los valores indicados por el fabricante? Y por supuesto esto con el resto, es decir que me diga cual de las dos está mal y si está por encima o por debajo.

Muchas gracias de antemano. Por supuesto, en el final del trabajo en los agredicimientos aparecerá vuestro foro. Es lo mínimo que puedo hacer después de esta acojida ;-)
En línea

eleon

Desconectado Desconectado

Mensajes: 99


Ver Perfil
Re: Presentación + dudas de principiante
« Respuesta #9 en: 4 Febrero 2012, 13:48 pm »

La misma respuesta que antes, usa un bucle para evitar que el usuario introduzca un dato erróneo y usa un análisis de casos o condicionales para tratar los elementos. Ejemplo:

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

Te lo dejo como guía de cómo plantear estos ejercicios, por supuesto tienes que acomodarlo a tu programa en particular.

Saludos.
« Última modificación: 4 Febrero 2012, 13:55 pm por eleon » En línea

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,255 Último mensaje 21 Enero 2012, 18:46 pm
por 2Fac3R
Presentación y exposición de dudas
Programación C/C++
Mahlahj 2 2,023 Último mensaje 27 Febrero 2018, 06:49 am
por Mahlahj
MOVIDO: Presentación y exposición de dudas
Foro Libre
Eleкtro 0 1,248 Último mensaje 26 Febrero 2018, 00:29 am
por Eleкtro
Presentacion y Dudas
Dudas Generales
alrobe 0 1,315 Último mensaje 31 Marzo 2020, 01:35 am
por alrobe
Dudas de principiante.
Ingeniería Inversa
HellRoot 2 4,867 Último mensaje 17 Diciembre 2020, 21:18 pm
por HellRoot
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines