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

[C] Ajuda Projecto

Discussão em 'Programação' iniciada por Paulo24, 23 de Junho de 2008. (Respostas: 5; Visualizações: 725)

  1. Paulo24

    Paulo24 Power Member

    Boas ppl, eu tenho o seguinte projecto para fazer e isto é urgente:

    Enunciado:
    Eu já tenho algum código feito, só que como tive uns problemas, perdi alguma matéria e agora não sei como fazer. Aqui têm o código:

    Código:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    void inserirj(void);
    void eliminarj(void);
    void editarj(void);
    void inserirob(void);
    void eliminarob(void);
    void editarob(void);
    void mostrart(void);
    void mostrarob(void);
    
    struct jog{
           int codigo;
           char nomec[100];
           char nick[10];
           char datar[20];
           int jogosc;
           int vit;
           };
           
    struct obje{
           int cod;
           char nome[100];
           char marca[20];
           char model[20];
           int pre;
           };
           
    struct jog_obje{
           int cog_jog;
           int cod_obj;
           };
           
    struct jog j;
    
    FILE *fp;
    FILE *fp1;
    FILE *fp2;
         
    int main()
    {
        int op;
        while(op!=0)
        {
                    system("CLS");
                    printf("Menu Principal\n");
                    printf("1 - Inserir Jogadores\n");
                    printf("2 - Editar Jogadores\n");
                    printf("3 - Eliminar Jogadores\n");
                    printf("4 - Inserir Objectos\n");
                    printf("5 - Editar Objectos\n");
                    printf("6 - Eliminar Objectos\n");
                    printf("7 - Mostrar Tabela\n");
                    printf("8 - Mostrar Objectos\n");
                    printf("Introduza a funcao pretendida: ");
                    scanf("%d", &op);
                    printf("\n");
                    switch(op)
                    {
                              case 1: inserirj();
                              break;
                              case 2: editarj();
                              break;
                              case 3: eliminarj();
                              break;
                              case 4: inserirob();
                              break;
                              case 5: editarob();
                              break;
                              case 6: eliminarob();
                              break;
                              case 7: mostrart();
                              break;
                              case 8: mostrarob();
                              break;
                              default:printf("OPÇAO ERRADA!!!");
                              break;
              }
        }
         system("pause");    
    }
    void inserirj(void)
    {
         int n_j,i;
         fp = fopen("filej.txt","w");
         printf("Introduza o numero de jogadores: ");
         scanf("%d",&n_j);
         if(n_j>=2 && n_j<=4)
         {
                  for(i=1;i<=n_j;i++)
                  {
                  printf("\nInsira o codigo do jogador: ");
                  scanf("%d", &j.codigo); getchar();
                  printf("\nInsira o nome completo: ");
                  gets(j.nomec); getchar();
                  printf("\nInsira o nick: ");
                  gets(j.nick); getchar();
                  printf("\nInsira a data de registo: ");
                  gets(j.datar); getchar();
                  fwrite(&j, sizeof(struct jog),1,fp);
                  fclose(fp);
                  printf("DADOS GRAVADOS \n");
                  }
         }
         else
         {
             inserirj();
         }
         system("pause");
    }
    
    void editarj(void)
    {
     char b[8];
     fp=fopen("filej.txt","r");
     printf("Introduza o nick do jogador: ");
     scanf("%s",&b);
     while(!feof(fp))
     {
       if (strcmp(b,j.nick)!=0)
        {
                  printf("\nInsira o codigo do jogador: ");
                  scanf("%d", &j.codigo); getchar();
                  printf("\nInsira o nome completo: ");
                  gets(j.nomec); getchar();
                  printf("\nInsira o nick: ");
                  gets(j.nick); getchar();
                  printf("\nInsira a data de registo: ");
                  gets(j.datar); getchar();
                  printf("O registo foi alterado com sucesso");
        }
      }  
    fclose(fp);
    }
    Agradecia imenso, que alguém me ajudasse, se quiserem algo em troca, depois pode-se combinar.
     
    Última edição pelo moderador: 23 de Junho de 2008
  2. MPalhas

    MPalhas Power Member

    podias começar por dizer em que parte do enunciado tens dúvidas, ou onde é que está a dar erro, porque pelo menos eu não consigo olhar para código não formatado, quanto mais tentar percebê-lo
     
  3. Paulo24

    Paulo24 Power Member

    Eu precisava que me ajudassem a fazer as funções que faltam pois não percebo nada daquilo... :confused:
     
  4. koust

    koust Power Member

    que funçoes? se mais explicito. experimenta fazer o loading para a memoria e partires dai. Se utilizares listas e TADs vais ver q esse trabalho faz-se num instante.
    Abraços
     
  5. Paulo24

    Paulo24 Power Member

    Estas funções:

    Código:
    void inserirj(void);
    void eliminarj(void);
    void editarj(void);
    void inserirob(void);
    void eliminarob(void);
    void editarob(void);
    void mostrart(void);
    void mostrarob(void);
    Ajudem-me por favor, não percebo nada disto...
     
    Última edição pelo moderador: 24 de Junho de 2008
  6. MPalhas

    MPalhas Power Member

    duas dessas funções já tens feitas no teu código. só umas coisas:
    numa delas tens o fclose dentro de um ciclo, não faz muito sentido
    também estás a abrir e fechar os ficheiros para escrita mas não fazes absolutamente nada com eles. o que é que custa fazer um simple fprintf, fputs, etc ?

    a maioria das outras funções que pedes é quase copy+paste dessas duas primeiras que já tens feitas, apenas alterando as variaveis, por a eliminar/alterar em vez de gravar, etc.

    as funções mostrart mostrarob não percebi o que é que devem fazer, mas não deve ser nada muito mais complicado do que saber quais as variaveis que é preciso mostrar e por uns quantos ciclos e printfs para as escrever.
     

Partilhar esta Página