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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Leer variables de un registro dento de un txt en c++ en: 31 Mayo 2017, 20:32 pm
Buenas, mi problema es el siguiente:
Supongamos que tengo un txt de alumnos con los datos de los alumnos separados por un ";" por ejemplo:

1;carlos;ramirez
2;juan;perez
3;ezequiel;trota

Mi duda es como hago yo para ir leyendo el archivo txt y poder imprimir o guardar esas variables que estan separadas por un ";" en c++.
Gracias.
2  Programación / Programación C/C++ / Archivos: altas,bajas y modificaciones en c (consulta) en: 16 Septiembre 2016, 00:20 am
Buenas gente, estoy haciendo un programa muy simple para hacer altas bajas y modificaciones en un archivo en c usando registros. Mi problema es que no me funciona la parte en que tendria que dar de baja y la de modificar, les dejo mi programa y espero me puedan ayudar. Desde ya muchas gracias!

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. void darbaja();
  5. typedef struct{
  6.    int dni;
  7.    char nombre[30];
  8.    char apellido[30];
  9.  
  10. }Empleados;
  11. int main()
  12. {
  13.  
  14.  
  15.    int opcion=0;
  16.  
  17.    while(opcion<5){ printf("1_dar de alta\n");
  18.    printf("2_dar de baja\n");
  19.    printf("3_modificar\n");
  20.    printf("4_Imprimir\n");
  21.    scanf("%d",&opcion);
  22.    switch (opcion)
  23.    {
  24.  
  25.       case 1:daralta();break;
  26.       case 2:darbaja();break;
  27.       case 3:modificar();break;
  28.       case 4:imprimir();break;
  29.  
  30.    }
  31.    }
  32.    return 0;
  33. }
  34. void daralta()
  35. {
  36.   char nombre[30];
  37.    FILE* miarchivo=NULL;
  38.    Empleados e;
  39.    miarchivo=fopen("Empleados.txt","a+");
  40.    if(miarchivo==NULL)return;
  41.    printf("Ingrese DNi del empleado\n");
  42.    scanf("%d",&e.dni);
  43.    printf("Ingrese nombre del empleado\n");
  44.    scanf("%s",&e.nombre);
  45.    printf("Ingrese apellido del empleado\n");
  46.    scanf("%s",&e.apellido);
  47.    fflush(stdin);
  48.    fseek(miarchivo,0L,SEEK_END);
  49.    fwrite(&e,sizeof(Empleados),1,miarchivo);
  50.    fclose(miarchivo);
  51.  
  52. }
  53.  
  54. void imprimir()
  55. {
  56.  
  57.    FILE* miarchivo=NULL;
  58.    Empleados e;
  59.    miarchivo=fopen("Empleados.txt","r");
  60.    fread(&e,sizeof(Empleados),1,miarchivo);
  61.    if(miarchivo==NULL)return ;
  62.  
  63.    while(feof(miarchivo)==0)
  64.    {
  65.        printf("DNI:%d Nombre:%s Apellido:%s\n",e.dni,e.nombre,e.apellido);
  66.        fread(&e,sizeof(Empleados),1,miarchivo);
  67.    }
  68.    fclose(miarchivo);
  69.  
  70.  
  71. }
  72. void darbaja()
  73. {
  74.    FILE* miarchivo=NULL;
  75.    FILE* miarchivouxiliar=NULL;
  76.    int dniaux;
  77.    Empleados e;
  78.    miarchivo=fopen("Empleados.txt","a+");
  79.    miarchivo=fopen("Empleadosaux.txt","a+");
  80.    printf("Ingrese el dni del empleado\n");
  81.    scanf("%i",&dniaux);
  82.  
  83.    fread(&e,sizeof(Empleados),1,miarchivo);
  84.    printf("dniaux:%i|dni:%i\n",dniaux,e.dni);
  85.    while(!feof(miarchivo))
  86.    {
  87.        if(e.dni!=dniaux)
  88.        {
  89.            fseek(miarchivouxiliar,0l,SEEK_END);
  90.            fwrite(&e,sizeof(Empleados),1,miarchivouxiliar);
  91.        }
  92.  
  93.        fread(&e,sizeof(Empleados),1,miarchivo);
  94.        printf("dniaux:%d|dni:%d\n",dniaux,e.dni);
  95.    }
  96.  
  97.    fclose(miarchivo);
  98.    fclose(miarchivouxiliar);
  99.    remove("Empleados.txt");
  100.    rename("Empleadosaux.txt","Empleados.txt");
  101. }
  102. void modificar()
  103. {
  104.    int dniaux;
  105.  
  106.    FILE* miarchivo=NULL;
  107.    FILE* miarchivouxiliar=NULL;
  108.    Empleados e;
  109.    miarchivo=fopen("Empleados.txt","a+");
  110.    miarchivo=fopen("Empleadosaux.txt","a+");
  111.    printf("Ingrese el dni del guachin\n");
  112.    scanf("%i",&dniaux);
  113.    fread(&e,sizeof(Empleados),1,miarchivo);
  114.    printf("dniaux:%d|dni:%d\n",dniaux,e.dni);
  115.    while(feof(miarchivo)==0)
  116.    {
  117.        if(e.dni!=dniaux)
  118.        {
  119. fseek(miarchivouxiliar,0l,SEEK_END);
  120.            fwrite(&e,sizeof(Empleados),1,miarchivouxiliar);
  121.        }
  122.        else
  123.        {
  124.    printf("Ingrese DNi del empleado\n");
  125.    scanf("%d",&e.dni);
  126.    printf("Ingrese nombre del empleado\n");
  127.    scanf("%s",&e.nombre);
  128.    printf("Ingrese apellido del empleado\n");
  129.    scanf("%s",&e.apellido);
  130.    fflush(stdin);
  131.    fseek(miarchivouxiliar,0l,SEEK_END);
  132.    fwrite(&e,sizeof(Empleados),1,miarchivo);
  133.        }
  134.  
  135.        fread(&e,sizeof(Empleados),1,miarchivo);
  136.    }
  137.    fclose(miarchivo);
  138.    fclose(miarchivouxiliar);
  139.    remove("Empleados.txt");
  140.    rename("Empleadosaux.txt","Empleados.txt");
  141. }



MOD: Etiquetas de Código GeSHi insertadas
3  Programación / Programación C/C++ / [C] TA-TE-TI tridimensional en: 26 Agosto 2016, 01:23 am
Hola buenas a todos, tengo una duda con un ejercicio de hacer un tateti tridimensional en c. La consigna me pide que tengo que  hacer un array tridimensional y poder hacer tateti en todos los planos del cubo, hasta ahi no hay problema, el tema es que me pide hacer tateti en las diagonales del cubo y no se como hacerlo. Espero puedan ayudarme, gracias!.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines