Ir para conteúdo
Fórum Script Brasil

Phee

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Phee

Phee's Achievements

0

Reputação

  1. Boa noite, eu preciso criar um programa que cadastre clientes e materiais de estoque para uma empresa fictícia, por enquanto tenho apenas a parte de cadastro de pessoas, enfim. Eu preciso fazer com que esse programa gere arquivos para armazena-los em algum local do pc e com o executável do programa eu consiga dar continuidade no cadastro de pessoas e essas coisas. Estou muito perdido em relação a Arquivos, gostaria se possível se alguém poderia me ajudar com esse problema agradeço muito e obrigado pela paciência. No momento o programa segue da seguinte forma: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <conio.h> #define BUFFER 64 typedef struct lista { char *nome; int idade; struct lista *proximo; } Dados; Dados *inicia_dados(char *nome, int idade); Dados *insere_dados(Dados *dados, char *nome, int idade); void exibe_dados(Dados *dados); void busca_dados(Dados *dados, char *chave); Dados *deleta_dados(Dados *dados); int checa_vazio(Dados *dados); void insere(void); void exibe(void); void busca(void); void deleta(void); Dados *principal = NULL; Dados *inicia_dados(char *nome, int idade) { Dados *novo; novo = (Dados *)malloc(sizeof(Dados)); novo->nome = (char *)malloc(strlen(nome)+1); strncpy(novo->nome, nome, strlen(nome)+1); novo->idade = idade; novo->proximo = NULL; return novo; } Dados *insere_dados(Dados *dados, char *nome, int idade) { Dados *novo; novo = (Dados *)malloc(sizeof(Dados)); novo->nome = (char *)malloc(strlen(nome)+1); strncpy(novo->nome, nome, strlen(nome)+1); novo->idade = idade; novo->proximo = dados; return novo; } void exibe_dados(Dados *dados) { fprintf(stdout, "Cadastro:\n\n"); fprintf(stdout, "------------------------\n"); for (; dados != NULL; dados = dados->proximo) { fprintf(stdout, "Nome: %s\n", dados->nome); fprintf(stdout, "Idade: %d\n", dados->idade); fprintf(stdout, "------------------------\n "); } printf("Pressione uma tecla para continuar."); getch(); } void busca_dados(Dados *dados, char *chave) { int achou = 0; fprintf(stdout, "Cadastro:\n\n"); for (; dados != NULL; dados = dados->proximo) { if (strcmp(chave, dados->nome) == 0) { fprintf(stdout, "------------------------\n"); fprintf(stdout, "Nome: %s\n", dados->nome); fprintf(stdout, "Idade: %d\n", dados->idade); fprintf(stdout, "------------------------\n"); achou++; } } if (achou == 0) fprintf(stdout, "Nenhum resultado encontrado.\nPressione uma tecla para continuar.\n"); else fprintf(stdout, "Foram encontrados %d registros. \nPressione uma tecla para continuar.\n", achou); sleep(1); getch(); } Dados *deleta_dados(Dados *dados) { Dados *novo; novo = dados->proximo; free(dados->nome); free(dados); fprintf(stdout, "O ultimo registro inserido foi deletado com sucesso.\\n"); sleep(1); return novo; } int checa_vazio(Dados *dados) { if (dados == NULL) { fprintf(stdout, "Lista vazia!\\n"); sleep(1); return 1; } else return 0; } void insere(void) { char *nome; int idade; nome = (char *)malloc(BUFFER); fprintf(stdout, "\n\nDigite o Nome: \n----> "); scanf("%s", nome); fprintf(stdout, "\n"); fprintf(stdout, "Digite a Idade: \n----> "); scanf("%d", &idade); fprintf(stdout, "\n"); if (principal == NULL) principal = inicia_dados(nome, idade); else principal = insere_dados(principal, nome, idade); } void exibe(void) { if (!checa_vazio(principal)) exibe_dados(principal); } void busca(void) { char *chave; if (!checa_vazio(principal)) { chave = (char *)malloc(BUFFER); fprintf(stdout, "Digite o nome para buscar: \\n--> "); scanf("%s", chave); busca_dados(principal, chave); getch(); } } void deleta(void) { if (!checa_vazio(principal)) principal = deleta_dados(principal); } int main(void) { char escolha; do { system("cls"); fprintf(stdout, "\n ECOLIFE - Cadastro de Pessoas \n\n"); fprintf(stdout, "Escolha uma opcao: \n\n"); fprintf(stdout, "1 - Insere Dados\n"); fprintf(stdout, "2 - Exibe Dados\n"); fprintf(stdout, "3 - Busca Dados\n"); fprintf(stdout, "4 - Deleta Dados\n"); fprintf(stdout, "5 - Sair\n\n"); scanf("%c", &escolha); switch(escolha) { case '1': insere(); break; case '2': exibe(); break; case '3': busca(); break; case '4': deleta(); break; case '5': exit(0); break; default: fprintf(stderr,"Digite uma opcao valida!\\n"); sleep(1); break; } } while (escolha > 0); return 0; }
  2. Olá, sou aluno de Automação Industrial, onde na grade do meu curso possuo a matéria de programação, onde estou tendo atualmente o conteúdo de linguagem C. Dentre alguns exercícios feitos, me sobraram algumas dúvidas, tais como interpretar o problema e como programa-los usando string. Gostaria se possível alguém me ajudasse a intepreta-los para a linguagem de programação, por favor. "...Escreva um programa que substitua todo caractere atual de "s" pelo novo." "Escreva um programa que procure a primeira ocorrência do caracter ch em S" Muito obrigado D:
×
×
  • Criar Novo...