Fala galera, sou novato em C, e estou tendo problemas com a compilação desse programa aqui em baixo, está com varios erros q não consigo identificar. Ele é para simular um estacionamento. Por favor, se poderem me ajudar.
#include "stdio.h"
#include "stdlib.h"
int contfim = 0, a=0, tax =0, tempo =0, op =0, ult =0;
char marca[20];
struct automovel{
char modelo[20], placa[7];
int hora, min;
} vet [5];
int cheia(void){
if (ult == 5){
ult --;
return 1;
} // Encerra o If
return 0;
} // Encerra a função cheia
int vazia(void){
if (ult == -1){
return 1;
} // Encerra o If
return 0;
} // Encerra a função vazia
void insAut(char plac[7], char marca[20], int hor, int mi){
ult++;
if(!cheia()){
strcpy (vet[ult].modelo, marca);
strcpy (vet[ult].placa, plac);
vet[ult].hora = hor;
vet[ult].min = mi;
} // Fim if
else{
printf("A fila está cheia");
} // fim else
} // Fim funç insFila
int Calc(int temp){
/* tax é a taxa padrão q o estacionamento cobra e a é a taxa exedente e tempo e o tempo maximo de permanencia incluso na tax*/
int auxa;
if (tempo < temp){
auxa = (tax + (a * (temp - tempo)));
return auxa;
} // Fim if
contfim = contfim + auxa;
} // Fim func Calc
int busAut(char plac[7]){
int i=0, j=0, k=0, temp=0, ult=0, achou;
if (!vazia()){
for (i=0;i<ult;i++){
achou=0;
if((strcmp(vet.placa, plac)) == 0 ){
printf("Entre com a hora da saída");
scanf ("%d", &j);
printf("Entre com os minutos da saída");
scanf ("%d", &k);
temp = (j - vet.hora)*60 + (k - vet.min);
Calc(temp);
} // End if
} // End for
} // End func bus fila
int main(){
char plac[7];
int hor, min;
printf ("Entre com o valor padrão do estacionamento: ");
scanf ("%d", &tax);
printf ("Entre com o valor das horas adicionais: ");
scanf ("%d", &a);
do {
printf("Entre com 1 para entrada de automovel, 2 para saída de automovel ou 3 para sair: ");
scanf ("%d", &op);
if (op == 1) {
printf ("Entre com o modelo do carro: ");
gets(marca);
printf ("Entre com a placa: ");
gets(plac);
printf ("Entre com a hora de entrada: ");
scanf("%d", &hor);
printf ("Entre com os minutos de entrada: ");
scanf("%d", &min);
insAut(char plac[7], char marca[20], int hor, int mi);
} // End if
else {
if (op == 2) {
printf ("Entre com a placa do carro desejado");
gets(plac);
busAut(char plac[7]);
} // End if
else {
if (op == 3) {
return 0;
} // End if
else {
printf("Opção invalida, por favor, digite enter e tente novamente");
Pergunta
Guest - Jeff -
Fala galera, sou novato em C, e estou tendo problemas com a compilação desse programa aqui em baixo, está com varios erros q não consigo identificar. Ele é para simular um estacionamento. Por favor, se poderem me ajudar.
#include "stdio.h"
#include "stdlib.h"
int contfim = 0, a=0, tax =0, tempo =0, op =0, ult =0;
char marca[20];
struct automovel{
char modelo[20], placa[7];
int hora, min;
} vet [5];
int cheia(void){
if (ult == 5){
ult --;
return 1;
} // Encerra o If
return 0;
} // Encerra a função cheia
int vazia(void){
if (ult == -1){
return 1;
} // Encerra o If
return 0;
} // Encerra a função vazia
void insAut(char plac[7], char marca[20], int hor, int mi){
ult++;
if(!cheia()){
strcpy (vet[ult].modelo, marca);
strcpy (vet[ult].placa, plac);
vet[ult].hora = hor;
vet[ult].min = mi;
} // Fim if
else{
printf("A fila está cheia");
} // fim else
} // Fim funç insFila
int Calc(int temp){
/* tax é a taxa padrão q o estacionamento cobra e a é a taxa exedente e tempo e o tempo maximo de permanencia incluso na tax*/
int auxa;
if (tempo < temp){
auxa = (tax + (a * (temp - tempo)));
return auxa;
} // Fim if
contfim = contfim + auxa;
} // Fim func Calc
int busAut(char plac[7]){
int i=0, j=0, k=0, temp=0, ult=0, achou;
if (!vazia()){
for (i=0;i<ult;i++){
achou=0;
if((strcmp(vet.placa, plac)) == 0 ){
printf("Entre com a hora da saída");
scanf ("%d", &j);
printf("Entre com os minutos da saída");
scanf ("%d", &k);
temp = (j - vet.hora)*60 + (k - vet.min);
Calc(temp);
} // End if
} // End for
} // End func bus fila
int main(){
char plac[7];
int hor, min;
printf ("Entre com o valor padrão do estacionamento: ");
scanf ("%d", &tax);
printf ("Entre com o valor das horas adicionais: ");
scanf ("%d", &a);
do {
printf("Entre com 1 para entrada de automovel, 2 para saída de automovel ou 3 para sair: ");
scanf ("%d", &op);
if (op == 1) {
printf ("Entre com o modelo do carro: ");
gets(marca);
printf ("Entre com a placa: ");
gets(plac);
printf ("Entre com a hora de entrada: ");
scanf("%d", &hor);
printf ("Entre com os minutos de entrada: ");
scanf("%d", &min);
insAut(char plac[7], char marca[20], int hor, int mi);
} // End if
else {
if (op == 2) {
printf ("Entre com a placa do carro desejado");
gets(plac);
busAut(char plac[7]);
} // End if
else {
if (op == 3) {
return 0;
} // End if
else {
printf("Opção invalida, por favor, digite enter e tente novamente");
} // End else
} // End Else
} // End else
} while(op != 3);
} // End main
Link para o comentário
Compartilhar em outros sites
1 resposta 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.