Valor Vazio [RESOLVIDO]

1. Valor Vazio [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 09/12/2010 - 19:58h

Ola
Eu gostaria de saber, como faço pra comparar uma string vazia.
por exemplo.
Se o programa pedir um cadastro e eu apenas pressionar <ENTER>, aparecer a mensagem, Voce nao digitou nada.
Alguem sabe?
Em linguagem C


  


2. MELHOR RESPOSTA

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 14/12/2010 - 09:25h

#include<stdio.h>
#include<string.h>

main() {

char str[256];
VOLTA1:
printf("\nInforme valor: ");
gets(str);

if((strlen(str)==0) || (strcmp(str,"0")==0)) {
goto VOLTA1;
}
puts(str);
}


3. Re: Valor Vazio [RESOLVIDO]

Mauricio Souza Klein
Hebang

(usa Arch Linux)

Enviado em 09/12/2010 - 20:01h

Tente isso:

char* linha;
printf( "Digite o valor:" );
scanf( "%s", &linha );

if( strcmp( linha, "" ) == 0 )
printf( "Linha vazia!" );


4. Nada

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 09/12/2010 - 20:07h

Ele passa uma linha pra baixo so, mas nao aparece nenhuma mensagem


5. Re: Valor Vazio [RESOLVIDO]

Ezequias Rocha
Ezequias Rocha

(usa Ubuntu)

Enviado em 10/12/2010 - 08:08h

Nestes casos, pode-se apelar para flags, exemplo:


char Cadastro_Ok_Flag = 0;


while(!Cadastro_Ok_Flag)
{

if(/****** Recebimento de Cadastro ok *********/)
{
Cadastro_Ok_Flag = 1;
}
else
/******** Mensagem de erro *******/

}//while(!Cadastro_Ok_Flag)

Enfim, o laço é controlado por uma variável que é inicializada no start-up do programa e, a cada ciclo de inserção de cadastro é verificada e o ciclo se repete até que seja verificado que o cadastro foi inserido.

Outrossim, nada impede que se saia deste laço (com um break, por exemplo) e se verifique em qualquer outro ponto do programa se o cadastro foi inserido pelo usuário através do flag. Os flag são muito úteis e largamente utilizados.

Embraces!




6. assim

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 10/12/2010 - 17:53h

A sugestao do Sam L. deu certinho, rodou do jeito que eu queria, mas....
é asssim

se na variavel que eu pedi pra ler o usuario so digitiou <ENTER>
aparecer a mensagem vazio
ou se na variavel que o usuario digitou, estiver igual a um registro ja cadastrado
ele diz, valor ja existe.
se ele digitar o numero zero (0) ou teclar <ESC>(mas eu nao sei ainda como é pela tecla)
o programa pára de rodar
mas a ideia do Sam L. é boa.. gostei



7. Re: Valor Vazio [RESOLVIDO]

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 10/12/2010 - 18:23h

#include<stdio.h>
#include<string.h>

main() {

char str[256];
printf("\nInforme valor: ");
gets(str);

if((strlen(str)==0) || (strcmp(str,"0")==0))
printf("Vazio\n");
}



8. Issso!!!

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 13/12/2010 - 18:44h

Muito bem, foxbit3r!
Essa é a ideia, mas eu gostaria que quando avisasse que está vazio ele voltasse pra mesma linha e so saisse quando ele tivesse digitado algo ou nao fosse igual, ai sim ele passaria para a proxima linha.
Ok?
Aqui é um exemplo do processo que eu estou tentando implementar

do
{
passou = 0;
system ("cls");

//INTERFACE
gotoxy (15,3);
printf ("Cadatro %d\n",c);
gotoxy (2,5);
printf ("Nome do Projeto: ");
gotoxy (2,6);
printf ("Tipo de Projeto: ");
gotoxy (2,7);
printf ("Numero de cenas: ");
gotoxy (2,8);
printf ("Responsavel: ");

//gpa[c].nome;
// ENTRADA DE DADOS
gotoxy (20,5);
gets(str);
if((strlen(str)==0) || (strcmp(str,"0")==0))
{
passou = 1;
gotoxy (20,5);
printf("Vazio");
Sleep (1500);
}


}
while (passou == 0);


9. ok

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 14/12/2010 - 13:35h

Beleza, "foxbit3r"
Entao vou tentar sua ideia..
Parece bem mais simples
Se der certo eu digo
Vlw pela ajuda


10. beleza

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 14/12/2010 - 16:54h

Deu certo
Agora eu queria que fizesse o seguinte

se ele nao digitou nada
ja deu certo
se ele digitou algo
buscar dentro do vetor
se existir dentro do vetor
mostrar que ja existe

beleza?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts