Autor
|
Tema: Estructuras y archivos en c++ (Leído 3,246 veces)
|
Luifs
Desconectado
Mensajes: 8
|
Alguien me podria ayudar con mi codigo #include <stdio.h>
int main(){ printf("\nBienvenidos al lector \n");
FILE* miarchivo; char* nombrearchivo= "texto1.txt"; char lectura[80]; int i; miarchivo= fopen(nombrearchivo, "r");
for(i=0; i<10; i++) { if(miarchivo==NULL)return -1;
fscanf(miarchivo," %[^\n]",&lectura); printf("Linea %d: %s \n",i+1,lectura); }
fclose(miarchivo); } Solamente me muestra el contenido del archivo este es el contenido del archivo de texto as 10 08 as 20 15 as 30 35 as 70 94 as 90 75 as 84 74 as 75 12 as 08 15 as 25 98 as 12 15 Pero ahora necesito que me ordene del mayor al menor segun las cantidades que estan en medio y luego del mayor al menor segun las cantidades de la tercera columna..
|
|
|
En línea
|
|
|
|
Puntoinfinito
Desconectado
Mensajes: 919
#! /win/archlinux
|
Pues no hagas el output directamente, simultáneamente puedes guardar todo en alguna matriz y con condicionales vas mostrando de mayor a menor. Crea por ejemplo una matriz para la columna del medio y para la última. int columna_Medio[10]; int columna_Derec[10]; Entonces en cambio de hacer scanf guardar en variables. lectura = columna_Medio[i] // y en el siguiente bucle ... lecutra = columna_Derec[i] Para eso no podrás leer toda una linea de golpe, sino de espacio en espacio e ir almacenando. Después de esto, podrías crear una función para que quede más bonito :3 que se ocupe de hacer comparaciones del palo: while (true) { for (int i = 0; i++; i < 10) { // Comparación con matriz controlada por i for (int z = 0; z++ ; z < 10) { // Comparación matriz controlada por variable z // Y así hasta llegar a comparar todos con todos } } }
|
|
|
En línea
|
|
|
|
Luifs
Desconectado
Mensajes: 8
|
Y no puedes asignar cada campo a una estructura?
|
|
|
En línea
|
|
|
|
Puntoinfinito
Desconectado
Mensajes: 919
#! /win/archlinux
|
No se a que te refieres exactamente, si te refieres a poner cada uno de los cadena de números, sí, podrías hacerlo. Puedes hacer otra división de matrices dentro de otras y tenerlo mejor ordenado. Y vas poniendo del asdf[0] (primera linea) el segundo valor ([1]) debe compararse con tal: if (asdf[0][1] == "aksdjsakld") etc { Saludooos
|
|
|
En línea
|
|
|
|
Luifs
Desconectado
Mensajes: 8
|
Disculpa como podria hacer que me ordene del mayor al menor tomando en cuenta la columna del centro #include <stdio.h>
struct { char nombre[35]; int venta; int importe; } productos;
int main(){ printf("\nBienvenidos al lector \n");
FILE* miarchivo; char* nombrearchivo= "texto1.txt"; int i; miarchivo= fopen(nombrearchivo, "r");
for(i=0; i<10; i++) { fscanf(miarchivo,"%s",&productos.nombre); printf("Linea %d: %s ",i+1,productos.nombre);
fscanf(miarchivo,"%d",&productos.venta); printf(" %d ",productos.venta);
fscanf(miarchivo,"%d",&productos.importe); printf(" %d \n",productos.importe); }
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Los pasos en lo general son:
1) Declaras un array de estructuras para almacenar ahí cada uno de los registros. 2) Lees cada registro, lo políticamente correcto es utilizar fgets para leer una linea de texto y a continuación sscanf para extraer los tres campos pero, por sencillez, puedes empezar con fscanf. 3) Una vez tienes todos los registros en memoria los ordenas manualmente mediante una función propia o utilizando la función qsort (prototipo en <stdlib.h>). Sin importar el caso te conviene crear una función que compare dos registros y te diga su relación (si el primero es menor, igual o mayor que el segundo).
Empieza a desarrollarlo tu solo y te ayudamos en las partes donde tengas dificultades.
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Estructuras.....
Programación C/C++
|
Rodri
|
1
|
2,785
|
6 Octubre 2011, 19:46 pm
por satu
|
|
|
Estructuras en C++
Programación C/C++
|
jjrl1984
|
1
|
1,921
|
18 Diciembre 2012, 02:27 am
por naderST
|
|
|
Archivos .txt y estructuras c++
Programación C/C++
|
Ja_90
|
2
|
2,360
|
7 Noviembre 2014, 02:41 am
por Ja_90
|
|
|
estructuras y lectura de archivos en C
Programación C/C++
|
michellcrh
|
2
|
2,607
|
2 Junio 2020, 00:08 am
por michellcrh
|
|
|
Ayuda con estructuras y archivos
Programación C/C++
|
luckyghost
|
2
|
2,955
|
10 Agosto 2020, 04:35 am
por luckyghost
|
|