Ir para conteúdo
Fórum Script Brasil

ayllaass

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre ayllaass

ayllaass's Achievements

0

Reputação

  1. Boa noite!!! Na atividade eu preciso chamar em específico para listar todos os livros, revistas e caixas e não consigo fazer essa função. Quando chamo lista todas as obras aparecem junto 😐 Se alguém puder me dar uma ajudinha, eu ficarei super agradecida!!! #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> #define MAX 100 FILE * arq; char url[50] = "arquivo.txt"; char * banco[200]; typedef struct{ int caixa, tipo; int ano, edicao; int quant; char titulo[100]; char autor[100]; char editora[100]; char isbn[100]; }obras; obras p1[200]; int ler_arquivo() { int i = 0; char leitura[200]; arq = fopen(url, "r"); if(arq == NULL){ printf("ERRO na leitura do arquivo!"); }else{ while(fgets(leitura, 3000, arq) != NULL && (i<3000)){ banco = malloc(sizeof(char) * 3000); //variavel = malloc(tamanho da string que queremos em cada posição); strcpy(banco, leitura); i=i+1; } fclose(arq); } return i; } preencher_obras(){ //alimentar os vetores de struct! ler_arquivo(); int j; printf("\nInforme o tipo da obra: [1] - livro [2] - revista: "); scanf("%d", &p1[j].tipo); fflush(stdin); printf("\nInforme o titulo: "); gets(p1[j].titulo); printf("\nInforme o autor: "); gets(p1[j].autor); printf("\nInforme a editora: "); gets(p1[j].editora); printf("\nInforme a edicao: "); scanf("%d", p1[j].edicao); fflush(stdin); printf("\nInforme o ISBN: "); gets(p1[j].isbn); printf("\nInforme o ano: "); scanf("%d", p1[j].ano); fflush(stdin); printf("\nInforme a quantidade de obras: "); scanf("%d", p1[j].quant); fflush(stdin); } listar_obras(){ int k = ler_arquivo(); int i = 0; for(i = 0; i<k; i++){ printf("%s", banco); } system("pause"); } listarObrasPorCaixa(){ int numCaixa; int tipo; int i; char*opcaoObra; while(numCaixa == 1 || numCaixa == 2 || tipo == 1){ printf("%s", banco); } system("pause"); } menu (){ obras obra[MAX]; int op; char resp; do{ system("cls"); printf("\n1 - Cadastrar obras"); printf("\n2 - Listar todas as revistas"); printf("\n3 - Listar todos os livros"); printf("\n4 - Listar obras por caixa"); printf("\n0 - Sair"); printf("\n\nEscolha uma opcao: "); fflush(stdin); scanf("%d", &op); if(op == 1){ preencher_obras(); }else if(op == 2){ listar_obras(); }else if(op == 3){ listar_obras(); }else if(op == 4){ listarObrasPorCaixa(); system("pause"); }else if((op != 1) && (op != 2) && (op != 3) && (op != 4) && (op != 0)){ printf("Opcao invalida"); system("pause"); }else if(op == 0){ printf("\n\nSaindo do sistema!!\n\n"); system("pause"); } }while(op!=0); } int main(){ menu(); setlocale(LC_ALL, "Portuguese"); }
×
×
  • Criar Novo...