[C con Clase] Formato de fecha y simbolo !

carlos loureda parrado balanzeneto en gmail.com
Jue Jul 7 01:11:16 CEST 2011


No, eso no es lo que te intentaba explicar, primero en : !contraseña =
"1234" no estás comparando, estás asignando un valor, recuerda que para
comparar se usa ==, y segundo, declaras un char y lo igualas a una cadena,
el compilador te da error, o sea que vamos ese ejemplo es muy malo. tercero:
si quisieses hacer una asignacion no puedes ponerle el operador *!* a la
variable  a la que estes asignando un valor.

Tienes que quedarte muy claro con el concepto de que en c/c++ cualquier
valor DISTINTO DE 0 (o sea *!=0*) es VERDADERO y un valor IGUAL A 0 es
FALSO. Con esto en mente, y recordando ejemplos anteriores, cuando quieras
hacer esto:

*if(0 == x)*, es decir comprobar si el valor de una variable x es 0, puedes
poner esto: *if( !x)*. Que quiere decir comprueba que* X* sea *FALSO*, y si
x en tu programa vale 0, se cumple que x es falso. Si en vez de eso quieres
hacer:
*if( 0 != x)* , o sea, queremos comprobar que x sea distinto de 0, o sea que
*X* sea *VERDADERO*, por lo tanto esa expresión se pueda sustituir por *
if(x)*; que se cumplirá siempre que X sea verdadero, o sea cuando tome
valores != 0.

Otra ejemplo es usarlo con booleanos:

bool correcto = true;

*if(correcto)* /* equivale a */ *if( true == correcto )*
*if( !correcto)* /* equivale a */ *if( false == correcto )*

Relee todos los ejemplos y  prueba con el compilador las distintos ejemplos,
espero que pronto aparezca alguien que sepa más porque no tengo suficientes
recursos para explicarme mejor, lo siento, de todos modos cualquier cosa
intentaré ayudar.

El 6 de julio de 2011 21:14, Antonio Cascales
<antonio.cascales en gmail.com>escribió:

> **
> Hola:
>
>    me parece que ya entiendo el concepto, asociandolo a la expresión... "si
> * no..." Por ejemplo:
>
> char contraseña = "1234";
>
> if (!contraseña = "1234")
> {
> printf("La contraseña es incorrecta.\n");
> else
> printf("¡Contraseña correcta! Accediendo al programa...\n");
> }
>
>    Lo que querría decir... Si la contraseña no es 1234, te doy el mensaje
> que la contraseña es incorrecta, si lo es, te dejo accceder al programa.
> ¿no?
>
>    Espero haberlo entendido. Muchas gracias por la ayuda. Un saludo,
>
>          Antonio
>
>
> ----- Original Message -----
> *From:* carlos loureda parrado <balanzeneto en gmail.com>
> *To:* Lista de correo sobre C y C++ <cconclase en listas.conclase.net>
> *Sent:* Wednesday, July 06, 2011 6:27 PM
> *Subject:* Re: [C con Clase] Formato de fecha y simbolo !
>
> Se me fue la olla en la ultima linea: " ... numeros menores de 1 o mayores
> de *9"*.
>  Perdón
>
> El 6 de julio de 2011 18:24, carlos loureda parrado <balanzeneto en gmail.com
> > escribió:
>
>> Buenas con lo de la fecha no te puedo ayudar porque ni me suena esa
>> función, soy novatillo sorry. con respecto al ! que ya te respondia josep te
>> pongo algún ejemplo por si no lo acabas de entender.
>>
>> -> Primero en C/C++ se considera por convenio que un valor es CIERTO si es
>> != 0 y FALSO  si su valor es = 0.
>> Supongo que tu los ifs los haces de la siguiente manera:
>>
>> int x = 2;
>>
>> if( 0 == x) cout<<"x vale 0";
>> else cout<<"valor de x: "<<x;
>>
>> --->  Pero si usas solo if( x ) o if ( ! x) estas expresiones tambien son
>> válidas:
>>
>> if( x ) se cumplirá siempre que X sea CIERTO, y como hemos dicho esto por
>> norma es cuando su  valor sea != 0.
>> if ( ! x) se cumplirá siempre que X sea falso, es decir cuando X valga 0.
>> Así el ejemplo anterior lo podrías poner así:
>>
>> int x = 2;
>>
>> if( !x) cout<<"x vale 0";
>> else cout<<"valor de x: "<<x;
>>
>> -> Una vez que entiendas esto te veras negando expresiones complejas sin
>> darte cuenta: Ejemplo:
>>
>> !(x > 0 && x < 10) es equivalente a (x <= 0 || x >= 10). Porque lo que
>> queremos son numeros que NO estén entre 1 y 9, o lo que es lo mismo numeros
>> menores de 1 o mayores de 10.
>>
>> Un saludo!
>>
>> El 6 de julio de 2011 01:17, Antonio Cascales <antonio.cascales en gmail.com
>> > escribió:
>>
>>>  **
>>> Hola a todos:
>>>
>>>    Muchas gracias por los diferentes mensajes con las respuestas, ya
>>> parece que empiezo a entender los conceptos de arrays y punteros, aunque
>>> hasta que no haga algunos ejemplos, practique un poco, y vea que me salen
>>> bien, no podré decir que lo tengo dominado.
>>>
>>>    ahora me gustaría haceros una preguntita no muy complicada. He visto
>>> un ejemplo, relativamente sencillo para mostrar la fecha actual, pero me
>>> surge un inconveniente, y es que cuando voy a mostrarla con asctime(fecha),
>>> me la muestra con el formato inglés, y yo quiero modificar el formato, para
>>> que me diga por ejemplo, Miércoles 6 de Junio de 2011. ¿podéis indicarme de
>>> que manera podría hacerlo?
>>>
>>>    Y otra consultita, bastante sencilla pero que no termino de entender,
>>> es el símbolo '!' cuando se utiliza en if, do-while, while, etc.
>>>
>>>    Muchas gracias a quien responda. Un saludo,
>>>
>>>        Antonio
>>>
>>>
>>> _______________________________________________
>>> Lista de correo Cconclase Cconclase en listas.conclase.net
>>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>>
>>
>>
>  ------------------------------
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110707/6a0962a6/attachment.html>


Más información sobre la lista de distribución Cconclase