[C con Clase] Necesito ayuda con los problemas del curso

Programante programante en gmail.com
Dom Nov 25 15:54:32 CET 2007


mario guzmán escribió:
> tengas buenas horas, soy principiante en programacion en c++, y 
> quisiera tb aprender del curso q estan teniendo ud, no c como formar 
> parte del curso q tienen uds, porfavor envienme informacion acerca de 
> esto se los agradecere bastante
>
>
El curso está en http://c.conclase.net/curso/index.php Cualquiera puede 
seguirlo e intentar realizar los ejercicios.


David Reza escribió:
> Ésta es como la sexta vez que intento mandar este correo. Las veces 
> pasadas me llega otro correo diciéndome que el envío falló. Si es 
> repetido, disculpen las molestias.
Llegó otra vez ayer.

> Bueno, pues estoy haciendo los problemas del capítulo 10 pero me he 
> quedado atascado en algunos puntos.
>
> En el problema 4:
>
>     Hacer un programa que contenga una función con el prototipo |bool
>     Incrementa(char numero[10]);|. La función debe incrementar el
>     número pasado como parámetro en una cadena de caracteres de 9
>     dígitos. Si la cadena no contiene un número, debe devolver false,
>     en caso contrario debe devolver true, y la cadena debe contener el
>     número incrementado.
>
>     Si el número es "999999999", debe devolver "0". Cadenas con
>     números de menos de 9 dígitos pueden contener ceros iniciales o
>     no, por ejemplo, la función debe ser capaz de incrementar tanto la
>     cadena "3423", como "00002323".
>
>     La función "main" llamará a la función Incrementar con diferentes
>     cadenas.
>
>
> - Me gustaría que me dieran ayuda teórica, no el código resuelto. -
>
> Lo que no sé es cómo incrementar en una unidad un número en una cadena 
> de caracteres.
>
> He pensado en aumentar 1 unidad a las unidades del último char en el 
> array (es decir, el array[9] ) que vayan del 1 al 8;  que sea 0 si es 
> 9 y aumentar  en 1 unidad las decenas. Si en las decenas es 9, al 
> aumentarle 1 unidad también se convertiría en 0, y le tendría que 
> aumentar 1 unidad a las centenas y así sucesivamente.
>
> Ésto me parece muy tedioso de hacer, aunque creo que puedo hacerlo 
> fácilmente, pero me gustaría saber si alguien tiene una idea mejor.
Es una solución. También puedes usar un bucle.

> -------------------------------------------------------------------------------------------------------------------------------------------- 
>
>
> En el problema 5 la última parte dice:
>
>     La función no debe hacer distinciones entre mayúsculas y minúsculas.
>
>
> ¿ Ésto se refiere a que debe de leer tanto Anita lava la tina, como 
> anita lava la tina ?
Creo que a eso se refiere. Debe admitir tanto Anitalavalatina como 
anitalavalatina.
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
>
> En el problema 1 del capítulo 11 dice:
>
>     Escribir un programa que almacene en un array los nombres y
>     números de teléfono de 10 personas. El programa debe leer los
>     datos introducidos por el usuario y guardarlos en memoria. Después
>     debe ser capaz de buscar el nombre correspondiente a un número de
>     teléfono y el teléfono correspondiente a una persona. Ambas
>     opciones deben se accesibles a través de un menú, así como la
>     opción de salir del programa. El menú debe tener esta forma, más o
>     menos:
>
>         a) Buscar por nombre
>         b) Buscar por número de teléfono
>         c) Salir
>
>         Pulsa una opción:
>
>     *Nota:* No olvides que para comparar cadenas se debe usar una
>     función, no el operador ==.
>
> ¿ A qué se refiere la nota ? ¿Qué función es la que se debe usar ?
El operador == compara direcciones de memoria, no contenidos (escepto en 
std::string, que está sobrecargado).
Tendrás que usar strcmp(), strncmp() [comparando hasta n caracteres] o 
strcasecmp() [ignorando mayúsculas y minúsculas]

> Éstas son todas mis dudas y espero que me puedan ayudar con ellas y 
> que éstas se puedan resolver solamente con lo que se ha aprendido en 
> el curso del capítulo 000 al capítulo 011.
>
> Saludos
>
> -- 
> | = David Reza = |





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