ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programa en C


Enviado por   •  21 de Marzo de 2019  •  Apuntes  •  1.759 Palabras (8 Páginas)  •  157 Visitas

Página 1 de 8

?#include <stdio.h>

#include <windows.h> //utf-8 para Windows

#include <locale.h> //utf-8 para Linux

#include <time.h>

#include <stdlib.h>

#include <string.h>

#define MAX_COMPONENTES 10

#define MAX_ARTICULOS 100

#define TAM_LINEA 150

//#define max_articulos 100

//un componente almacenará, como máximo, 100 artículos.

//ARTÍCULOS:

struct articulo

{

/*time_t fecha_alta = time(NULL); //Si el usuario decide que la fecha de alta es aportada en la entrada de datos se asumirá dicha fecha, en caso contrario se colocará la fecha del sistema

struct tm *tlocal = localtime(&fecha_de_alta);

char fecha[128];

strftime(fecha,128,"_%d_%m_%y",tlocal);

printf("La fecha de alta es: _%s\n", fecha);*/

char id_articulo[10];

char fecha_alta[8];

char modelo[50];

char marca[25];

char tipo_de_articulo[50]; // switch cases: {"indefinido", "software", "hardware"};

double precio_articulo;

double precio_transporte;

int stock_articulo;

int id_numerico;

char identificador_general[21];

};

//COMPONENTES:

struct componente

{

char id[10];

char nombre[20];

char descripcion[150];

int stock;

struct articulo articulos[100]; //Estructura anidada

};

struct componente componentes[10];

//F(X) ALTA ARTICULO

struct componente alta_articulo(char id[10], char fecha_alta[8], char modelo[50], char marca[25], char tipo_de_articulo[50],

double precio_articulo, double precio_transporte, int stock, int id_numerico, char identificador_general);

//struct componente componentes[10];

//F(X) MOSTRAR ARTICULO

void mostrar_articulo(struct componente componentes[10]);

int main()

{

//fwrite(componentes, sizeof(struct componente),10, fichero);

/*

struct articulo devolverArray(){

struct articulo a;

//SACO LOS DATOS DE FICHERO

return a;

};

componentes[0].articulos[0] = devolverArray();

return 0;

*/

struct componente componentes[10];

setlocale(LC_ALL, "spanish"); // Cambiar locale - Suficiente para máquinas Linux

SetConsoleCP(1252); // Cambiar STDIN - Para máquinas Windows

char nombre_fichero1[100];

char linea[TAM_LINEA + 1];

int i;

int aux_comp;

printf("Nombre del fichero con el nuevo componente: ");

gets(nombre_fichero1);

strcat(nombre_fichero1, ".txt");

fflush(stdin);

for(i=0, aux_comp=0; i < MAX_COMPONENTES; i++){

if(componentes[i].stock!=-1) aux_comp++;

}

FILE *lectura1 = fopen(nombre_fichero1, "r");

if (lectura1 == NULL) {

printf ("No se puede abrir el fichero.\n");

exit(1);

}

printf("Se ha dado de alta al componente \"%d\", con los siguientes datos:\n", aux_comp);

while(!feof(lectura1)){

//copia todos los caracteres de la cadena a la que apunta "linea" en el array de caracteres apuntado por "componentes[aux_comp].id".

printf("%s", linea);

fgets(linea, TAM_LINEA, lectura1);

strcpy(componentes[aux_comp].nombre, linea);

printf("%s", linea);

fgets(linea, TAM_LINEA, lectura1);

strcpy(componentes[aux_comp].descripcion, linea);

printf("%s", linea);

fgets(linea, TAM_LINEA, lectura1);

componentes[aux_comp].stock = atoi(linea);

printf("%d\n", atoi(linea));

}

fclose(lectura1);

// printf("%s\n%s\n%s\n%d\n", componentes[aux_comp].id, componentes[aux_comp].nombre, componentes[aux_comp].descripcion, componentes[aux_comp].stock);

//Baja uno o varios componentes

printf("Nombre del fichero con el id del componente a eliminar: ");

char nombre_fichero2[100];

char id[10];

...

Descargar como (para miembros actualizados) txt (7 Kb) pdf (44 Kb) docx (12 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com