Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <iomanip>
- #include <cstring>
- using namespace std;
- void leerDatosCurso(char* &codigo, double &creditos, char* &nombre){
- char auxCadena[100]; //Leemos un codigo y lo guardamos en memoria dinamica
- cin >> auxCadena;
- codigo = new char[strlen(auxCadena)+1];
- strcpy(codigo, auxCadena);
- cin >> creditos;
- cin >> ws;
- cin.getline(auxCadena, 100, '\n');
- nombre = new char[strlen(auxCadena)+1];
- strcpy(nombre, auxCadena);
- }
- void ** nuevoRegistro(){
- char* codigo, *nombre;
- double creditos;
- leerDatosCurso(codigo, creditos, nombre);
- void** regCurso = new void*[3];
- regCurso[0] = codigo;
- regCurso[2] = nombre;
- double *auxCreditos = new double;
- *auxCreditos = creditos;
- regCurso[1]= auxCreditos;
- return regCurso;
- }
- void imprimirRegCurso(void** regCurso){
- char* ptrCodigo = (char*) regCurso[0];
- double *ptrCred = (double *) regCurso[1];
- char* ptrNombre = (char*) regCurso[2];
- cout << "Codigo: " << (char*) regCurso[0] << endl;
- cout << "Creditos: " << *ptrCred << endl;
- cout << "Nombre: " << ptrNombre << endl;
- }
- int main(int argc, char** argv) {
- void ** regCursos;
- regCursos = nuevoRegistro();
- //leerDatosCurso(codigo, creditos, nombre);
- imprimirRegCurso(regCursos);
- /*void *ptrA, *ptrB;
- int a = 10; // Un tipo de dato
- ptrA = &a;
- int*b = new int;
- *b = 20; // Una variable de tipo puntero a entero
- ptrB = b;
- cout << "Prueba: void* a int* (unico elem.)\n";
- cout << *(int*)ptrA << endl;
- cout << *(int*)ptrB << endl;
- int *c = new int[5];
- for (int i = 0; i < 5; i++) {
- c[i]= i+1;
- }
- void *ptrC;
- ptrC = c;
- cout << *(int*)ptrC << endl; //Apunta solo a la cabecera
- void**ptrRec = (void**)ptrC;
- for (int i = 0; i < 5; i++) {
- cout << i << ") ";
- cout << *((int*)ptrRec+i) << " " << endl; //Aritmetica de ptros
- cout << ((int*)ptrRec)[i] << " " << endl; //Operador de acceso
- //int *auxInt = ((int*)ptrRec+i); //Aritmetica de ptros
- int *auxInt = &((int*)ptrRec)[i]; //Operador de acceso
- cout << *auxInt << endl;
- }
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement