Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Murillo Pereira da Silva

C++ Problema no programa converter para char

Recommended Posts

Boa tarde pessoal,

Seguinte, estou com um problema no meu programa em que eu estou tentando mudar um char colocando caracteres e números (não sei se posso fazer isso, sou iniciante) e quando eu executo o programa ele roda normalmente, mas na hora de imprimir a string na tela, ele trava, eu estou utilizando %c para imprimir na tela, utilizando o %s ele me fala que não se pode converter do char para int( estou tentando atribuir o valor AAA2020 para o char mostrarcarroalugado;), segue abaixo o programa, ele não esta completo e como estou na correria, me desculpem a má indentação.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#include <string.h>
int main()
{
    
    int carroalugado, diascarro, alugarconsultar,idosoparceiro,continuar, dia, devolucao;
    double tarifacarro;
    int parceiro,idoso;
    char nome[256];
    char data[9];
    char mostrarcarroalugado[256]; //  Quero mostrar essa variavel na tela.
    char hora[9];
    char c[3];/*um a mais para o caractere nulo  \0*/
    
    setlocale(LC_ALL,"");
     _strdate(data); /*isso pega a data do sistema*/ // não usei ainda
    _strtime(hora); /*isso pega a hora do sistema*/ // não usei ainda
      
    
    printf("=================================================\n========== Bem-vindo a Legal Rent a Car =========\n=================================================");

    do{
        
    printf("\n\n O que voce deseja fazer ? \n\n 1- Alugar um carro\n 2- Consultar dados de carro alugado\n 3- Sair\n\n");
    
    scanf("%d",&alugarconsultar);
    
    if(alugarconsultar==1){
        printf("escreva seu nome para se identificar:");
        gets(nome);
        gets(nome);
        printf("qual Carro voce deseja alugar? \n\n Carros disponiveis no momento: \n\n 1-Fox AAA2020 diaria = R$10,00\n");
        scanf("%d",&carroalugado);
        if(carroalugado == 1){
            mostrarcarroalugado ='FoxAAA2020';     //   <-- aqui eu estou tentando atribuir o nome do carro(não sei se é o certo)
            printf("Por quantos dias voce deseja alugar o veiculo?\n");
            scanf("%d",&diascarro);
            printf("voce e de alguma empresa parceira ou idoso?\n\n 1-Parceiro\n2-Idoso\n3- Nenhum");
            scanf("%d",&idosoparceiro);
        if(idosoparceiro==1){
            tarifacarro = (10.00*5)/100;
            parceiro = 10.00 - tarifacarro;
            printf("desconto para parceiro = %d",parceiro );
        }
        if(idosoparceiro==2){
            tarifacarro = (10.00*5)/100;
            idoso = (10.00*10)/100;
            printf("desconto para idoso = %d\n",idoso );
        }
        if(idosoparceiro==3){
            printf("Sem Descontos \n\n");
        }
        printf("==========Nota Fiscal==========\n\n Nome: %s \n carro alugado: %c\n Preco a ser pago:R$%d \n Data do Recebimento do veiculo: \n ==============================\n\n\n",nome, mostrarcarroalugado); // tento imprimir ela aqui, mas ela saiu como 0(zero), ou alguma letra aleatória quando altero o codigo.
        printf("deseja continuar a navegar?");
        scanf("%d",&continuar);
        }
        }
    }while(continuar == 1);
    
    
}

 

Editado por Simon Viegas
Antes de postar um código, favor pressionar o botão <>
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Murillo Pereira da Silva    para você carregar um char com caracteres, entre aspas duplas,  você pode usar a função strcpy junto com a biblioteca string.h ,  ajeitei algumas linhas para dar uma melhor aparência no texto ,  mas para você fazer muitos cadastros é melhor você usar vetores ou matrizes,  pois do jeito que está você só consegue cadastrar um cliente :   com vetores  você usaria assim :

char nome[100][256];

e na hora de cadastrar você colocaria assim :

printf("escreva seu nome para se identificar: ");
fflush(stdin);
gets(nome[j]);
j++;

sendo que é uma variável para controlar a quantidade de clientes cadastrados , então ele começaria de zero e iria aumentando a cada cliente que for cadastrado,     aqui está seu código com algumas modificações :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#include <string.h>
int main(){
    int carroalugado, diascarro, alugarconsultar,idosoparceiro,continuar=1, dia, devolucao;
    float tarifacarro,parceiro;
    int idoso;
    char nome[256];
    char data[9];
    char mostrarcarroalugado[256]; /*//  Quero mostrar essa variavel na tela.*/
    char hora[9];
    char c[3];/*um a mais para o caractere nulo  \0*/
    setlocale(LC_ALL,"");
     _strdate(data); /*isso pega a data do sistema*//* // não usei ainda*/
    _strtime(hora);  /*isso pega a hora do sistema*//* // não usei ainda*/
    printf("a data é %s\n",data);/*o caractere 0 e 1 eh o mes - o 2 eh a barra - o 3 e 4 eh o dia */
                                /* o 5 eh a outra barra*/
                                /* o 6 e 7 eh o ano */
    printf("a hora é %s\n",hora);
    printf("=================================================\n");
    printf("========== Bem-vindo a Legal Rent a Car =========\n");
    printf("=================================================");
    do{
        printf("\n\n O que voce deseja fazer ? \n\n");
        printf(" 1- Alugar um carro\n");
        printf(" 2- Consultar dados de carro alugado\n");
        printf(" 3- Sair\n\n");
        scanf("%d",&alugarconsultar);
        if(alugarconsultar==3)return 0;
        if(alugarconsultar==1){
            printf("escreva seu nome para se identificar: ");
            fflush(stdin);
            /*gets(nome);*/
            gets(nome);
            printf("qual Carro voce deseja alugar? \n\n");
            printf(" Carros disponiveis no momento: \n\n");
            printf(" 1-Fox AAA2020 diaria = R$10,00 ");
            scanf("%d",&carroalugado);
            if(carroalugado == 1){
                strcpy(mostrarcarroalugado,"FoxAAA2020");/*//   <-- aqui eu estou tentando atribuir o nome do carro*/
                                                     /*(não sei se é o certo)*/
                printf("Por quantos dias voce deseja alugar o veiculo? ");
                scanf("%d",&diascarro);
                printf("voce e de alguma empresa parceira ou idoso?\n\n 1-Parceiro\n 2-Idoso\n 3- Nenhum ");
                scanf("%d",&idosoparceiro);
                if(idosoparceiro==1){
                    tarifacarro = (10.00*5)/100;
                    parceiro = 10.00 - tarifacarro;
                    printf("desconto para parceiro = %.2f\n\n",parceiro );
                }
                else{
                    if(idosoparceiro==2){
                        tarifacarro = (10.00*5)/100;
                        idoso = (10.00*10)/100;
                        printf("desconto para idoso = %d\n\n",idoso );
                    }
                    else{
                        if(idosoparceiro==3){
                            printf("Sem Descontos \n\n");
                        }
                    }
                }
                printf("==========Nota Fiscal==========\n\n");
                printf(" Nome: %s \n carro alugado: %s\n Preco a ser pago: R$%.2f \n",nome,mostrarcarroalugado,tarifacarro);
                printf(" Data do Recebimento do veiculo: \n ==============================\n\n\n"); /*// tento imprimir ela */
                /*aqui, mas ela saiu como 0(zero), ou alguma letra aleatória quando altero o codigo.*/
            }
        }
        printf("deseja continuar a navegar?  1- sim  2- nao ");
        scanf("%d",&continuar);
    }while(continuar == 1);
    return 0;
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×