Dev - C++ - NECESTIO QUE LOS DATOS SE MUESTREN EN COLUMNAS

 
Vista:
Imágen de perfil de William
Val: 4
Ha aumentado su posición en 16 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NECESTIO QUE LOS DATOS SE MUESTREN EN COLUMNAS

Publicado por William (3 intervenciones) el 23/10/2018 21:40:14
Buenas tardes necesito ayuda con un código, quiero que los registros del archivo se muestren en columnas una columna para los registros del ID, una columna para los registros del Nombre y así sucesivamente, llame los registros con la función while(! feof(archivo)) , conozco de la función gotoxy y para poder mostrarlo en columnas necesito un ciclo for pero no se como plantearlo dentro de esa parte del código, a que tendría que igualar la variable y menor a que seria. Dejo el codigo debajo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
 
 
struct Proyecto
{
 char nombre[50], autor[20], genero[20];
 int id;
 float precio;
}
datos;
 
FILE * archivo;
 
Proyecto vProyecto[100];
 
char respuesta;
 
void crear()
{
 archivo = fopen ("C:\\UMG\\Algoritmos\\Alumnos.txt", "wt");
 
 do
 {
  cout<<"Ingrese ID"<<endl; fflush(stdin);
  scanf("%i",&vProyecto[100].id);
  cout<<"Ingrese Nombre"<<endl; fflush(stdin);
  gets(vProyecto[100].nombre);
  cout<<"Ingrese Autor"<<endl; fflush(stdin);
  gets(vProyecto[100].autor);
  cout<<"Ingrese Genero"<<endl; fflush(stdin);
  gets(vProyecto[100].genero);
  cout<<"Ingrese Precio"<<endl; fflush(stdin);
  scanf("%f",&vProyecto[100].precio);
  system("cls");
 
  fwrite(&vProyecto[100],sizeof(vProyecto[100]),1,archivo);
 
  printf("Desea Ingresar Otro Libro (s): ");
  scanf("%c",&respuesta);
  } while (respuesta == 's');
 system("cls");
}
 
void agregar()
{
 archivo = fopen ("C:\\UMG\\Algoritmos\\Alumnos.txt", "at");
 
 do
  {
   cout<<"Ingrese ID"<<endl; fflush(stdin);
   scanf("%i",&vProyecto[100].id);
   cout<<"Ingrese Nombre"<<endl; fflush(stdin);
   gets(vProyecto[100].nombre);
   cout<<"Ingrese Autor"<<endl; fflush(stdin);
   gets(vProyecto[100].autor);
   cout<<"Ingrese Genero"<<endl; fflush(stdin);
   gets(vProyecto[100].genero);
   cout<<"Ingrese Precio"<<endl; fflush(stdin);
   scanf("%f",&vProyecto[100].precio);
   system("cls");
 
   fwrite(&vProyecto[100],sizeof(vProyecto[100]),1,archivo);
   scanf("%c",&respuesta);
   system("cls");
  } while (respuesta == 's');
 fclose(archivo);
}
 
void desplegar()
{
 archivo = fopen ("C:\\UMG\\Algoritmos\\Alumnos.txt", "r");
 fread(&vProyecto[100],sizeof(vProyecto[100]),1,archivo);
 
 while(! feof(archivo))
 {
  cout<<"\n ________________________________";
  cout<<"\n ID..............:"<<vProyecto[100].id;
  cout<<"\n Nombre..........:"<<vProyecto[100].nombre;
  cout<<"\n Autor...........:"<<vProyecto[100].autor;
  cout<<"\n Genero..........:"<<vProyecto[100].genero;
  cout<<"\n Precio..........:"<<vProyecto[100].precio;
  cout<<"\n ________________________________";
  fread(&vProyecto[100],sizeof(vProyecto[100]),1,archivo);
 }
 fclose(archivo);
 getch();
 system("cls");
}
 
 
 
int main()
{
 int opcion;
 
 do
 {
  cout<<"1. Crear Archivo"<<endl;
  cout<<"2. Agregar Mas Datos"<<endl;
  cout<<"3. Mostrar Datos Guardados"<<endl;
  cout<<"4. Salir"<<endl;
  cin>>opcion;
  system("cls");
 
   switch(opcion)
   {
    case 1: crear();break;
    case 2: agregar();break;
    case 3: desplegar();break;
   }
  }
 while(opcion != 4);
}

De antemano les agradeciere sus respuestas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jean Pierre
Val: 169
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NECESTIO QUE LOS DATOS SE MUESTREN EN COLUMNAS

Publicado por Jean Pierre (45 intervenciones) el 24/10/2018 01:54:04
Una pregunta, eso es C o C++ porque si es C++ esta mal casi todo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de William Catalan
Val: 4
Ha aumentado su posición en 16 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NECESTIO QUE LOS DATOS SE MUESTREN EN COLUMNAS

Publicado por William Catalan (3 intervenciones) el 24/10/2018 01:59:46
c++ apenas voy comenzando, me gustaría que me indicaras los errores para componerlos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jean Pierre
Val: 169
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

NECESTIO QUE LOS DATOS SE MUESTREN EN COLUMNAS

Publicado por Jean Pierre (45 intervenciones) el 24/10/2018 02:16:24
Pues el conio.h no se debe usar porque no es estandar del lenguaje y solo funciona en windows

Para crear el archivo usaste FILE *archivo, esa es la forma de hacerlo en C, en C++ es con fstream

Para guardar datos estas usando scanf y eso es de C, en C++ es con cin>> y getline()

Para guardar las variables usaste una struct en C++ se debe usar class

Para guardar el ID, nombre, autor, genero y precio es mejor que uses un vector asi no tendras limite para guardar datos

Y otra cosa curiosa es que estas guardando datos de libros en un archivo de Alumnos.txt xD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar