[C con Clase] Varias dudas del curso

Zaka E-Lab shanatorio en gmail.com
Vie Nov 23 02:03:51 CET 2007


David Reza escribió:
> Hola a todos, he estado leyendo el curso de nuevo y me surgen ciertas 
> dudas que antes no.
> Las apunté todas para no tener que estar mandando muchos mensajes y 
> tener respuestas lo más pronto posible.
> Aquí están mis dudas:
> 
> 1.- En el capítulo 002 del curso, la sección de Tipo "enum" o enumerado 
> dice lo siguiente:
> 
>     enum [<identificador_de_enum>] {
>        <nombre> [= <valor>], ...} [lista_de_variables];
> 
>     El identificador de tipo es opcional, y nos permitirá declarar más
>     variables del tipo enumerado en otras partes del programa:
> 
>     [enum] <identificador_de_enum> <lista_de_identificadores>;
> 
>     La lista de variables también es opcional. Sin embargo, al menos uno
>     de los dos componentes opcionales debe aparecer en la definición del
>     tipo enumerado.
> 
> A qué se refiere que el identificador de tipo es opcional y cual es ese 
> identificador de tipo? enum?
> Entonces puedo hacer una enumeración así?:
> 
> myEnum { const1 = 1, const2, const3 };         // Omito el identificador 
> de tipo (enum)
> myEnum variable;                                         // Declaro una 
> variable de mi tipo enum

El identificador de tipo es aquello que va antes de la variable en la
declaración de variables. En tu ejemplo sería "myEnum". Y un ejemplo
de como se puede usar solo la declaración del tipo y una declaración
implícita de una variable de este tipo, sin identificar el tipo, sería
el siguiente:

#include <iostream>

using namespace std;

int
main () {

   enum {a,b,c} un_enum;

   un_enum = b;

   cout << un_enum << endl;

   return 0;
}

> 2.- En mis programas (de consola) no salen los acentos, ya que salen 
> otras letras que sustituyen a las vocales con acentos.
> ¿Cómo puedo hacer que se visualicen correctamente los acentos?

Ésto depende de tu sistema operativo, de la shell que uses y del mapa de
caracteres que uses. Investiga un poco, lo normal sería tener UTF-8 para
que puedas ver los caracteres del español correctamente.

> 3.- Es recomendable utilizar variables que sólo se utilizarán una vez? 
> Por ejemplo, voy a sumar dos números y los tengo en dos variables ( a y 
> b, respectivamente). Es una buena opción crear otra variable (digamos la 
> variable c) y almacenar en ella la suma de las primeras dos y después 
> imprimir c para mostrar el resultado o sería mejor imprimir el resultado 
> como  a + b  y no desperdiciar memoria para una variable? - Sé que se 
> desperdicia muy poca memoria en este caso pero es para dar la idea -

Definición de variable en informática: Zona de memoria que cambia de 
valor. Si no va a cambiar ese valor, no uses una variable.

Sobre las preguntas restantes, considero que no se lo suficiente como
para responder.

Espero que te sirvan mis respuestas.

Saludos.

Zaka.




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