Soy nuevo en C
Necesito un código que me lea dos archivos csv uno de producto y otro de factura los cuales tienen una llave que los comunica... el programa debe pedir la llave o el número de cédula por ejemplo e imprimir toda la información de un solo cliente gracias...
Soy nuevo en tu lenguaje
Necesito una respuesta que me diga qué llevas hecho, la estructura de los ficheros csv que estás leyendo gracias...
Tengo dos archivos csv
uno llamado Factura que contiene los siguientes datos
idFactura;IdCliente;Fecha
100200;1026293432;5/02/2018
100201;1101688372;6/02/2018
100202;1019081611;7/02/2018
100203;1024537600;8/02/2018
100204;1030682981;9/02/2018
100205;1023944482;10/02/2018
100206;1072750648;11/02/2018
100207;1045507614;12/02/2018
100208;1019105156;13/02/2018
100209;1031155501;14/02/2018
el otro se llama Smartphone y contiene
IdFactura;IdProducto;Cant
100200;1;2
100201;2;1
100202;3;2
100203;4;3
100204;5;2
100205;6;1
100206;7;1
100207;8;1
100208;9;2
100209;10;2
el codigo debe buscar e imprimir la informacion completa del cliente pidiendo por consola el IdFactura
Y el código? Qué dudas tienes?
EDITO: Te faltan datos amigo, del cliente solo tenemos el id en ese fichero y tu quieres imprimir TODA su información...
Usa getline si vas hacerlo en C++ para parsear el csv. Ejemplo :
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
int main(){
string linea, columna;
ifstream mifichero("d:\\prueba.txt");
while (!mifichero.eof()) { // Finaliza el bucle cuando llega al fin del fichero
getline(mifichero, linea); // Leemos linea por linea el fichero
istringstream registro(linea); // Cargamos la linea como un stream
while (!registro.eof()) { // Cuando no exista mas texto en la linea finaliza el bucle
getline(registro, columna, ';'); //Leemos palabra por palabra teniendo en cuenta el caracter que las separa (;)
cout << columna << "-"; // Guardamos la columna o lo que sea, en este caso lo muestro en pantalla
}
//Aqui incrementarias el puntero o el contador del registro si lo almacenaras en memoria o lo que sea
cout << endl; // salto de linea.
}
system("PAUSE");
return 0;
}