Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Antonio Marcos Jamais

struct char+atribuir vetor

Recommended Posts

Gostaria de uma ajuda neste exercio, pois no case 4 preciso listar o registro placa no vetor referente às vagas, para que apareça como se estivesse ocupado o lugar em unico espaço de vetor!

as unicas coisas que saem são algumas letras em locais distintos do vetor e sinais de erro.

 

 

# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <conio.h>
# define STRSIZE 10

int main(int argc, char *argv[])
{
    
    float tarifa=0;
    char vagas[20][STRSIZE];
    int i=1,cont=0,controle=1;
    
    struct carro
    {
        int vaga;
        char placa[STRSIZE];
        char cor[STRSIZE];
        char modelo[STRSIZE];
    };
    
    struct carro ficha;
    
    for(i=1;i<=20;i++)
    {
        vagas[i][STRSIZE]=0;
        cont++;
    }
    system("color f0");
    while(controle!=0 )
    {
        system("cls");
        printf("Menu\n");
        printf("[ 0 ] para sair \n");
        printf("[ 1 ] para cadastra tarifario R$ %.2f\n", tarifa );
        printf("[ 2 ] entrada de veiculo (Vagas Disponiveis %i) ",cont );
        printf("\n[ 3 ] saida de veiculo\n");
        printf("[ 4 ] listar vagas\n" );
        printf("[ 5 ] verificar faturamento\n");
        
        printf("Opcao:");
        scanf("%d",& controle);
        
        
        switch (controle)
        {
            case 1:
                system("cls");
                printf("Informe o valor da tarifa (R$):");
                scanf("%f",& tarifa);
                printf("%.2f\n",tarifa);
                break;
            case 2:                
                system("cls");
                printf("Qual a placa:");
                scanf("%s", & ficha.placa[STRSIZE]);
                printf("\nQual a cor:");
                scanf("%s",&ficha.cor[STRSIZE]);
                printf("\nQual o modelo:");
                scanf("%s",&ficha.modelo[STRSIZE]);
                printf("%s\n",& ficha.placa[STRSIZE]);
                system("pause");
                for(i=1;i<=20;i++)
                {
                    if (vagas[i][STRSIZE]==0)
                    {
                        ficha.vaga = i;
                        vagas[i][STRSIZE]=1;
                        break;
                    }
                }
                            
                cont=cont-1;
                break;
            case 3:
                
                break;
            case 4:
                printf("Lista de vagas\n");
                
                for(i=cont-cont+1;i<=cont;i++)
                {
                    
                    vagas[i][STRSIZE]=ficha.placa[STRSIZE];
                    
                        printf("Vaga [%s] %d: ", & vagas[i][STRSIZE],i);
                        printf("\n");
                }    
                
                system("pause");
                break;
            case 5:
                break;
                
        
        }    
            
    }
    
    system("pause");    
    return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua explicação do problema está confusa.

 

Mas não é desta forma: vagas[sTRSIZE]=ficha.placa[sTRSIZE]; que se faz atribuição de strings.

 

Utilize strcpy, strncpy ou até memcpy.

 

http://www.cplusplus.com/reference/cstring/strcpy/?kw=strcpy

http://www.cplusplus.com/reference/cstring/strncpy/?kw=strncpy

http://www.cplusplus.com/reference/cstring/memcpy/?kw=memcpy

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.