Enviado em 11/12/2019 - 20:36h
Olá a todos, recentemente comecei a estudar structs em C... Então comecei a brincar um pouco com isso, não sou nenhum profissional, apenas um estudando, não tenho intenção em colocar este programa em linha de produção(não sou louco), só estou me divertindo mesmo.#include <stdio.h> #include <stdlib.h> struct dadosCliente { char nome[100], endereco[100], CPF[20], dataNascimento[11]; }; typedef struct dadosCliente Cliente; /*agora o comando struct dadosCliente pode ser chamado apenas de -> Cliente */ void bufferClear() { int ch; while ((ch = fgetc(stdin)) != '\n' && ch != EOF); } int menu(int option) { system("clear"); printf("\tBEM VINDO\n\n"); printf("Digite 1 para inserir um cliente no banco de dados\n"); printf("Digite 2 para mostrar todos os clientes no bando de dados\n"); printf("Digite 0 para sair\n"); printf("\nDigite a opcao desejada: "); scanf("%d", &option); bufferClear(); return option; } void inserirDados(Cliente *dados) { system("clear"); printf("Digite o nome do(a) cliente: "); scanf("%99[^\n]", dados -> nome); //dados->nome é equivalente a: (*dados).nome bufferClear(); printf("Digite a data de nascimento de '%s': ", (*dados).nome); scanf("%10[^\n]", dados -> dataNascimento); bufferClear(); printf("Digite o CPF de '%s': ", (*dados).nome); scanf("%19[^\n]", (*dados).CPF); bufferClear(); printf("Digite o endereco de '%s': ", (*dados).nome); scanf("%99[^\n]", (*dados).endereco); bufferClear(); } void mostrarClientes(Cliente *dados, int tamVet) { system("clear"); printf("----------------------------------------------------------\n"); printf("\tClientes cadastrados\n"); printf("----------------------------------------------------------\n\n"); for (int i = 0; i < tamVet - 1; i++) { printf("----------------------------------------------------------\n"); printf("Nome: %s\nEndereco: %s\nCPF: %s\nData de nascimento: %s\n", dados[i].nome, dados[i].endereco, dados[i].CPF, dados[i].dataNascimento); printf("----------------------------------------------------------\n\n"); } scanf ("%*c"); } void sair () { printf ("Pressione [ENTER] para encerrar o programa..."); scanf ("%*c"); } int main(void) { int tamVet = 1, option; Cliente dados[tamVet]; do { option = menu(option); if (option == 1) { inserirDados(&dados[tamVet-1]); //como vamos usar ponteiros devemos usar o '&' //Usamos tamVet -1 pois essa se refere a uma posicao do vetor //O vetor inicialmente tem tamanho 1 //Ou seja, possui duas posições -> 0 e 1 //Precisamos modificar primeiro a posicao 0 //Por isso passamos a posicao [tamVet - 1] printf("\nCLIENTE '%s' INSERIDO(A) COM SUCESSO!\n", dados[tamVet-1].nome); printf ("Pressione [ENTER] para continuar..."); scanf ("%*c"); system("clear"); tamVet++; //aumentamos o tamanho do vetor para podermos adicionar novos clientes } else if (option == 2) { mostrarClientes(dados, tamVet); } else if (option == 0) { break; } else { printf ("OPCAO INVALIDA!\n"); printf ("Pressione [ENTER] para tentar uma nova opcao..."); scanf ("%*c"); } } while (option != 0); printf ("Saindo do programa....\n"); sair(); return 0; }
int tamVet = 1, option; Cliente dados[tamVet]; do { option = menu(option); if (option == 1) { inserirDados(&dados[tamVet-1]); .... } while(...)
Enviado em 13/12/2019 - 02:22h
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | | | | | | | | | | | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Enviado em 13/12/2019 - 20:28h
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | | | | | | | | | | | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)