Reto structs

Código
Intermedio
Rust
Curso de Rust
5 min
200 XP
Actualizado: 17/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Crear una estructura para gestionar información de libros en una biblioteca

Crea una estructura llamada Libro que represente un libro en una biblioteca. La estructura debe tener los siguientes campos:

  • titulo: una cadena de texto (String)
  • autor: una cadena de texto (String)
  • anio_publicacion: un entero sin signo (u32)
  • disponible: un booleano que indica si el libro está disponible para préstamo

Luego, implementa los siguientes métodos para la estructura Libro:

  1. Una función asociada new que reciba el título, autor y año de publicación, y devuelva una nueva instancia de Libro (con disponible establecido como true por defecto).

  2. Un método prestar que cambie el estado de disponible a false si el libro está disponible, y devuelva un booleano indicando si la operación fue exitosa.

  3. Un método devolver que cambie el estado de disponible a true si el libro no está disponible, y devuelva un booleano indicando si la operación fue exitosa.

    Guarda tu progreso

    Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

    Progreso guardado
    Asistente IA
    Ejercicios
    Iniciar sesión gratis

    Más de 25.000 desarrolladores ya confían en CertiDevs

  4. Un método info que devuelva una cadena con la información del libro en el formato: "[Título] por [Autor] ([Año]) - [Disponible/No disponible]".

Finalmente, en la función main, crea un libro, muestra su información, préstalo, muestra su información actualizada, devuélvelo y muestra su información final.

Solución al ejercicio de programación en Rust

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Rust para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en Rust

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Rust

⭐⭐⭐⭐⭐
4.9/5 valoración