adicionar um valor com espaço em uam string...

1. adicionar um valor com espaço em uam string...

alcides ferreira de melo filho
alcidesjr

(usa Outra)

Enviado em 11/09/2007 - 10:32h

Bom dia Galera...
estou com um trabalho de faculdade e não estou conseguindo adicionar um nome completo de uam pessoa em uma varial vinculada a um estrutura...

segue meu código inteiro(ainda no início para me ajudarem.....
agradeço....

#include<iostream>
#include<stdio.h>

using namespace::std;

typedef struct
{
char status;
char nu_conta[8];
char name_tit[80];
char endereco[100];
char date_cnt[10];
char type_cnt[9];
float sald_cnt;
float lim_chq;
char venc_cnt[10];
char tele_num[15];
char email_tit[50];





}cen_tab;

int num_reg=0;
cen_tab reg_bank[100];

void abr_cnt();
void fch_cnt();
void cst_cnt();
void lst_cnt();
void alt_cnt();
void exit_mn();




int main()
{
int menubnk;

do{
cout<<"******Menu_Bank**********\n";
cout<<"**** 1 - Abrir conta ****\n";
cout<<"**** 2 - Fechar conta ***\n";
cout<<"**** 3 - Consultar conta*\n";
cout<<"**** 4 - Listar contas **\n";
cout<<"**** 5 - Alterar conta **\n";
cout<<"**** 6 - Sair ***********\n";
cout<<"*************************\n";
cin>>menubnk;

switch(menubnk)
{
case 1:
abr_cnt();

break;

case 2:

fch_cnt();
break;

case 3:

cst_cnt();
break;

case 4:

lst_cnt();
break;

case 5:

alt_cnt();
break;

case 6:

exit_mn();
break;

}


}while(menubnk!=6);




}
//TODOS OS VOID'S///////////////////////////////////////////////////////////////
//void para o case 1, abrir conta///////////////////////////////////////////////
void abr_cnt()
{
char tipo_cnt;
int tipoi;


reg_bank[num_reg].status=1;
cout<<"Digite o nmero da nova conta a ser inserida\n";
cin>>reg_bank[num_reg].nu_conta;
cout<<"Digite o nome do titular da conta:\n";
scanf("%s",reg_bank[num_reg].name_tit);

cout<<"Digite o endereo do titular:\n";
cin>>reg_bank[num_reg].endereco;
cout<<"Digite data de abertura da conta:\n";
cin>>reg_bank[num_reg].date_cnt;

do{
cout<<"Digite (e) para conta especial e (c) para conta comum.:\n";
cin>>tipo_cnt;
if(tipo_cnt == 'e')
{
strcpy(reg_bank[num_reg].type_cnt, "Especial");
}
if(tipo_cnt == 'c')
{
strcpy(reg_bank[num_reg].type_cnt, "Comum");
}
}while(tipo_cnt != 'c' || tipo_cnt != 'e' );

cout<<"Digital o saldo atual da conta.";
cin>>reg_bank[num_reg].sald_cnt;
cout<<"Digite o limite do cheque especial.";
cin>>reg_bank[num_reg].lim_chq;
cout<<"Digite o vencimento do contrato.";
cin>>reg_bank[num_reg].venc_cnt;
cout<<"Digite o telefone do titular da conta.";
cin>>reg_bank[num_reg].tele_num;
cout<<"Digite o e-mail do titular da conta.";
cin>>reg_bank[num_reg].email_tit;
num_reg++;

Valeu galera C-plus-plus!!!







}


  


2. Re: adicionar um valor com espaço em uam string...

Andi
upc0d3

(usa Gentoo)

Enviado em 11/09/2007 - 11:37h

primeiro coisa, define em que linguagem que tu vai escrever o programa.

tu colocou assim:
#include<iostream>
#include<stdio.h>

tu sabe o que são essas bibliotecas?
pelo que vi no codigo tu usei só a biblioteca <iostream>, entaum essa <stdio.h> tira fora ela.

segundo:
strings C e strings C++ tem diferença, claro que se tu souber como usa-lás pode usar as duas.

precisa adicionar no essas duas bibliotecas:

#include<string>//para strings C++
#include<cstring>//para strings C

terceiro:
char nome[10];
printf("Digite o nome: ");
gets(nome);

ao invés de usar scanf() para pegar a string deve usar funções de string....

acho que isso e uma googlada vai ti ajuda melhor....

ateh++ espero ter ajudado!


3. Com fgets

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 11/09/2007 - 12:06h


char str[1000];

fgets (str, 1000, stdin);

Lendo do "arquivo" stdin e não deixando passar de 1000.

Efeito indesejável do fgets: ele lê e armazena o '\n'


4. Re: adicionar um valor com espaço em uam string...

Andi
upc0d3

(usa Gentoo)

Enviado em 11/09/2007 - 14:31h

Veja bem elgio, eu naum esqueci que a função gets é um função "perigosa", exemplo:
char nome[3];
printf("Digite o nome: ");
gets(nome);

entrada: gaucho loco

eu sei que isso é um erro.

mas vamo pensa um poco neh:
o cara tah fazendo um trabalho para a faculdade, o minimo que ele teria que fazer é ler sobre a função e ai ele descobriria que a função naum eh "confiavel".

e outra vai dar tudo de maum beijada? ai o cara nunca vai aprender ai qndo tiver um problema vem aki no VOL e diz tenho que fazer isso como é que faz?

acho que o forum serve para ajudar e naum para "dar" tudo de maum beijada, ao meu ver ninguem que naum queira estudar e aprender frequenta foruns, e os que frequentaum geralmente saum akeles que postam coisas do tipo:

preciso fazer um programa para somar 2 numeros mas naum sei como se faz alguem poderia fazer para mim e me enviar por email?

ou ainda?
como eu faço para invadir o msn do fulano..(essa eh classica).

seh lah eh a minha opiniaum....
ateh++++

PS: eu naum toh brigando ou ti xingando que nem outros disseraum que eu fiz.... soh estou dando a minha opiniaum...


5. DOIS TOPICOS IGUAIS

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 11/09/2007 - 14:46h

Ah e tá SUPER CONFUSO isto.

Tem DOIS tópicos com o mesmo nome, ai tem respostas minha em um, continuação no outro... Bah!!

O outro tópico é:
http://www.vivaolinux.com.br/comunidades/verTopico.php?codigo=13&codtopico=7407



6. Re: adicionar um valor com espaço em uam string...

Andi
upc0d3

(usa Gentoo)

Enviado em 11/09/2007 - 17:02h

Oi Elgio,
eu não sou professor, aprendi C sozinho, então então tenho um argumento um pouco diferente veja:

se tu que é professor não fala essas coisas para teus alunos, eles só vaum saber procurando(e são poucos realmente interressados, tu sabe bem não é?),

aí o teu "Manual do Bom Programador", na minha opinião iria ficar incompleto, porque veja bem apesar de eu são precisar usar eu acho que deveria pelo menos saber que existe, tanto a função gets() como o goto, porque a vida não é perfeita as vezes nós precisamos realmente usar talvez por não há outra solução.

veja outro exemplo, cansei de me deparrar com ANTAS de alto nível, pessoas que programam em um JAVA da vida, e não conhecem assembly, na minha opinião assembly deveria ser uma materia fundamental, porque ele te ensina como a máquina funciona, não sei talvez por ter aprendido sozinho penso assim, que primeiro deveria se começar por baixo, entendo como o computador funciona e depois partir por um nível mais alto.

falou ai meo...
ateh++






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts