Ir ao conteúdo
  • Cadastre-se

herbertbahia

Membro Pleno
  • Posts

    537
  • Cadastrado em

  • Última visita

Tudo que herbertbahia postou

  1. @devair1010 eu começei programar ano passado e já nao usava windows xp e nunca conseguir ver mas nunca funciona comigo tambem #include <stdio.h> int main() { int x; for (x=0;x<256; x++) printf("%d: %c\n",x,x); }
  2. modelo é inteiro voce esta tentando atribuir uma string. não use gets e strcpy use scanf e =
  3. vá em frente se não tentar como vai saber... se tiver problemas o que é bem provavel questione, eu nao estou aqui para fazer os exercicios dos outros e sim para sanar duvidas, pois bem espero que alem de ter entendido o modelo que desenvolvemos tenha comprendido as outras explicações e modelos citados por outros membros do fórum que se disponibilizam para contribuir com o conhecimento.
  4. oh me perdoe eu nao sabia que precisava disso foi a primeira vez que compartilhei um pdf mas entao decidir carregar no sendspace para ficar mais fácil para quem quiser este e o link .. https://www.sendspace.com/file/n3qj46 adicionado 0 minutos depois mds como esquecir dessa jóia
  5. https://drive.google.com/file/d/1jrqPYPnV867A0zCQtx3Jw0Wbwt4dXXpB/view?usp=sharing esse eu nem conseguir ler ainda mas pelo índice é muito bom
  6. se voce ainda nao sabe que para quebrar uma linha se usa \n em linguagem c recomendo voce fazer uma boa revisão nos estudos procurar materiais na internet video, pdfs, livros ...
  7. percebi agora que usou para as verificacoes if para variaveis diferentes está correto pensei que havia repetido desnecessariamente.. sobre os exemplos das estruturas de reptição.. #include <stdio.h> #include <stdlib.h> #include <string.h> //dados cadastrais do cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char Endereco[50]; }; int main(void){ char aux[200]; struct cad_cliente info; int opcao; while(1){ system("cls"); printf("-----------------------------------------\n"); printf("\tCONTROLE DE ESTACIONAMENTO\n"); printf("-----------------------------------------\n\n"); printf("1- Cadastrar Cliente\n"); printf("\n2- Cadastrar Veiculo\n"); printf("\n3- Listar veiculos cadastrados\n"); printf("\n4- Creditos\n"); printf("\n5- Sair\n"); printf("\nOpcao: "); scanf("%d",&opcao); switch(opcao){ case 1: system("cls"); printf("Informe o nome do cliente: "); fflush(stdin); gets(info.nome); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); cpf: fflush(stdin); gets(aux); if (strlen(aux) < 11){ printf("erro quantidade de digitos menor do que o correto\n"); printf("Digite novamente: \n"); goto cpf; } else if (strlen(aux) > 11){ printf("erro quantidade de digitos maior do que o correto\n"); printf("Digite novamente: \n"); goto cpf; } else{ strcpy(info.CPF_CNPJ,aux); } printf("Informe o número do CNH do cliente: "); cnh: fflush(stdin); gets(aux); if (strlen(aux) < 11){ printf("erro quantidade de digitos menor do que o correto\n"); printf("digite novamente: \n"); goto cnh; } else if (strlen(aux) > 11){ printf("erro quantidade de digitos maior do que o correto\n"); printf("digite novamente: \n"); goto cnh; } else{ strcpy(info.CNH,aux); } printf("Informe o endereco do cliente: "); gets(info.Endereco); system("pause"); break; } } }
  8. voce nao precisar mais de uma vez fazer as mesmas verificações perceba que so sao tres: if para menor , else if para maior e else para equivalente. e ja sao ate demais. sobre a sua duvida de repetir para o usuario digitar de novo voce pode usar as famosas Estruturas de repetição da linguagem c : tem o famoso while, do while ou goto.
  9. se quer algo simples voce pode usar a função textcolor void textcolor_2(int l, int f){SetConsoleTextAttribute(H,l+(f<<4));}
  10. pronto assim está dentro de um loop infinito e nao está chamando a funcao main para evitar criar copias na memoria #include <stdio.h> #include <stdlib.h> #include <string.h> //dados cadastrais do cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char Endereco[50]; }; int main(void){ char aux[200]; struct cad_cliente info; int opcao; while(1){ system("cls"); printf("-----------------------------------------\n"); printf("\tCONTROLE DE ESTACIONAMENTO\n"); printf("-----------------------------------------\n\n"); printf("1- Cadastrar Cliente\n"); printf("\n2- Cadastrar Veiculo\n"); printf("\n3- Listar veiculos cadastrados\n"); printf("\n4- Creditos\n"); printf("\n5- Sair\n"); printf("\nOpcao: "); scanf("%d",&opcao); switch(opcao){ case 1: system("cls"); printf("Informe o nome do cliente: "); fflush(stdin); gets(info.nome); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); fflush(stdin); gets(aux); if (strlen(aux) != 11){ printf("erro quantidade de digitos incorreto\n"); system("pause"); break; } else{ strcpy(info.CPF_CNPJ,aux); } printf("Informe o número do CNH do cliente: "); gets(info.CNH); printf("Informe o endereco do cliente: "); gets(info.Endereco); system("pause"); break; } } } adicionado 2 minutos depois if (strlen(aux) < 11){ printf("erro quantidade de digitos menor do que o correto\n"); system("pause"); break; } else if (strlen(aux) > 11){ printf("erro quantidade de digitos maior do que o correto\n"); system("pause"); break; } else{ strcpy(info.CPF_CNPJ,aux); }
  11. se quer que o usuario digite a quantidade 11 exata entao use o simbolo != para saber se nao contem 11 if (strlen(aux) != 11)
  12. tente desta maneira entao #include <stdio.h> #include <stdlib.h> #include <string.h> //dados cadastrais do cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char Endereco[50]; }; int main(void){ system("cls"); char aux[200]; struct cad_cliente info; int opcao; printf("-----------------------------------------\n"); printf("\tCONTROLE DE ESTACIONAMENTO\n"); printf("-----------------------------------------\n\n"); printf("1- Cadastrar Cliente\n"); printf("\n2- Cadastrar Veiculo\n"); printf("\n3- Listar veiculos cadastrados\n"); printf("\n4- Creditos\n"); printf("\n5- Sair\n"); printf("\nOpcao: "); scanf("%d",&opcao); switch(opcao){ case 1: system("cls"); printf("Informe o nome do cliente: "); fflush(stdin); gets(aux); if (strlen(aux) > 11)printf("erro contem mais de 11 digitos\n"); else strcpy(info.nome,aux); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); fflush(stdin); gets(info.CPF_CNPJ); printf("Informe o número do CNH do cliente: "); gets(info.CNH); printf("Informe o endereco do cliente: "); gets(info.Endereco); system("pause"); main(); break; } } adicionado 0 minutos depois Como assim? não entendi muito bem vou fazer um exemplo e jaja te mostro
  13. parabens sim isso é possivel veja um exmeplo usando uma variavel auxiliar #include <stdio.h> #include <stdlib.h> #include <string.h> //dados cadastrais do cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char Endereco[50]; }; int main(void){ system("cls"); struct cad_cliente info; int opcao; printf("-----------------------------------------\n"); printf("\tCONTROLE DE ESTACIONAMENTO\n"); printf("-----------------------------------------\n\n"); printf("1- Cadastrar Cliente\n"); printf("\n2- Cadastrar Veiculo\n"); printf("\n3- Listar veiculos cadastrados\n"); printf("\n4- Creditos\n"); printf("\n5- Sair\n"); printf("\nOpcao: "); scanf("%d",&opcao); switch(opcao){ case 1: char aux[200]; system("cls"); printf("Informe o nome do cliente: "); fflush(stdin); gets(aux); if (strlen(aux) > 11)printf("contem mais de 11 digitos"); else strcpy(info.nome,aux); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); fflush(stdin); gets(info.CPF_CNPJ); printf("Informe o número do CNH do cliente: "); gets(info.CNH); printf("Informe o endereco do cliente: "); gets(info.Endereco); system("pause"); main(); break; } } talvez devesse tentar fazer tambem como o @Mauro Britivaldo citou
  14. @Def pelo print parece que colocou no lugar certo se quer mesmo fazer desta maneira entao chame system("cls"); no inicio do menu para limpar a tela quando chamar main
  15. você tem um livro? uma apostila? um material digital? voce nao precisa apertar enter para voltar ao menu quando simplesmente terminar de ler os dados ele pode retornar sem precisar ter que apertar nada entao coloque um loop no menu , mas se insiste pode user system("pause"); e chamar a funcao main(); ai quando teclar enter vai retornar
  16. tem que ficar dentro do case para ocls iniciar quando ele inciar #include <stdio.h> #include <stdlib.h> //dados cadastrais do cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char Endereco[50]; }; int main(void){ struct cad_cliente info; int opcao; printf("-----------------------------------------\n"); printf("\tCONTROLE DE ESTACIONAMENTO\n"); printf("-----------------------------------------\n\n"); printf("1- Cadastrar Cliente\n"); printf("\n2- Cadastrar Veiculo\n"); printf("\n3- Listar veiculos cadastrados\n"); printf("\n4- Creditos\n"); printf("\n5- Sair\n"); printf("\nOpcao: "); scanf("%d",&opcao); switch(opcao){ case 1: system("cls"); printf("Informe o nome do cliente: "); fflush(stdin); gets(info.nome); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); fflush(stdin); gets(info.CPF_CNPJ); printf("Informe o número do CNH do cliente: "); gets(info.CNH); printf("Informe o endereço do cliente: "); gets(info.Endereco); break; } }
  17. sim claro por isso mesmo estou mencionando, mas se voce está iniciando agora e ainda nao viu esse conteudo ainda é melhor nem tentar.
  18. para limpar a tela use a função system("cls"); chame essa funçao logo quando for iniciar a outra etapa se voce vai cadastrar um numero indeterminado de clientes entao voce pode usar estrutura dinamica e realocar sempre que for cadastrar um novo cliente #include <stdio.h> #include <stdlib.h> struct cad_cliente{ char nome[30]; }; int main(){ struct cad_cliente *ptr; ptr = ( struct cad_cliente* ) malloc (1* sizeof ( struct cad_cliente* )); int i,cont=1; char op; for (i=0;i<cont;i++){ fflush(stdin); printf ( "\n Digite o nome : \n" ); gets(ptr[i].nome); printf ( "\n Deseja cadastrar outro ? s | n :\n" ); scanf(" %c",&op); if (op=='s'||op=='S'){ cont++; ptr = ( struct cad_cliente* ) realloc(ptr,1 * sizeof( struct cad_cliente* )); } } for (i=0;i<cont;i++){ printf ( "\n Nome: %s\n ",ptr[i].nome ); } free(ptr); }
  19. eu tenho um sistema de fila bem semelhante só precisa fazer alguma modificacoes vou postar ver se te ajuda #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct dado{ int codigo; char nome[80]; int qt; }dados; typedef struct Item { dados numero; struct Item *proximo; }Itens; typedef struct Filas { Itens *inicio; Itens *fim; }Fila; void Inicializar(Fila **fila) { // -> Recebe a fila por referencia // para inicializ?-la *fila = (Fila *) malloc(sizeof(Fila)); (*fila)->inicio = NULL; (*fila)->fim = NULL; } int EstaVazia(Fila *fila) { return fila->inicio == NULL; } void Inserir(Fila *fila, int numero, char nome[],int qt) { Itens *novo; novo = (Itens *)malloc(sizeof(Itens)); // -> Verifica se a mem?ria foi alocada com sucesso if (novo != NULL) { novo->numero.codigo = numero; novo->numero.qt = qt; strcpy(novo->numero.nome,nome); novo->proximo = NULL; if(EstaVazia(fila)) { // -> Primeiro Item da Fila. fila->inicio = novo; fila->fim = novo; } else { // -> Ultimo item da Fila fila->fim->proximo = novo; fila->fim=novo; } } } void Retirar(Fila *fila) { Itens *item; if(!EstaVazia(fila)) { item = fila->inicio; fila->inicio = item->proximo; free(item); // -> Se a fila acabou devemos atualizar o final if (fila->inicio == NULL) fila->fim = NULL; } } void MostrarFila(Fila *fila) { int i = 0; Itens *item; printf("\n\n Listando...\n\n"); printf("\n---------------------------------\n"); if (EstaVazia(fila)) { printf ("A Fila esta vazia!\n"); } else { item = fila->inicio; while(item != NULL) { i++; printf("Paciente [%i]\n",i); printf("Codigo-> %d\t", item->numero.codigo); printf("Nome-> %s\t", item->numero.nome); printf("Data-> %d\t", item->numero.qt); item = item->proximo; } } printf("\n---------------------------------\n"); } void Menu() { system("cls"); printf("Digite a sua escolha: \n" ); printf("1 Inserir paciente \n" ); printf("2 retirar paciente \n" ); printf("3 mostrar consultas \n"); printf("4 Sair \n" ); printf("Opcao : " ); } int tamanho (Fila *fila) { /*Retorna o tamanho da fila*/ Itens *p; int cont = 0; p = fila->inicio; while (p != NULL) { cont ++; p = p->proximo; } return cont; } int main() { int cod; Fila *fila = NULL; int opcao,qt,tam; int numero; char nome[80]; float valor; Inicializar(&fila); do{ Menu(); scanf("%i", &opcao); switch (opcao) { case 1: printf( "Digite o codigo: "); scanf("\n%i", &numero); printf( "Digite o nome: "); scanf("\n%s", &nome); printf( "Digite a data: "); scanf("\n%i", &qt); Inserir(fila, numero,nome,qt); MostrarFila(fila); system("pause"); break; case 2: Retirar(fila); MostrarFila(fila); system("pause"); break; case 3: tam= tamanho(fila); printf( "Tamanho Fila=%d\n",tam); system("pause"); break; case 4: exit; break; default: printf( "Escolha invalida.\n\n"); system("pause"); break; } }while (opcao!=5); system("pause"); return 0; }
  20. nao faria muito sentido ler apenas o nome do cliente quando digitar 1 pois no menu diz cadastrar cliente entao deve armazenar toda estrutura que fez para ler os dados do cliente dentro do case 1 eis um exemplo. #include <stdio.h> #include <stdlib.h> //dados cadastrais do cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char Endereco[50]; }; int main(void){ struct cad_cliente info; int op; printf("-----------------------------------------\n"); printf("\tCONTROLE DE ESTACIONAMENTO\n"); printf("-----------------------------------------\n\n"); printf("1- Cadastrar Cliente\n"); printf("\n2- Cadastrar Veiculo\n"); printf("\n3- Listar veiculos cadastrados\n"); printf("\n4- Creditos\n"); printf("\n5- Sair\n"); scanf("%d",&op); switch(op){ case 1: printf("Informe o nome do cliente: "); gets(info.nome); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); fflush(stdin); gets(info.CPF_CNPJ); printf("Informe o número do CNH do cliente: "); gets(info.CNH); printf("Informe o endereço do cliente: "); gets(info.Endereco); break; } }
  21. @Aislan_R é melhor postar o csv junto acho que fica mais fácil de te ajudarem, inclusive tambem to com esse mapa pendente em ed1, o de ed 2 eu fiz diferente.
  22. se não conseguiu entender a explicação clara do @Mauro Britivaldo é melhor fazer uma boa revisão nos conteúdos para prosseguir nos estudos...
  23. é melhor pesquisar por switch case em linguagem c ou fazer uma revisão no seu contéudo para conseguir prosseguir
  24. limpe o buffer #include <stdio.h> #include <stdlib.h> //dados cadastrais do cliente struct cad_cliente{ char nome[10]; int idade; char CPF_CNPJ[20]; char CNH[30]; char Endereco[50]; }; int main(void){ struct cad_cliente info; printf("-----------------------------------------\n"); printf("\tCONTROLE DE ESTACIONAMENTO\n"); printf("-----------------------------------------\n\n"); printf("1- Cadastrar Cliente\n"); printf("\n2- Cadastrar Veiculo\n"); printf("\n3- Listar veiculos cadastrados\n"); printf("\n4- Creditos\n"); printf("\n5- Sair\n"); printf("Informe o nome do cliente: "); gets(info.nome); printf("Informe a idade do cliente: "); scanf("%d", &info.idade); printf("Informe o CPF/CNPJ do cliente: "); fflush(stdin); gets(info.CPF_CNPJ); printf("Informe o número do CNH do cliente: "); gets(info.CNH); printf("Informe o endereço do cliente: "); gets(info.Endereco); system("pause"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!