Ir para conteúdo
Fórum Script Brasil
  • 0

Arquivo passo a passo


viciado

Pergunta

CLIENTE => número do cliente, nome, telefone, endereço

CONTA BANCÁRIA => número da conta, número do cliente, saldo

Crie um programa que faça o cadastramento de contas, verificando se o número do cliente titular da conta já foi previamente cadastrado. Se existir, deverá permitir a inclusão. Caso contrário, deverá mostrar a mensagem CLIENTE NÃO CADASTRADO e abrir uma tela que permita o cadastramento. O programa deverá mostrar, ao final, todas as contas cadastradas.

Estou tendo problemas nos fprintf "subscripted value is neither array nor pointer"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void cadastrar(FILE *arquivo);
typedef struct registro{
        char nome[30];
        int num_cliente, num_conta;
        float tel, saldo;
        char endereco[30];   
             }dados;

int main()
{
  int op;
  FILE *arquivo;
  while(op != 4){
           printf("(1) Cadastrar \n");
           printf("(2) Editar dados \n");
           printf("(3) Ver \n");
           printf("(4) Sair \n");
           printf("Digite uma opcao ");
           scanf("%d",&op);
           switch(op){
                      case 1:
                           cadastrar(arquivo);
                      break;
                      case 2:
                           
                      break;
                      case 3:
                           
                      break;
                      case 4:
                           exit(0);
                      break;
                      }
           fclose(arquivo);
           }
  system("PAUSE");    
  return 0;
}
void cadastrar(FILE *arquivo){
     dados cliente;
     char local[30], nome[30];
     int i;
     printf("Digite o nome do arquivo \n");
     fgets(nome, 30, stdin);
     strcpy(local,"c:\\pasta\\");
     strcat(local,nome);
     strcat(local,".txt");
     if((arquivo = fopen("arquivo.txt","w")) == NULL){
                 printf("Erro ao abrir o arquivo\n");
                 exit(0);
                 }
     else{
          printf("Digite o nome \n");
          scanf("%s",cliente.nome);
          printf("Digite o codigo \n");
          scanf("%d",&cliente.num_cliente);
          printf("Digite o telefone \n");
          scanf("%f",&cliente.tel);
          printf("Digite o endereco \n");
          scanf("%s",cliente.endereco);
          for(i=0;i<30;i++){
                            fprintf(arquivo, "%s \n", cliente[i].nome);
                            fprintf(arquivo, "%d \n", cliente[i].num_cliente);
                            fprintf(arquivo, "%f \n", cliente[i].tel);
                            fprintf(arquivo, "%s \n", cliente[i].endereco);
                            }
          }
     fclose(arquivo);
}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Consegui fazer a função para cadastrar, como posso fazer a função de editar dados ?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void cadastrar(FILE *arquivo);

typedef struct{
        char nome[30];
        int num_cliente, num_conta;
        float saldo;
        char tel[11];
        char endereco[30];   
}dados;

int main()
{
  int op;
  FILE *arquivo;
  while(op != 4){
           printf("(1) Cadastrar \n");
           printf("(2) Editar dados \n");
           printf("(3) Ver \n");
           printf("(4) Sair \n");
           printf("Digite uma opcao ");
           scanf("%d",&op);
           switch(op){
                      case 1:
                           cadastrar(arquivo);
                      break;
                      case 2:
                           
                      break;
                      case 3:
                           
                      break;
                      case 4:
                           exit(0);
                      break;
                      }
           }
  system("PAUSE");    
  return 0;
}
void cadastrar(FILE *arquivo){
     dados cliente;
     int i;
     getchar();
     arquivo = fopen("arquivo.txt","w+");
     printf("Digite o nome \n");
     scanf("%s", cliente.nome);
     printf("Digite o codigo \n");
     scanf("%d",&cliente.num_cliente);
     printf("Digite o telefone \n");
     scanf("%s",&cliente.tel);
     printf("Digite o endereco \n");
     scanf("%s",cliente.endereco);
                            fprintf(arquivo, "%s \n", cliente.nome);
                            fprintf(arquivo, "%d \n", cliente.num_cliente);
                            fprintf(arquivo, "%s \n", cliente.tel);
                            fprintf(arquivo, "%s \n", cliente.endereco);
     fclose(arquivo);
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...