Buscar

Crie uma codificação de sistema de cadastro em linguagem C modo console para uma lanchonete

💡 3 Respostas

User badge image

R. Masori

1

1
Dislike0
User badge image

Ed Verified user icon

Claro, aqui está um exemplo de código em C para um sistema de cadastro de lanchonete em modo console: ``` #include #include #include struct lanche { char nome[50]; float preco; }; struct cliente { char nome[50]; char endereco[100]; int telefone; struct lanche pedido; }; int main() { struct cliente c; printf("Cadastro de cliente\n"); printf("Nome: "); fgets(c.nome, 50, stdin); printf("Endereco: "); fgets(c.endereco, 100, stdin); printf("Telefone: "); scanf("%d", &c.telefone); printf("Pedido\n"); printf("Nome do lanche: "); fgets(c.pedido.nome, 50, stdin); printf("Preco: "); scanf("%f", &c.pedido.preco); printf("\nDados do cliente\n"); printf("Nome: %s", c.nome); printf("Endereco: %s", c.endereco); printf("Telefone: %d\n", c.telefone); printf("\nPedido\n"); printf("Nome do lanche: %s", c.pedido.nome); printf("Preco: %.2f\n", c.pedido.preco); return 0; } ``` Este código permite que o usuário cadastre um cliente e seu pedido em uma lanchonete. Ele usa duas estruturas, uma para o lanche e outra para o cliente, e usa a função `fgets` para ler strings com espaços em branco. O código também formata a saída para que os dados sejam exibidos de forma clara e organizada.
0
Dislike0
User badge image

João Vitor S2

Algo assim:


#include

#include

#include


#define MAX_CLIENTES 100


struct Cliente {

char nome[50];

int idade;

char endereco[100];

};


struct Cliente clientes[MAX_CLIENTES];

int totalClientes = 0;


void cadastrarCliente() {

if (totalClientes >= MAX_CLIENTES) {

printf("Limite de clientes atingido!\n");

return;

}


struct Cliente novoCliente;


printf("----- Cadastro de Cliente -----\n");

printf("Nome: ");

scanf("%s", novoCliente.nome);


printf("Idade: ");

scanf("%d", &novoCliente.idade);


printf("Endereco: ");

scanf(" %[^\n]s", novoCliente.endereco);


clientes[totalClientes] = novoCliente;

totalClientes++;


printf("Cliente cadastrado com sucesso!\n");

}


void exibirClientes() {

printf("----- Lista de Clientes -----\n");


for (int i = 0; i < totalClientes; i++) {

printf("Cliente %d:\n", i + 1);

printf("Nome: %s\n", clientes[i].nome);

printf("Idade: %d\n", clientes[i].idade);

printf("Endereco: %s\n", clientes[i].endereco);

printf("---------------------------\n");

}

}


void editarCliente() {

int numeroCliente;

printf("Digite o número do cliente que deseja editar: ");

scanf("%d", &numeroCliente);


if (numeroCliente <= 0 || numeroCliente > totalClientes) {

printf("Cliente não encontrado!\n");

return;

}


struct Cliente *cliente = &clientes[numeroCliente - 1];


printf("----- Editar Cliente -----\n");

printf("Nome [%s]: ", cliente->nome);

scanf(" %[^\n]s", cliente->nome);


printf("Idade [%d]: ", cliente->idade);

scanf("%d", &cliente->idade);


printf("Endereco [%s]: ", cliente->endereco);

scanf(" %[^\n]s", cliente->endereco);


printf("Cliente editado com sucesso!\n");

}


void excluirCliente() {

int numeroCliente;

printf("Digite o número do cliente que deseja excluir: ");

scanf("%d", &numeroCliente);


if (numeroCliente <= 0 || numeroCliente > totalClientes) {

printf("Cliente não encontrado!\n");

return;

}


for (int i = numeroCliente - 1; i < totalClientes - 1; i++) {

clientes[i] = clientes[i + 1];

}


totalClientes--;


printf("Cliente excluído com sucesso!\n");

}


void salvarClientes() {

FILE *arquivo = fopen("clientes.txt", "w");


if (arquivo == NULL) {

printf("Erro ao abrir o arquivo de dados!\n");

return;

}


for (int i = 0; i < totalClientes; i++) {

fprintf(arquivo, "%s;%d;%s\n", clientes[i].nome, clientes[i].idade, clientes[i].endereco);

}


fclose(arquivo);


printf("Dados salvos com sucesso!\n");

}


void carregarClientes() {

FILE *arquivo = fopen("clientes.txt", "r");


if (arquivo == NULL) {

printf("Arquivo de dados não encontrado!\n");

return;

}


totalClientes = 0;

char linha[200];


while (fgets(linha, sizeof(linha), arquivo)) {

char *nome = strtok(linha, ";");

int idade = atoi(strtok(NULL, ";"));

char *endereco = strtok(NULL, "\n");


strcpy(clientes[totalClientes].nome, nome);

clientes[totalClientes].idade = idade;

strcpy(clientes[totalClientes].endereco, endereco);


totalClientes++;

}


fclose(arquivo);


printf("Dados carregados com sucesso!\n");

}


void exibirMenu() {

printf("----- Sistema de Cadastro de Clientes -----\n");

printf("1. Cadastrar Cliente\n");

printf("2. Exibir Clientes Cadastrados\n");

printf("3. Editar Cliente\n");

printf("4. Excluir Cliente\n");

printf("5. Salvar Dados\n");

printf("6. Carregar Dados\n");

printf("7. Sair\n");

printf("Opção: ");

}


int main() {

int opcao;


do {

exibirMenu();

scanf("%d", &opcao);


switch (opcao) {

case 1:

cadastrarCliente();

break;

case 2:

exibirClientes();

break;

case 3:

editarCliente();

break;

case 4:

excluirCliente();

break;

case 5:

salvarClientes();

break;

case 6:

carregarClientes();

break;

case 7:

printf("Encerrando o programa...\n");

break;

default:

printf("Opção inválida!\n");

break;

}


printf("\n");

} while (opcao != 7);


return 0;

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais

Outros materiais