Ajuda em c++

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Ajuda em c++

Mensagempor JTR » Terça Fev 06, 2007 11:34

Boas

Eu tnho k fazer um prjecto de programaçao pa faculdade e tou precisava de saber uma cena...
Na manipulaçao de ficheiros s usar a funçao get(ch) leio apensa um caracter... s usar a função getline() le.me uma linha toda ate encontrar o simbolo de new line... mas e s eu kiser ler so uma palavra... ha alguma função pa isso??? ou seja ler so ate encontrar o caracter space....

fikem bem
Asus A8N SLI deluxe
Atlhon A64 3500+ skt 939
Patriot 2*512 dual low latence
XFX Geforce 6600GT cooled by VF700 ALCU
Levicom x-alein 500W
Super-Flower SF-561T2
JTR
Membro de Prata
Membro de Prata
 
Mensagens: 230
Registado: Sábado Jan 24, 2004 20:01
Localização: Oeiras

Mensagempor capricorn » Terça Fev 06, 2007 11:57

penso que não existe, mas é fácil de fazer: ler caracteres até aparecer um (ou mais) espaço(s)
capricorn
Membro de Prata
Membro de Prata
 
Mensagens: 383
Registado: Sexta Ago 20, 2004 13:03
Localização: Porto

Mensagempor LuisFilipe » Terça Fev 06, 2007 14:01

bem me parecia

http://www.cppreference.com/cppio/get.html
#include <fstream>
int get();
istream& get( char& ch );
istream& get( char* buffer, streamsize num );
istream& get( char* buffer, streamsize num, char delim );
istream& get( streambuf& buffer );
istream& get( streambuf& buffer, char delim );

como podes constatar a ultima entrada da função get tem um caractere que delimita o que é retornado.

Código: Seleccionar todos
get(v, " ");


acho que é isto

Já agora, que projecto que curso e que faculdade ?
É que isto é muito básico, como é que vais fazer o resto ?
LuisFilipe
Membro Diamante
Membro Diamante
 
Mensagens: 1270
Registado: Domingo Set 04, 2005 22:12

Mensagempor zoltrix » Terça Fev 06, 2007 14:29

Porque não utizas o fscanf do C??
É perfeitamente válido em C++ e lê apenas uma string até encontrar um enter, um tab ou um espaço de cada vez que for invocado.
LG E300
zoltrix
Membro de Prata
Membro de Prata
 
Mensagens: 191
Registado: Segunda Abr 11, 2005 8:53
Localização: 127.0.0.1

Mensagempor JTR » Terça Fev 06, 2007 23:46

Boas

tou no tecnico em eng mecanica... o projecto consiste muito basicamente no software duma caixa multibanco...

obrigado por tudo vou ver s m consigo desenrascar...
fikem bem
Asus A8N SLI deluxe
Atlhon A64 3500+ skt 939
Patriot 2*512 dual low latence
XFX Geforce 6600GT cooled by VF700 ALCU
Levicom x-alein 500W
Super-Flower SF-561T2
JTR
Membro de Prata
Membro de Prata
 
Mensagens: 230
Registado: Sábado Jan 24, 2004 20:01
Localização: Oeiras

Mensagempor JTR » Quarta Fev 07, 2007 20:56

Boas tou com outra duvida... lol é o k da n ir as aulas...
s eu criar uma variavel dentre d um ciclo ou de um if quando o este acaba a variavel e apagada certo? E s eu alterar o valor da variavel dentro dum ciclo/if, kdo o ciclo/if acaba o valor volta ao que estava??

fikem bem
Editado pela última vez por JTR em Quarta Fev 07, 2007 21:34, num total de 1 vez.
Asus A8N SLI deluxe
Atlhon A64 3500+ skt 939
Patriot 2*512 dual low latence
XFX Geforce 6600GT cooled by VF700 ALCU
Levicom x-alein 500W
Super-Flower SF-561T2
JTR
Membro de Prata
Membro de Prata
 
Mensagens: 230
Registado: Sábado Jan 24, 2004 20:01
Localização: Oeiras

Mensagempor LuisFilipe » Quarta Fev 07, 2007 21:34

JTR Escreveu:Boas tou com outra duvida... lol é o k da n ir as aulas...
s eu criar uma variavel dentre d um ciclo ou de um if quando o este acaba a variavel e apagada certo? E s eu alterar o valor da variavel dentro dum kdo o ciclo/if acaba o valor volta ao que estava??

fikem bem
Haannnnn errado.
Isso só acontece com funções um cliclo ou um for não é uma função estanque logo embora o c++ premita criar uma variável em qualquer ponto (do campeonato) ela comporta-se como qualquer outra (que eu saiba).

se podes alterar uma variável dentro de um cilco.
de um while podes certamente visto que é um pseudo ciclo quando comparado com o for, isto é ele não depende de um contador apenas verifica a condição para 'decidir' se quebra ou não.

Um for no c++ acho que também aceita alterações á variável que controla o cliclo.
Mas fácilmente confirmas isso, basta que para tal dentro de um cliclo for vás imprimindo a var de control e somando 1 á mesma.
De qualquer forma um ciclo for em c++ acho que é muito do género dos outros todos. tem é o nome for.

for( int i = 0; i < N; i++ ) {
cout << nums[i] << " ";
}
LuisFilipe
Membro Diamante
Membro Diamante
 
Mensagens: 1270
Registado: Domingo Set 04, 2005 22:12

Mensagempor JTR » Quarta Fev 07, 2007 22:46

ya pois e tens razao mas entao n percebo nda disto...
isto e o ciclo for:
Código: Seleccionar todos
for(;;)
   {   
      cout << apontadorClientes << "\n**";

      correnteInputClientes.seekg(apontadorClientes, ios::beg);
      codigoSecretoClientes = correnteInputClientes.get();

      cout << codigoSecretoClientes << "\n";

      if (codigoSecretoClientes == codigoSecreto) break;

      apontadorClientes = apontadorClientes + 69;
      if (correnteInputClientes.eof())
      {
         cerr << "***** O codigo introduzido nao e valido *****\n";
         cout << "\nIntroduza novamente o seu codigo secreto: ";
         cin >> codigoSecreto;
         apontadorClientes = 0;
      }





isto aki e o ficheiro externo:

1 0010045876321251212 Henriques, Afonso fich1.dat
5 0010045876378896231 Augusto, Julio Cesar fich2.dat
9 0010045876300984953 Silva, Maria da Luz fich3.dat
3 0010045876361934421 Oliveira, Antonio Jose fich4.dat


a variavel apontadorClientes e igual a 0

1 5 9 e 3 e akilo k eu kero ler... ou seja sao as variaveis codigoSecretoClientes.

codigoSecreto e uma variavel k ja foi introduzida.

so puz os cout:
Código: Seleccionar todos
cout << codigoSecretoClientes << "\n";
cout << apontadorClientes << "\n**";


para ver o kk o programa ta a ler....

Se eu puser 2 como codigoSecreto o k m aparece no visor é:
------------------------------
0
**1
69
**5
138
**9
207
**3
279
**
***** O codigo introduzido nao e valido *****
Introduza novamente o seu codigo secreto:

---------------------
Ate aki tudo bem mas s eu voltar a escrever dois aparece-me mais isto:

------------------
0
**
***** O codigo introduzido nao e valido *****
Introduza novamente o seu codigo secreto:

-----------------
mas deveria aparecer o mesmo k m apareceu da 1º vez k introduzi o 2.
S o apontador ta no 0 deveria ler 1 e nao um espaço ou nda....

alguem m pode ajudar???

fikem bem


[/code]
Asus A8N SLI deluxe
Atlhon A64 3500+ skt 939
Patriot 2*512 dual low latence
XFX Geforce 6600GT cooled by VF700 ALCU
Levicom x-alein 500W
Super-Flower SF-561T2
JTR
Membro de Prata
Membro de Prata
 
Mensagens: 230
Registado: Sábado Jan 24, 2004 20:01
Localização: Oeiras

Mensagempor LuisFilipe » Quinta Fev 08, 2007 2:28

Posso tentar fazer um pouco de adivinho mas acho que não só isso tudo está muito confuso como com esse tipo de conhecimentos não vais longe.
E fazeres o projecto através de um forum vai ser difícil.

Primeiro não dizes se quando colocas por exemplo 5 (inicialmente) se ele aceita como correcto.

Acho que tens isso um ouco baralhado de diversas formas.

Primeiro tens a 'rotina' de validação embebida na 'rotina' de leitura e processamento de dados.

Assim. Eu. Faria.

1º Ler o código de acesso
2º validar código de acesso numa função ValidaCodigo o que afasta todo esse nonsense da rotina de leitura de dados.
3º voltar a ler o código de acesso.

Código: Seleccionar todos
  cout << "\nIntroduza o seu codigo secreto: ";
  cin >> codigoSecreto;
  while( !ValidaCodigoAcesso(codigoSecreto) ) {
    cerr << "***** O codigo introduzido nao e valido *****\n";
    cout << "\nIntroduza novamente o seu codigo secreto: ";
    cin >> codigoSecreto;
  }


na função ValidaCodigoAcesso lês o ficheiro e retornas true se o código foi encontrado.

O apontador acho um pouco bizarro 69 +69 ?!?! Cada conjunto de dados de um cliente tem 69 caracteres ? Ou 67 mais CR + LF ?
Bizarro.

Para quê o apontador se podes ter um objecto cliente no qual preenches os dados caso o código seja o correcto.

E já agora que raio está a identificar o cliente através do código ou isto é só meia hitória ou quê ?

Ou será que esses são os parametros que te são dados ?

É por estas e por outras é que eu me sinto a adivinhar ...

E by the way, rudimentar é o meu C++ o teu é assim outra coisa qualquer :lol: 8O :lol: :?
LuisFilipe
Membro Diamante
Membro Diamante
 
Mensagens: 1270
Registado: Domingo Set 04, 2005 22:12


Voltar para Programação

Quem está ligado:

Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante

cron