|
![]() |
||
Help em exercício de "C"
|
||
. Nós temos 754.098 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.
![]() |
|
|
Opções do Tópico |
|
|
#1 (permalink) | |
|
Highlander
Registrado em: Nov 2002
Localização: Anywhere
Mensagens: 10.054
Reputação: 0
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Citação:
Alguem tem um help? |
|
|
|
|
|
|
#2 (permalink) |
|
Membro Senior
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0
![]() |
Usa a função isdigit
Código:
|
|
|
|
|
|
#3 (permalink) |
|
Super Participante
Registrado em: Dec 2001
Mensagens: 937
Reputação: 22
![]() |
As isdigit funciona com caracter.
o melhor nesse caso seira usar a gets(), usar a funcção atoi() para converter para numero, se ela retorna-se erro é porque não é valido, e depois verifica se é maior que zero.
__________________
Linux User:#326216 Intel I7 - 920 - 6G DDR3 Tripple Channel @1600 - Geforce 285 1G. Programador ADVPL(Fazer o que é o que ta pagando as contas no momento...) |
|
|
|
|
|
#4 (permalink) | |
|
Highlander
Registrado em: Nov 2002
Localização: Anywhere
Mensagens: 10.054
Reputação: 0
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Citação:
Vou tentar a segunda dica... |
|
|
|
|
|
|
#5 (permalink) |
|
Super Participante
Registrado em: Dec 2001
Mensagens: 937
Reputação: 22
![]() |
Da uma olhada nisso,:
Código:
__________________
Linux User:#326216 Intel I7 - 920 - 6G DDR3 Tripple Channel @1600 - Geforce 285 1G. Programador ADVPL(Fazer o que é o que ta pagando as contas no momento...) |
|
|
|
|
|
#6 (permalink) | |
|
Membro Senior
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0
![]() |
Citação:
ops: Eu tô acostumado a usar a função isdigit com strings em C++ e nem me toquei. |
|
|
|
|
|
|
#7 (permalink) |
|
Highlander
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
eu faria assim:
Código:
PS: A sintaxe do "scanf" é essa mesma? "%15s" para ler só 15 caracteres? PS2: Eu nunca gostei de usar a família scanf, sempre preferi usar a gets(). Mas recentemente me chamaram a atenção que, ao contrário da scanf, a gets() não tem como vc limitar a quantidade de caracteres digitados, expondo seu programa a risco de buffer overflow. PS3: Ele vai aceitar "12", mas não " 12" nem "12 " (com espaços). A modificação pra passar a aceitar é simples...
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns ![]() |
|
|
|
|
|
#8 (permalink) | |
|
Super Participante
Registrado em: Dec 2001
Mensagens: 937
Reputação: 22
![]() |
Citação:
Editado: Esquece é uma Struing... Não olhei o seu tipo FAlou.
__________________
Linux User:#326216 Intel I7 - 920 - 6G DDR3 Tripple Channel @1600 - Geforce 285 1G. Programador ADVPL(Fazer o que é o que ta pagando as contas no momento...) |
|
|
|
|
|
|
#9 (permalink) |
|
Newbie
Registrado em: Apr 2004
Localização: No mundo
Mensagens: 24
Reputação: 0
![]() |
Cara eu acho que vc pode fazer isso usando o código ASCII
Um exemplo meio porco if(caracter digitado = CodigoAscii) { //execute } É apenas uma sugestão, pois estou iniciando na linguagem agora e estou lendo um tuto que tem essa funçao ASCII |
|
|
|
|
|
#10 (permalink) |
|
Highlander
Registrado em: Nov 2002
Localização: Anywhere
Mensagens: 10.054
Reputação: 0
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Opa, vou dar uma testada nos códigos....
Acho que peguei a ideia da coisa... (espero...) Vamos ver se agora consigo eliminar os bugs e ver se a coisa sai... ps: Como colocar texto indentado no forum? |
|
|
|
|
|
#11 (permalink) |
|
Membro Senior
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0
![]() |
Usa as tags
Código:
|
|
|
|
|
|
#12 (permalink) | |
|
Highlander
Registrado em: May 2002
Localização: Tijuca/RJ
Idade: 9
Mensagens: 87.724
Reputação: 778
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Citação:
por isso que no C tem as funções de tipo de caracter: int isdigit( const char c ) - retorna verdadeiro se o caracter for um algarismo; int isalpha( const char c ) - retorna verdadeiro se for alfabético; int isalnum( const char c ) - retorna verdadeiro se for alfanumérico; int isspace( const char c ) - retorna verdadeiro se for um caracter de separação de palavras (espaço, newline, carriage return, tab, etc); int ispunct( const char c ) - retorna verdadeiro se for um caracter de pontuação ("!", ".", ",", aspas, etc.); e int isprint( const char c ) - retorna verdadeiro se for um caracter "imprimível", ou seja, não seja um código de controle ASCII. Tem outros testes, mas esses são os mais usados. São todos macros, vc inclui eles com a linha #include <types.h>
__________________
Visite Quepolis (link de indicação) | "chmod 777 nunca ajudou ninguém" (c) 2002-2010 JQueiroz/FGdH
CCNP: √ ² CCSI: □ | Conheça o Novo Bebuns ![]() |
|
|
|
|
|
|
#13 (permalink) | |
|
Super Participante
Registrado em: Mar 2003
Localização: São Paulo
Mensagens: 533
Reputação: 19
![]() |
Citação:
Código:
Código:
Código:
__________________
Il mondo degli altri Che non son con me Ma non me ne importa Se sono con te |
|
|
|
|
![]() |
| Opções do Tópico | |
|
|