I can not access memory and bring value. The variable nameCar also gives the same message.
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
struct carros{
int id;
char *placa[8];
char *nome[50]; *
float totalPagar;
char *dataHora[80];
char *dataEntrega[80];
int alugado;
int *valorDiaria;
int qtdDiaria;
char *locadorNome[60];
}Carro[5];
void cadastrarCar();
void carrosDisp();
void efetuarLocacao();
double calculoDiarias(int qtdDiarias, int valorDiaria, int idoso, int parceira);
void emitirNota(double valorTotal, char dataHora[50], char dataDevolucao[50], char placaCarro[8], char nomeCliente[50], char carro[50]);
void cadastrarCar(){
Carro[0].id = 1;
Carro[0].placa[8] = "JET-9885";
Carro[0].nome[50] = "Fiat Uno 1.0 - Basico";
Carro[0].alugado = 0;
Carro[0].valorDiaria = 50;
Carro[1].id = 2;
Carro[1].placa[8] = "JRT-5231";
Carro[1].nome[50] = "Grand Siena Completo";
Carro[1].alugado = 0;
Carro[1].valorDiaria = 70;
Carro[2].id = 3;
Carro[2].placa[8] = "JGT-2533";
Carro[2].nome[50] = "Gol G5 - Completo";
Carro[2].alugado = 0;
Carro[2].valorDiaria = 60;
}
The other part of my code is
void efetuarLocacao(char msg[200]){
limparConsole();
// mensagem para erro ou aviso
printf("%s", msg);
int i, cod, qtdDiaria, valorTotal, cortesia=0, parceiraOng=0, idoso=0;
char nomeProp[60], strIdoso[1];
strIdoso[1] ='n';
nomeProp[60] = NULL;
// HORA E DATA DE AGORA
time_t time_raw_format;
struct tm * ptr_time;
char buffer[80];
char dataDevolucao[80];
char dia[15];
char mes[15];
char ano[15];
time ( &time_raw_format );
ptr_time = localtime ( &time_raw_format );
strftime(buffer,80,"%d/%m/%Y %X",ptr_time);
strftime(dia,15,"%d",ptr_time);
strftime(mes,15,"%m.",ptr_time);
strftime(ano,15,"%Y",ptr_time);
// CARROS DISPONIVEIS EM TELA
printf("Carros disponiveis: \n");
carrosDisp(0);
printf("=================================================\n");
printf("Digite o codigo do carro a ser alugado:\n");
scanf("%d",&cod);
for(i=0;i<20; i++){
if(Carro[i].id == cod){
if(Carro[i].alugado == 0){
// VALICADAÇÃO SE A EMPRESA E PARCEIRA DA ONG
if(parceiraOng == 0){
char strEmpresa[1];
printf("Empresa parceira da ONG? s/n: \n");
scanf("%s", &strEmpresa);
if(strcmp(strEmpresa, "s") == 0)
parceiraOng = 1;
else
parceiraOng = 0;
}
qtdDiaria=1;
// QUANTIDADE DE DIARIAS A ALUGAR
if(qtdDiaria == 1){
printf("Digite a quantidade de diaria(s) que ira alugar: \n");
scanf("%d", &qtdDiaria);
Carro[i].qtdDiaria = qtdDiaria;
}
// NOME DO LOCATARIO
if(nomeProp[60] == NULL){
printf("Digite o nome do cliente: \n");
scanf("%s", &nomeProp);
Carro[i].locadorNome[60] = nomeProp;
}
idoso=0;
// VALIDAÇÃO PARA IDOSO
if(idoso == 0){
printf("O cliente e idoso? s/n: \n");
scanf("%s", &strIdoso);
if(strcmp(strIdoso, "s") == 0)
idoso = 1;
else
idoso = 0;
}
// DIARIA DE CORTERSIA
if(qtdDiaria >= 5){
printf("Você ganhou uma diaria cortesia, deseja usa-la? Digite '1' para SIM e '0' para NAO\n");
scanf("%d", &cortesia);
}
Carro[i].dataHora[80] = buffer;
// DATA E HORA DA DEVOLUÇÃO
time_t now = time( NULL);
struct tm now_tm = *localtime( &now);
struct tm t = now_tm;
t.tm_mday += qtdDiaria+cortesia;
t.tm_mon = t.tm_mon-1;
mktime(&t);
dataDevolucao[80] = asctime(&t);
strftime(dataDevolucao,80,"%d/%m/%Y %X",&t);
Carro[i].dataEntrega[80] = dataDevolucao;
Carro[i].totalPagar = calculoDiarias((int)qtdDiaria, (int)Carro[i].valorDiaria, idoso, parceiraOng);
Carro[i].alugado = 1;
// EMITIR NOTA FISCAL
char *placa[8];
placa[8] = Carro[i].placa[8];
char nomeCarro[50];
nomeCarro[50] = Carro[i].nome[50];
emitirNota(Carro[i].totalPagar, buffer, dataDevolucao, placa[8], nomeProp[60], Carro[i].nome[50]);
}
else
efetuarLocacao("**** Carro selecionado ja esta alugado.\n**** Por favor selecione um novo carro\n\n");
}
}
}
I can not bring the value stored in Car [i] .name [50]
nomeCarro[50] = Carro[i].nome[50];
Where I use Car [i] ... does not send any value to my function, just the error
emitirNota(Carro[i].totalPagar, buffer, dataDevolucao, placa[8], nomeProp[60], Carro[i].nome[50]);