Ir ao conteúdo
  • Cadastre-se

F1rmeza

Membros Plenos
  • Total de itens

    20
  • Registro em

  • Última visita

  • Qualificações

    N/D

Reputação

17

Sobre F1rmeza

  • Data de Nascimento 03-06-1998 (20 anos)

Informações gerais

  • Cidade e Estado
    Distrito Federal/DF
  • Sexo
    Masculino
  1. Galera, alguém sabe como eu posso comparar uma letra inserida pelo usuário com outra STRING? Vamos supor: frase="Pato"; printf("Digite uma letra: "); gets(letra); Queria verificar se essa letra está presente na var "frase"
  2. Olá, Estou aprendendo a mexer com HEADERS agora e estou tendo algumas dúvidas cruéis. Tenho a "main.c", a "acoes.c" (Onde fica as funções do programa) e o "acoes.h" (Cabeçalho onde as funções são declaradas e comentadas), mas não estou conseguindo manipular arquivos em "acoes.c". Segue o erro abaixo: SCREENSHOT Como eu poderia manipular os arquivos no arquivo "acoes.c"?
  3. Olá, Estou aprendendo a mexer com STRUCT agora e estou com dúvidas relacionadas a elas na hora de trabalhar com funções, etc. //Declarações (Funções e Procedimentos) void menu(); void adm(); void listarMercadoria(); void verificarEstoque(); void calculaRenda(); //Bibliotecas #include<locale.h> #include<stdio.h> #include<conio2.h> #include<windows.h> #define MAX_REG 50 #define MAX_PROD 500 //Código Principal int main(){ setlocale(LC_ALL, "portuguese"); //Declarações struct Contas{ int cpf[MAX_REG]; char nome[MAX_REG]; int ativo; }; struct Contas c; struct Produtos{ int id[MAX_PROD], qtde[MAX_PROD]; float valor[MAX_PROD]; char nome[MAX_PROD], cat[MAX_PROD]; }; struct Produtos p; //Instruções menu(); return(0); } //Funções e Procedimentos void menu(){ char opcao; system("cls"); printf("\n #---------------- PAINEIS DA LOJA ----------------#"); printf("\n | 1 – Painel Administrativo |"); printf("\n | 2 – Painel Usuário |"); printf("\n | 0 – Sair |"); printf("\n\n > Escolha uma opção: "); opcao=getch(); if(opcao=='1'){ adm(); } } void adm(){ char opcao; char nome[MAX_PROD]; system("cls"); printf("\n #---------------- PAINEL ADMINISTRATIVO ----------------#"); printf("\n | 1 – Listar Mercadorias |"); printf("\n | 2 – Verificar Estoque |"); printf("\n | 3 – Calcular Renda |"); printf("\n | 0 – Sair |"); printf("\n\n > Escolha uma opção: "); opcao=getch(); if(opcao=='1'){ int indice=0; system("cls"); printf("\n #---------------- PAINEL ADMINISTRATIVO ----------------#"); printf("\n | 1 – %s ", p.nome[i]); printf("\n | 2 – Verificar Estoque "); printf("\n | 3 – Calcular Renda "); printf("\n | 0 – Sair "); printf("\n\n > Informe o nome do item: "); fgets(p.nome[i], sizeof(p.nome[i]), stdin); } else if(opcao=='2'){ system("cls"); //Instruções } else if(opcao=='3'){ system("cls"); //Instruções } else if(opcao=='0'){ menu(); } } void listarMercadoria(){ } void verificarEstoque(){ } void calculaRenda(){ } Quero entender como trabalhar com as variáveis da struct nas funções. Alguém poderia me dar uma explicação bem completa sobre esse assunto?
  4. Olá, Estarei disponibilizando alguns exercícios para os que estão começando em linguagem C. Fiz a maioria deles para a faculdade, se tiverem alguma dúvida eu posso tentar ajudar. Bons estudos! Espero estar contribuindo. 1ª Lista da Monitoria.pdf 2ª Lista da Monitoria.pdf 3ª Lista da Monitoria.pdf TrabalhoFinal_Algoritmo_2018-1.pdf
  5. @kamiLuke12 Ao invés de criar a função "limpa_tela", você pode usar "system("cls");" Creio que em seu código, quando pergunta se a pessoa deseja continuar, ela digita o caracter e aperta o ENTER. Não sei se você quer especificamente desse modo, mas tem como fazer com que a pessoa apenas tecle "S" ou "N" sem precisar teclar ENTER posteriormente. Basta usar "resp=getch(resp);"
  6. F1rmeza

    C !C Controle de Ingressos

    @isrnick Exato. Só usei ela pois o professor falou que era necessário.
  7. F1rmeza

    C !C Controle de Ingressos

    @devair1010 Ela funciona com a biblioteca <conio2.h>
  8. F1rmeza

    C !C Controle de Ingressos

    @giu_d Como funciona o <windows.h>?
  9. Fala rapeize, beleza? Estava fazendo um trabalho para a faculdade e gostaria de saber o que vocês acharam do meu código. Quero saber o que devo e não devo usar, se o código está bom, se estou fazendo algo de errado, etc. Nesse trabalho eu tinha que fazer com que o dono do programa registre um estadio, contendo nome, valor do ingresso e os respectivos descontos de acordo com o sexo da pessoa. Também é necessário informar a quantidade de cadeiras da fileira tribuna, onde o usuário vai poder reservar sua cadeira. Foi necessário criar um MENU com 4 opções, dentre elas: Verificação de Cadeiras, Efetuar Reserva, Cancelar Reserva, Confirmar Reserva e Resumo. Código:
  10. @iHollyZinhO // Síntese // Objetivo: // Entrada : // Saída : // Autor : Caio Villar Rocha #include<stdio.h> #include<string.h> #include<ctype.h> #include<locale.h> void validaPorcentagemDesconto(int *valorNormal, int *descontoM, int *descontoF); void validaSexo(char *sexo); main(){ setlocale(LC_ALL, "portuguese"); //Declarações int valorNormal, valorOriginal, descontoM, descontoF; int indice, qtdeCad, remover, numReserva, contR, contC, contD, confirmar; int id[10]; char cadeiras[10]; char estadio[10]; char sexo, acao, continuar; //Instruções indice=0; contR=0; contC=0; contD=0; validaPorcentagemDesconto(&valorNormal, &descontoM, &descontoF); do{ fflush(stdin); printf("|+| (REGISTRANDO UM NOVO ESTÁDIO) |+|\n|- Insira o nome do estádio: "); gets(&estadio); }while(strcmp(estadio, "")==0); do{ printf("|- Quantidade de cadeiras: "); scanf("%i", &qtdeCad); }while(qtdeCad<5 || qtdeCad>=10); do{ cadeiras[indice]="D"; id[indice]=0; indice=indice+1; }while(indice<qtdeCad); system("cls"); do{ printf("\t|+| MENU DE AÇÕES |+|\n\n\t(1) Verificar Cadeiras\n\t(2) Efetuar Reserva\n\t(3) Cancelar Reserva\n\t(4) Confirmar Reserva\n\t(5) Mostrar Resumo\n\n|- Tecle uma opção: "); acao=getch(); system("cls"); switch(acao){ case '1': indice=0; //Instruções; break; case '2': do{ validaSexo(sexo); for(indice=0;indice<qtdeCad-1;indice++){ if(strcmp(cadeiras[indice],"D")==0){ printf("%s", cadeiras[indice]); } } }while(continuar=='s'); //Instruções; break; case '3': //Instruções; break; case '4': //Instruções break; case '5': //Instruções break; default: printf("\n[!] Opção inexistente.\n"); continuar='n'; } }while(continuar=='n'); } void validaPorcentagemDesconto(int *valorNormal, int *descontoM, int *descontoF){ printf("|+| (REGISTRANDO UM VALOR DO INGRESSO) |+|\n| Insira o valor do ingresso: "); scanf("%i", valorNormal); printf("| Insira o desconto masculino: "); scanf("%i", descontoM); printf("| Insira o desconto feminino: "); scanf("%i", descontoF); } void validaSexo(char *sexo){ printf("\n|+| (REGISTRANDO SEXO) |+|\n|- (M) Masculino\n|- (F) Feminino\n"); sexo=getch(); sexo=toupper(sexo); system("cls"); }
  11. Galera, estou criando um código em C em que eu preciso reservar cadeiras que estão definidas com "D" (Disponíveis), porém creio que do método que estou fazendo, não está funcionando. Eu criei o código por completo em portugol e funcinou direitinho, porém quando fui passar para C ele não está respondendo do mesmo jeito, até mesmo porque em portugol eu podia ver PASSO-A-PASSO do que Executar. //Aqui o usuário informe a quantidade de cadeiras e eu aplico "D" (Disponível) em todos os vetores de cadeiras. do{ fflush(stdin); printf("|+| (REGISTRANDO UM NOVO ESTÁDIO) |+|\n|- Insira o nome do estádio: "); gets(&estadio); }while(strcmp(estadio, "")==0); do{ printf("|- Quantidade de cadeiras: "); scanf("%i", &qtdeCad); }while(qtdeCad<5 || qtdeCad>=10); do{ cadeiras[indice]="D"; id[indice]=0; indice=indice+1; }while(indice<qtdeCad); //Nessa parte eu pego o procedimento validaSexo e faço um laço de repetição usando o FOR para ler todos os vetores de cadeiras. Aplico uma validação SE(comparaTexto,cadeiras[indice],"D")==0), então se no vetor 0 de cadeiras estiver escrito "D", ele irá fazer a validação e vai escrever a cadeira na tela. Isso não está ocorrendo, não está ocorrendo nada, parece que os caracter "D" não foram atribuidos na variavel cadeiras ou sla kkk do{ validaSexo(sexo); for(indice=0;indice<qtdeCad-1;indice++){ if(strcmp(cadeiras[indice],"D")==0){ printf("%s", cadeiras[indice]); } } }while(continuar=='s'); //Procedimento void validaSexo(char *sexo){ printf("\n|+| (REGISTRANDO SEXO) |+|\n|- (M) Masculino\n|- (F) Feminino\n"); sexo=getch(); sexo=toupper(sexo); system("cls"); }
  12. @André Ferreira da Silva Não deu certo kk Para simplificar, eu fiz isso aqui, mas sempre retorna o valor 50 pra variavel valorOriginal main(){ float descontoM, desconto, valorOriginal=0, valorNormal=50; printf("Desconto M: "); scanf("%i", &descontoM); valorOriginal = ((descontoM/100)*50)-(valorNormal); printf("Desconto: %f", valorOriginal); } adicionado 1 minuto depois @André Ferreira da Silva Ops tinha colocado pra receber como inteiro, troquei para float e funcionou kkkk Obrigado!!
  13. Fala rapeize, beleza? Estou com uma dificuldade cruel na hora de aplicar desconto em um valor. O usuário insere o valor normal do ingresso e a porcentagem de desconto do sexo MASCULINO e do sexo FEMININO, depois que preciso pegar o valor normal do ingresso e aplicar os respectivos descontos, porém estou com dificuldade de como fazer esse calculo. Segue abaixo meu pensamento: main(){ int valorOriginal=0, descontoM=10, valorNormal=50, valorM=0; valorOriginal=(descontoM/100)*(valorNormal); valorM=valorNormal-valorOriginal; printf("Teste: %i, %i", valorM, valorOriginal); }
  14. Genial! Brigadão. adicionado 5 minutos depois Uma coisa que ainda estou confuso é com if (contador == 1 || menor > altura) menor = altura; no caso, segue esse raciocínio? se (contador for igual a 1 ou menor for maior que altura) menor recebe o valor da variável altura; Esse seria o raciocínio? Porque depois de contador for igual a 1 tem o "ou (||)" dizendo que se menor for maior que altura, mas como isso? menor não teve um valor atribuído, apenas a altura. Faz diferença eu trocar o "||" por "&&"? porque no meu raciocínio está assim se (contador == 1 e(&&) menor > altura) menor = altura; @devair1010
  15. Funcionou! Obrigado. Agora vou tentar entender o raciocínio.

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

×