Ir ao conteúdo
  • Cadastre-se

Carregar Dados No C


PimpaoMx

Posts recomendados

amigos, o seguinte: tenho que faze um programa, tipo de estoque, eu fiz ( vou colocar ele aí em baixo), agora, ele pediu pra acresentar nome (do usuario) tel, cel e e-mail..mas, não sei como fazer isso agora? vou ter que fazer mais "carregar dados" ? vou ter que fazer mais de uma variavel (&dados ??)

-> terei que fazer mais de um ''carregar''

ex: ("carregarnome,end,email");

ou

ex: ("carregarnome", "carregarend", "carregaremail" )

??

agradeco desde já!!

//*******************************************************

#include <stdio.h>

#include <conio.h>

#include <string.h>

typedef struct STRMSG{

char mensagem[50];

}strmsg;

typedef struct registro{

char descricao[50];

int qtd;

float preco;

}produtos;

#define false 0

#define true 1

#define tam 100

int pos=0;

produtos tabela[tam];

void pararTela(){

printf("\n digite qualquer tecla para continuar \n");

getch();

}

void carregarDescricao(produtos *dados){

printf("Descricao:..... ");

gets(dados->descricao);

gets(dados->descricao);

}

int localizar(produtos dados){

int x;

for(x=0;x<pos;x++){

if (strcmp(tabela[x].descricao,dados.descricao)==0)

return x;

}

return -1;

}

void mostrarDados( int auxpos){

if (auxpos != -1){

printf("\nDescricao:..... ");

printf(tabela[auxpos].descricao);

printf("\nQuantidade:...... ");

printf("%d",tabela[auxpos].qtd);

printf("\nPreco:......... ");

printf("%f",tabela[auxpos].preco);

}else

printf("\nRegistro não localizado!\n");

pararTela();

}

void carregarDados(produtos *dados){

float x;

printf("Descricao:..... ");

gets(dados->descricao);

gets(dados->descricao);

printf("Quatidde:...... ");

scanf("%d", &dados->qtd);

printf("Preco:......... ");

scanf("%f", &x);

dados->preco=x;

}

void validarDados(strmsg *mensagem, produtos dados){

strcpy(mensagem->mensagem,"");

if ( strlen(dados.descricao)==0 )

strcpy(mensagem->mensagem,"[descricao] - preenchimento obrigatorio!");

if ( dados.qtd<=0 )

strcpy(mensagem->mensagem,"[Quantidade] - tem que ser > 0!");

if ( dados.preco<=0 )

strcpy(mensagem->mensagem,"[preco] - tem que ser > 0!");

}

int confirmar(){

char resp[1];

printf("\ndigite <S> para confirmar a operacao.\n");

gets(resp);

gets(resp);

if (strcmp(resp,"s")==0 || strcmp(resp,"S")==0){

printf("\noperacao realizada com sucesso!\n");

pararTela();

return true;

}

printf("\n operacao cancelada!\n");

pararTela();

return false;

}

void gravarDados(produtos dados, int auxpos){

if (true == confirmar()){

if (auxpos < tam){

strcpy(tabela[auxpos].descricao,dados.descricao);

tabela[auxpos].qtd=dados.qtd;

tabela[auxpos].preco=dados.preco;

}else{

printf("\ntabela cheia!\n");

pararTela();

}

}

}

void incluir(){

produtos dados;

strmsg mensagem;

carregarDados(&dados);

validarDados(&mensagem, dados);

if(strlen(mensagem.mensagem)==0){

gravarDados(dados,pos);

pos++;

}

else{

printf(mensagem.mensagem);

pararTela();

}

}

void alterar(){

produtos dados;

int auxpos;

strmsg mensagem;

carregarDescricao(&dados);

auxpos=localizar(dados);

mostrarDados(auxpos);

carregarDados(&dados);

validarDados(&mensagem, dados);

if(strlen(mensagem.mensagem)==0)

gravarDados(dados, auxpos);

else{

printf(mensagem.mensagem);

pararTela();

}

}

void pesquisar(){

produtos dados;

int auxpos;

carregarDescricao(&dados);

auxpos=localizar(dados);

mostrarDados(auxpos);

}

void excluir(){

produtos dados;

int auxpos;

carregarDescricao(&dados);

auxpos=localizar(dados);

mostrarDados(auxpos);

printf("\nproto para excluir registro.\n");

if (confirmar()==true){

pos--;

strcpy(tabela[auxpos].descricao,tabela[pos].descricao);

tabela[auxpos].qtd=tabela[pos].qtd;

tabela[auxpos].preco=tabela[pos].preco;

}

}

void relatorio(){

int x;

printf("DESCRICAO----QTD----PRECO");

for(x=0;x<pos;x++)

printf("\n%s----%d----%f",tabela[x].descricao,tabela[x].qtd,tabela[x].preco);

pararTela();

}

void main(){

int resp=-1;

while(resp!=6){

clrscr();

printf("\n [1] - Incluir ");

printf("\n [2] - Excluir");

printf("\n [3] - Modificar");

printf("\n [4] - Pesquisar");

printf("\n [5] - Relatorio");

printf("\n [6] - Sair\n");

printf("\n digite sua opcao -> ");

scanf("%d",&resp);

if (resp==1) incluir();

if (resp==2) excluir();

if (resp==3) alterar();

if (resp==4) pesquisar();

if (resp==5) relatorio();

}

}

Link para o comentário
Compartilhar em outros sites

Sim, você vai precisar destas tres variaveis, nome - email, telefone!!

tipo o que voce ta fazendo é tipo aqueles programinhas de compras...

O suario entra com seus dados e faz as compras..

tipo faz mais uma estrutura


struct Usuario{
char nome[tam];
int tel;
char[email];
};

dai la no

void main(){
Usuario vetor[tam];
int i=0;
while( suas regras){
if( resp ..)
vetor[i].incluir
if ...

Sacou a ideia é essa usuario vetor comprou tanto ..vetor é uma váriavel para armazenar os dados de todas as estrutura!

Bom eu não entedi o que você queria com esse programa seu, dá proxima vez coloca o enunciado completo!! Que seu professor deu!! Fica mais fácil ajudar....

espero ter ajudado!

Abraços!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...