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);
}
Pergunta
viciado
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
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.