Consulta/ayuda C++ de un novato en el tema

rakys

Miembro Activo
Se incorporó
30 Mayo 2021
Mensajes
1
buenas, este es mi primer post espero no romper reglas y eso...

explico estoy realizando un ejercicio de C++ pero no entiendo algunas cosas, agradecería algún consejo o guía.
tengo lo siguiente en un block de notas(registro.txt)
10;A
01;B
01;A
10;A
01;A
01;A
10;B
01;A
10;B
10;A
01;A
(aki va un espacio invisible para que no me corte la lectura la función de leer de mi código)



esto lo logro leer de manera adecuada, pero no entiendo como podría recorrer todo ese arreglo linea por linea para así aplicar comparadores(y como los aplico de manera adecuada)

ósea contar cuantos 10;A 01;A 10;B 01;B
10;A = valle entrada
01;A= valle salida
10;B = punta entrada
01;B= punta salida

contar cuantos con A y cuantos con B tengo


despues como podria generar numeros y letras al azar siguiendo esa logica 01,10,A,B y estos grabarlos en otro txt, la funcion para grabar entiendo es esto:
/////
GrabarArchivo(char* archivo,string texto){
ofstream myfile;
myfile.open (archivo, std::ios_base::app);
myfile << texto << endl;
myfile.close();
}
/////



y una tercera opcion de salida(entiendo que es return 0; )

estas 3 partes van en un menú claro(no me logra entregar la salida correcta al ingresar 2 y 3 (solo cout que muestre generar archivos con numeros aleatorios y salir)

adjunto mi intento penoso de código



/////////


#include<iostream>
#include<fstream>
#include<string.h>
#include<conio.h>

using namespace std;

int vallee=0;
int valles=0;
int puntae=0;
int puntas=0;

int inicio=0;
int op;




LeerArchivo(char* archivo){
ifstream myfile(archivo);
string line;
if (myfile.is_open()){
while(getline(myfile,line)) {
cout <<line<< "\n";

//para contadores decladaros preguntar


}

}
myfile.close();
}


int main(){


LeerArchivo("registros.txt");

while(1){

cout<<"\n1.calculos 2.aleatorios 3.salir\n";
////////////////////////
cin>>op;

switch(op){
case 1: cout<<"\nCuantas personas entraron a la estación: ";

cout<<"\nCuantas personas entraron a la estación: ";

cout<<"\nCuantas personas salieron de la estación: ";

cout<<"\nCuantas personas entraron en horario punta: ";

cout<<"\nCuantas personas salieron en horario punta: ";

cout<<"\nCuantas personas entraron en horario valle: ";

cout<<"\nCuantas personas salieron en horario valle: ";


switch(op){

case 2: cout<<"\nGenerar archivo con datos aleatorios: ";
}


switch(op){

case 3: cout<<"\nSalir ";break;

}

}

} //cierre while




return 0;
} // cierre main
 

tglaria

InExperto
Se incorporó
10 Febrero 2005
Mensajes
9.753
1.‐ Es complejo leer el codigo que estas colocando, para entenderlo bien deberias dejarlo con formato (espaciado/identado en particular).

2.- Entiendo que estas consultando por una tarea, no creo que encuentres gente que te solucione el drama.

3.- No me quedó claro, ¿que hiciste? ¿qué quieres hacer? y ¿qué es lo que no funciona?
 
Upvote 0

Monstacho

Miembro Activo
Se incorporó
24 Junio 2020
Mensajes
1
El archivo no es un arreglo ojo con eso, lo que debería hacer es que mientras vas leyendo cada línea del archivo, comparar si esa línea es 10;A, 01;B, etc y aumentarle al contador correspondiente sería algo como if(line == "10;A") vallee++; (con eso ya tendrías esa parte lista)

Lo de generar números al azar no entiendo bien que es lo que tienes que hacer, supongo que generar una entrada similar a la que das al principio? Si es eso, deberías generar un número entre 0 y 1 con rand()%2 (rand está en la librería stdlib.h) y después ver si ese número generado es 0, entonces el siguiente número a generar debe ser 1 y viceversa, para las letras es algo similar ahí te dejo como hacer eso.

En tu switch tienes otro switch, quita el que está dentro porque si no, no va a funcionar bien jaja por eso no resulta cuando ingresas 2 o 3.

Cualquier cosa me puedes escribir por interno y te puedo ayudar un poco más :)
 
Upvote 0

PENTIUM4HT

Capo
Se incorporó
26 Junio 2021
Mensajes
111
Una consulta, que material estas estudiando? yo estoy estudiando la web pero paralelamente me interese en c++ y me complete el contenido gratis de w3 pero de ahi nose de donde mas estudiar, se agradece la ayuda.
 
Upvote 0
Subir