| 
	
		|  Autor | Tema: Otro problema en un programa, no entiendo porque.  (Leído 3,258 veces) |  
	| 
			| 
					
						| Anastacio 
								
								 Desconectado 
								Mensajes: 111
								
								   | 
 
# include <stdio.h>
 # include <conio.h>
 
 
 int main()
 
 {
 int a;
 int b;
 int c;
 a = 0;
 b = 100;
 c = 1;
 
 printf("De un valor a la variable a\n");
 scanf("%d",&a);
 
 if(a <= b  and a >= c)
 {
 printf("La variable a esta entre 1 y 100");
 getch();
 }
 
 
 if(a >= b and a <= c)
 {
 printf("La variable a no esta entre 1 y 100");
 getch();
 }
 
 
 }
 
He empezado con if then else, y quise probar esto. Pero por alguna razon, me saltea el segundo if si no se cumple el primero, es decir si a es mayor a 100 y menor a 1, el programa se cierra. Si es menor a 100 y mayor a 1, funciona bien. Porque??? 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 You, stop to close my post, you were novice too!!!!!!!!!!!! |  |  |  | 
			| 
					
						| El_Java | 
 
Un nº mayor que 1 y menor que 100: 10 23 30 40 ...Un nº menor que 1 y mayor que 100: (busca uno)
 
 PD: cambia el segundo and por un or o por ||
 PD2: algo más elegante, quita el segundo if entero y cambialo por else.
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Anastacio 
								
								 Desconectado 
								Mensajes: 111
								
								   | 
 
Ya lo hice y anda perfecto, gracias
 Una duda
 
 Porque habia que usar or ahi???
 
 Y con el else no me andaba, por eso puse if.
 
 EI: juntando mensajes, la proxima vez borro.
 
 Ahora estoy averiguando como hacer para que el programa solo acepte numeros. En wikipedia dice que hay especificadores para eso, y que d es el que sirve para eso. Pero eso no se refiere acaso a "%d"???. Si fuese asi, mi programa solo aceptaria numeros para la variable a, pero al contrario, tambien acepta letras.
 
 Porque???
 |  
						| 
								|  |  
								| « Última modificación: 20 Enero 2012, 23:38 pm por Eternal Idol » |  En línea | 
 
 You, stop to close my post, you were novice too!!!!!!!!!!!! |  |  |  | 
			| 
					
						| El_Java | 
 
simplemente tienes que usar OR porque no tiene ningún sentido lo que habias puesto desde un punto de vista lógico, ningún numero puede ser menor que 1 y mayor que 100. O es menor que 1 O es mayor que 100. Poner "%d" no significa que solo vaya a leer numeros, sino que la variable que se espera para guardar el dato leido tiene que ser un integer. Y con else si funciona: # include <stdio.h># include <conio.h>  int main() {    int a;    int b;    int c;    a = 0;    b = 100;    c = 1;     printf("De un valor a la variable a\n");    scanf("%d",&a);     if(a <= b  and a >= c)     {         printf("La variable a esta entre 1 y 100");       getch();     }        else         {           printf("La variable a no esta entre 1 y 100");       getch();     }       return 0;}          
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Anastacio 
								
								 Desconectado 
								Mensajes: 111
								
								   | 
 
que tonto soy, gracias!!! |  
						| 
								|  |  
								|  |  En línea | 
 
 You, stop to close my post, you were novice too!!!!!!!!!!!! |  |  |  | 
			| 
					
						| Xandrete 
								
								 Desconectado 
								Mensajes: 210
								
								   | 
 
EI: juntando mensajes, la proxima vez borro.
 
 
 En una ocasión se me fue la olla y publiqué dos posts seguidos en lugar de modificar el anterior. Pero tú llevas unos cuantos ya >.< Al tanto, Anastacio, al tanto... |  
						| 
								|  |  
								| « Última modificación: 21 Enero 2012, 02:41 am por Xandrete » |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Error con c$ no entiendo porque!! Programación Visual Basic
 | Xrage87 | 3 | 2,116 |  29 Noviembre 2008, 14:22 pm por gulabyte
 |  
						|   |   | problema con otro programa :P .NET (C#, VB.NET, ASP)
 | <sylar> | 5 | 3,165 |  23 Febrero 2009, 02:18 am por <sylar>
 |  
						|   |   | Tengo un problema en un programa simple, no entiendo cual es.
							« 1 2 » Programación C/C++
 | Anastacio | 12 | 7,629 |  20 Enero 2012, 22:15 pm por Anastacio
 |  
						|   |   | Quien me ayuda con mi programa,me tira un error y no entiendo porque Java
 | Ila26 | 2 | 2,261 |  4 Diciembre 2013, 22:01 pm por Zoik
 |  
						|   |   | No entiendo el porqué... Java
 | Droigor | 2 | 2,063 |  13 Marzo 2014, 20:42 pm por Droigor
 |    |