elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como reemplazar una cadena c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como reemplazar una cadena c++  (Leído 3,702 veces)
mari2diaz

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Como reemplazar una cadena c++
« en: 8 Febrero 2023, 23:32 pm »

Quiero hacer esto
Código
  1. struct Alumno{
  2. std::string nombre;
  3. std::string cedula;
  4. float indice;
  5. int nivel;
  6. int creditos;
  7. std::vector<std::vector<std::string>> materias;
  8. };
  9.  
  10. // Aqui guardo los datos en el vector
  11.  
  12.                        while(stream){
  13.    materia = {_materia, ""};
  14.    nodo->alumno.materias.push_back(materia);
  15.    getline(stream, _materia, ',');
  16. }
  17.  
  18.  
  19.                for(auto it : puntero->alumno.materias){
  20. if(it[0] == _materia && i < _cupos){
  21. it[1] = "INSCRITO";
  22. std::cout << "INSCRITO" << std::endl;
  23. }else if(it[0] == _materia && i >= _cupos){
  24. it[1] = "SIN CUPO";
  25. }
  26. }
pero ya intente de varias fomas y no reemplaza la cadena, no se si es por el it


« Última modificación: 9 Febrero 2023, 02:44 am por mari2diaz » En línea

RayR

Desconectado Desconectado

Mensajes: 239


Ver Perfil
Re: Como reemplazar una cadena c++
« Respuesta #1 en: 9 Febrero 2023, 02:38 am »

Falta información. ¿Eso compila siquiera, o te da algún error? ¿Qué tipo de dato es materias? Preferentemente deberías poner la declaración de toda la estructura Alumno.

Ya de entrada, con ese código no vas a poder modificar ninguna cadena, ya que ese iterador trabaja sobre copias. Necesitarías que fuera una referencia. De cualquier manera, si materias es un vector de cadenas, entonces it[ n ] sólo se refiere al caracter "n" de cada cadena en cuestión, por lo que no es válido asignarle una cadena ni compararlo con una. Pon la información que te digo y ya podríamos ver exactamente cuál es el error.


En línea

mari2diaz

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Re: Como reemplazar una cadena c++
« Respuesta #2 en: 9 Febrero 2023, 02:53 am »

Ya esta solucionado, gracias
Código
  1.  
  2.               for(auto& it : puntero->alumno.materias){
  3. if(it[0] == _materia && i < _cupos){
  4. it[1] = "INSCRITO";
  5. std::cout << "INSCRITO" << std::endl;
  6. }else if(it[0] == _materia && i >= _cupos){
  7. it[1] = "SIN CUPO";
  8. }
  9. }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Reemplazar en cadena [J2ME]
Java
Ferсhu 5 6,196 Último mensaje 18 Agosto 2008, 20:34 pm
por Ferсhu
REEMPLAZAR CADENA DE CARACTERES
Programación C/C++
josemari85 2 2,691 Último mensaje 3 Junio 2010, 23:38 pm
por @synthesize
¿Cómo reemplazar caracteres en una cadena de un array?
Programación C/C++
Juancho25 1 2,528 Último mensaje 26 Diciembre 2013, 14:07 pm
por ivancea96
[Resuelto] Reemplazar Caracteres en una Cadena
Desarrollo Web
Brian1511 5 3,364 Último mensaje 23 Julio 2015, 03:11 am
por engel lex
reemplazar caracter en cadena en C
Programación C/C++
el_dorado 4 5,440 Último mensaje 3 Julio 2021, 18:40 pm
por el_dorado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines