1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

estruturas em c

Discussão em 'Programação' iniciada por pedrorafa, 21 de Março de 2009. (Respostas: 2; Visualizações: 742)

  1. pedrorafa

    pedrorafa Power Member

    Boas pessoal eu tenho que fazer uma programa em c usando estruturas , que insira elimine, procure, liste e modifique.
    Mas sei mt pouco de estruturas ams consegui fazer isto.
    PHP:
    #include <stdio.h>
    #define MAX 30
    #define N 30
     
    struct aluno
    {
    int numero;
    char nome[20];
    char morada[20];
    int telefone;
     
    };
    struct aluno x[MAX];
    main()
    {
    struct aluno a[N];
    int in_alunos;
     
    printf ("Introduza o N. min de alunos:");
    scanf("%d%c",&n_alunos);
     
    for (
    i=0;i<n_alunos;i++)
    {
    printf("Nome do aluno:\n");
    gets(a[i].nome);
     
    printf("Morada do aluno:\n");
    gets(a[i].morada);
     
    printf("Numero do cartao:\n");
    scanf("%d", &a[i].numero);
     
    printf("Telefone do aluno:\n");
    scanf("%d%c", &a[i].telefone);
    printf("\n");
     
    }
     
    for (
    i=0;i<n_alunos;i++)
    {
    printf("\n");
    printf("DADOS GUARDADOS\n");
    printf("Nome:%s\n",a[i].nome);
    printf("Morada:%s\n",a[i].morada);
    printf("Numero do cartao:%d\n"a[i].numero);
    printf("Telefone:%d\n"a[i].telefone);
    scanf("%d"); 
     
     
     
    return 
    0;
     
     
     
    }
     
    Mas quando tento por isto em funçoes nao funciona(queria fazer um menu e por isso precisava de funções) mas nao da erro mas nao funciona sera que podem dar uma vista de olhos?
    PHP:
    #include <stdio.h>
    #define MAX 30
    #define N 30
     
    struct aluno
    {
    int numero;
    char nome[20];
    char morada[20];
    int telefone;
     
    };
    struct aluno x[MAX];
    void ler (aluno *a[n])
    {
    struct aluno a[N];
    int in_alunos;
     
    printf ("Introduza o N. min de alunos:");
    scanf("%d%c",&n_alunos);
     
    for (
    i=0;i<n_alunos;i++)
    {
    printf("Nome do aluno:\n");
    gets(a[i].nome);
     
    printf("Morada do aluno:\n");
    gets(a[i].morada);
     
    printf("Numero do cartao:\n");
    scanf("%d", &a[i].numero);
     
    printf("Telefone do aluno:\n");
    scanf("%d%c", &a[i].telefone);
    printf("\n");
     
    }
     
    for (
    i=0;i<n_alunos;i++)
    {
    printf("\n");
    printf("DADOS GUARDADOS\n");
    printf("Nome:%s\n",a[i].nome);
    printf("Morada:%s\n",a[i].morada);
    printf("Numero do cartao:%d\n"a[i].numero);
    printf("Telefone:%d\n"a[i].telefone);
    scanf("%d"); 
    }
     
     
     
     
     
    }
    main()
    {
    ler();
    scanf("%d"); 
     
  2. Nao sou grande pro em programaçao xD, mas ok

    Primeiro acho que devias começar a usar o typedef, assim:

    PHP:
     typedef struct 
    {
    int numero;
    char nome[20];
    char morada[20];
    int telefone;
     
    }
    aluno;
    Assim para declarares a estrutura é so fazeres:

    aluno a[N];

    e nao precisas de fazer;

    struct aluno a[N];

    Depois na funçao tu puseste void ler (aluno *a[n]) acho que nao precisa do *. E nao podias fazer o que fizeste se nao tivesses feito aquela cena que disse em cima do typedef, porque quando se cria uma funçao tem que se por de que tipo é a variavel (neste caso é struct).

    Depois quando tu invocas a funcao ler(); a funçao acho que precisa de um argumento dentro dos () so nao sei é qual, mas tem de ter. supostamente devia de ser uma estrutura do tipo aluno que tu criaste.

    E o scan que criaste a seguir da funçao ler(); acho que é escusado se a funçao ler(); tiver a funcionar bem.


    Desculpa la nao poder ajudar mais...Eu tentei o programa utilizando apenas 1 estrutura e funcionou, mas depois tento utilizar com o vector de estruturas como tu precisas mas nao consigo...
     
    Última edição: 22 de Março de 2009
  3. pedrorafa

    pedrorafa Power Member

    Obrigado vou exprementar em casa a ver se funciona obrigado
     

Partilhar esta Página