salut a tous!
je voudrais savoir comment je peux adapter mon code, pour pouvoir ecrire dans ma struct partir du clavier et aussi d um fichier.txt
au lieu de "Inserir(&F,"d",5,1.5)" c est quelque chose du genre."scanf("%S".codigo)" merci!
voici mom code.
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
#include <time.h>
#include <semaphore.h>
#include <fcntl.h>
typedef struct sOrdem
{
char codigo[4+1];
int quantidade;
float preco;
struct sOrdem *Prox;
}ordem;
typedef ordem* FILA;
// inicializar uma fila.
void Inic(FILA *fila)
{
*fila=NULL;
}
// insere um novo registo no fim da fila.
void Inserir (FILA* fila, char *codigo,int quantidade, float preco)
{
if (*fila==NULL)
{
*fila = (FILA)malloc(sizeof(ordem));
if (*fila==NULL) return;
strcpy((*fila)-> codigo,codigo);
(*fila)-> quantidade = quantidade;
(*fila)-> preco = preco;
(**fila).Prox=NULL;
}
else
Inserir(& (**fila).Prox,codigo,quantidade,preco);
}
void Listar(FILA fila)
{
if (fila==NULL) return;
printf("%S-%d-%f\n",fila->codigo,fila->quantidade,fila->preco);
Listar(fila->Prox);
FILE *fp;
int m=0;
fp = fopen("website.txt","w");
printf("%S-%d-%f\n",fila->codigo,fila->quantidade,fila->preco);
Listar(fila->Prox);
}
main()
{
FILA F;
Inic(&F);
puts("inicializar");
Listar(F);
puts("inserir:");
Inserir(&F,"d",5,1.5);
Inserir(&F,"r",25,1.45);
Inserir(&F,"s",15,1.546);
Inserir(&F,"t",5,156.57);
puts("listar 3");
Listar(F);
Listar(F);
}