Ir para conteúdo
Fórum Script Brasil

krs123

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que krs123 postou

  1. krs123

    Structure

    Não querendo abusar, mas isto é questões de principiantes, de momento tá tudo a funcionar beleza, mas já não faz a incrementação de dados, mesmo quando tiro o comment no código o output dos dados na tela surgem a zero, isso poderá ser pelo facto de o código ao correr apaga o que está em memória antes de escrever quando faz o nConsulta++. Abração Marcelo, é bom saber que existem foruns que de facto auxiliam os principiantes.
  2. krs123

    Structure

    Sorry, nem tinha percebido que tinha apagado a tag <code>, já coloquei o código. E Muchas Gracias, pela resposta e pelas dicas, vou já testar :). Obrigado pela Atenção. Valeu.
  3. krs123

    Structure

    Boas, galera tenho um problema, estou tentando criar um programa que escreva para e leia de um ficheiro, acontece que consigo escrever para o ficheiro, mas o contéudo não é nada daquilo que eu escrevo na tela e quando faço o printf para o ecrã surge numeros como se fosse registos de memória alguém me pode ajudar. Obrigado. #include <stdio.h> #define ESPACO 50 #define FICH "consulta.txt" typedef struct consulta { int numero; char nome[20]; char especialidade[20]; int data; int hora; int contacto; } CONSULTA; int main() { char opcao; CONSULTA hospital[ESPACO], tabela; int getConsulta = 0, i, j; FILE *fp; while(1) { printf("\n\nDev Testes\n"); printf("1 - Inserir Consulta\n"); printf("2 - Listar\n"); printf("3 - Ordenar por número\n"); printf("4 - Ordenar por nome\n"); printf("5 - Gravar para ficheiro\n"); printf("6 - Ler de ficheiro\n"); printf("7 - Sair\n"); printf("8 - Remover Consulta\n\n"); rewind(stdin); /* reinicio do ficheiro */ opcao = getchar(); switch(opcao) { case '1': { printf("Número: "); scanf("%s", hospital[getConsulta].numero); printf("Nome: "); scanf("%s", hospital[getConsulta].nome); printf("Especialidade: "); scanf("%s", hospital[getConsulta].especialidade); printf("Data: "); scanf("%s", hospital[getConsulta].data); printf("Hora: "); scanf("%s", hospital[getConsulta].hora); printf("Contacto: "); scanf("%s", hospital[getConsulta].contacto); rewind(stdin); getConsulta++; } break; /* Faz o display no ecrã dos dados recolhidos*/ case '2': { for(i=0; i<getConsulta; i++) { printf("Numero: %u\n",&hospital[getConsulta].numero); printf("Nome: %u\n",&hospital[getConsulta].nome); printf("Especialidade: %u\n",&hospital[getConsulta].especialidade); printf("Data: %u\n",&hospital[getConsulta].data); printf("Hora: %u\n",&hospital[getConsulta].hora); printf("Contacto: %u\n",&hospital[getConsulta].contacto); } } break; /* Ordenar por numero*/ case '3': { for(i=0; i<getConsulta; i++){ for(j=0; j<getConsulta-i-1; j++){ if(hospital[j].numero > hospital[j+1].numero) { tabela = hospital[j]; hospital[j] = hospital[j+1]; hospital[j+1] = tabela; } } } } break; /* Ordenar por nome*/ case '4': { for(i=0; i<getConsulta; i++){ for(j=0; j<getConsulta-i-1; j++){ if( strcmp(hospital[j].nome, hospital[j+1].nome)==1 ) { tabela = hospital[j]; hospital[j] = hospital[j+1]; hospital[j+1] = tabela; } } } } break; /* Gravar para ficheiro*/ case '5': { fp = fopen(FICH, "w"); fwrite(&getConsulta, sizeof(int), 1, fp); fwrite(hospital, sizeof(CONSULTA), ESPACO, fp); fclose(fp); } break; /* Ler o ficheiro*/ case '6': { fp = fopen(FICH, "r"); fread(&getConsulta, sizeof(int), 1, fp); fread(hospital, sizeof(CONSULTA), ESPACO, fp); fclose(fp); } break; /* Sair */ case '7': exit(0); } } }
×
×
  • Criar Novo...