Aquí la gente está para resolver dudas no resolverte el laboratorio, si quieres ayuda postea el código que tengas hecho y a partir de ahí se puede puntualizar que cosas tienes mal o que cosas te faltan.
Saludos
.
Saludos
![:D :D](https://forum.elhacker.net/Smileys/navidad/cheesy.gif)
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: K-YreX en 23 Julio 2020, 03:40 AM
Si lo has intentado y llegado a un punto no consigues avanzar, no pongas el enunciado del programa para que te lo den hecho, sino pon el código que llevas hecho, lo que estás intentando y lo que te falla.
De esta manera obtendrás mejores respuestas.
char *nombre;
//o
char* nombre;
char*nombre;
char *nombre
//o
char* nombre
void agregar(t_nodo &, t_dato);
struct s_nodo_ini
{
t_dato dato;
struct s_nodo*sig;
struct s_nodo *fin;
}
void eliminar(t_nodo*nodo,char*texto)
{
t_nodo aux= &nodo; //siendo nodo la cabeza/inicio
while(aux != NULL) //recorres todo la lista
{
//Aqui haces la comprobación y en caso positivo lo eliminas
aux = aux->sig; //no se si se escribe asi en C pero el concepto es el mismo
}
}
Cita de: Loretz en 16 Septiembre 2019, 05:04 AMLo siento yo tambien, por que mi contestación está demas y fuera fe tono
Mis disculpas, pero la cosa no era contigo que eres la víctima. Sucede que por alguna razón hay una manía de enseñar C++ como si se estuviera en los 70s, con construcciones y rutinas propias de los 50. Y no sé muy bien por qué, pero me disgusta de sobremanera. Yo también he tenido que pasar por el mismo tratamiento de quienes enseñar vicios y usan el poder de una cátedra para que todo el mundo esté obligado a reproducirlos. Me parece francamente despreciable, y no conseguí decirlo bien.
Va una aclaración por si sirviera:
La construcciónwhile (!Archivo.eof()){
es por lo menos incompleta, ya la suspensión de la lectura con getline puede deberse a más de una causa.
std::ifstream tiene un operator bool, que equivale a !fail(), que es lo que permite la lectura en ciclos.
Documentación: https://en.cppreference.com/w/cpp/io/basic_ios/operator_bool
La forma canónica sería:while (std::getline(Archivo, Frase)) {
std::cout << Frase << std::endl;
}
// Si interesa saber que ha resultado:
// (puedes consultar la documentaciOn:
// https://en.cppreference.com/w/cpp/io/ios_base/iostate
if (Archivo.good())
std::cout << "Sin error.\n";
else if (Archivo.eof())
std::cout << "End of file.\n";
else if (Archivo.fail())
std::cout << "Error de lectura.\n";
else if (Archivo.bad())
std::cout << "Error irrecuperable.\n";
Cita de: EdePC en 15 Septiembre 2019, 23:47 PM
- Jeje, a Loretz le faltó justificar algo más para que no se le mal-interprete. He estado revisando el ebook (gratuito en inglés) C++ Notes for Professionals: https://books.goalkicker.com/CPlusPlusBook/ Capítulo 12: File i/O, Sección 12.3 Reading from a file, habla otros métodos para leer ficheros, veo no usa EOF directamente.
- Luego en la Sección 12.7: Checking end of file inside a loop condition, bad
practice?, veo algo muy similar a lo que comenta Loretz, aunque no le entiendo bien XD, e hecho algunas pruebas y no noto diferencias XD.
- Por cierto, si estás iniciando en C++, te recomendaría estos ebooks gratuitos en español:
https://openlibra.com/es/book/fundamentos-de-programacion-con-el-lenguaje-de-programacion-c-ed-2017
http://arco.esi.uclm.es/~david.villa/pensar_en_C++/pensar_en_cpp-vol1.pdf
http://arco.esi.uclm.es/~david.villa/pensar_en_C++/pensar_en_cpp-vol2.pdf
-- Ya luego revisas ebooks avanzados de tips como el de Notes for Professionals o las Referencias Oficiales.
shutdown -s -t 500 -c "(O.o) (o.O)"
Cita de: Loretz en 15 Septiembre 2019, 04:08 AMSabes que mas de perdió de aquella época? parece ser el respeto, tu sarcasmo sobra.while (!Archivo.eof()){
std::getline(Archivo,Frase);
std::cout << Frase << std::endl;
}
ese es un error muy común, un trozo de código fósil, que vaya a saber por qué se repite meticulosamente en los primeros palotes. ¿Mucho copiar y pegar el código de malos programadores del siglo XX? (Ah, por las dudas, XX se lee "veinte")
Bueno, si te fijas un poco en lo que hace ese fragmento de código, Archivo no tiene activa la señal de eof hasta que no se pretenda leer más allá de la última linea, o ¿de qué otra manera sabría Archivo que se ha alcanzado la última?
A modo de curiosidad histórica, hace muchos, muchos años, creo que la última vez que se vio fue alrededor de 1960, los archivos se guardaban en cintas magnéticas, y cuando un archivo tenía una parte en una cinta y otra parte en otra, era necesario poner una "marca de fin de archivo" (de ahí el nombre eof - end of file). Entonces, un archivo tenía al final esa marca, normalmente 0xFFFF, que si fuera un int se leería como -1. Pero eso era así en la época en tus abuelos se conocieron, desde entonces las cosas han cambiado un poco, y algo que cambió son los filesystems, de modo que los archivos ya no llevan una "marca de fin de archivo", nunca más, desde hace muuuuucho tiempo.