Ir para conteúdo

Arquivado

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

Sσwyєяº

o0

Recommended Posts

olha eu tentei algo assim:

#include <stdio.h>
#include <ctype.h>
int main()
{
	int num;
	for(;;){
	printf("Digite sua opcao: ");
	scanf("%d", &num);
	if (!(isdigit(num))) break;
	getchar();
	}
	//aki começa seu prog. entaum
	getch();
	return 0;
}
veja c é isso!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

kra.. ta osso.. não é isso ñ ..

 

tipo

 

testei algo assim:

#include <stdio.h>
#include <ctype.h>
int main()
{
	int num;
	for(;;){
	printf("Digite sua opcao: ");
	scanf("%d", &num);
	if (!(isdigit(num))) break;
	getchar();
	}
	printf("\nVoce escolheu a opcao %d.\n\n", num);
	getch();
	return 0;

 

se eu digitar "1" .. blw! .. mas se eu digitar "F" por exe .. ele retorna assim :

 

Voce escolheu a opcao 73.

 

ou seja ... errado...pois não é pra acontecer isso ... ele está retornando o código do caractere... ¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ cara c ele digitar 'F' vai pedir pra digitar denovo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sσwyєяº, acho que o seu problema tá no modo como você tá tratando os códigos aqui fornecidos, na sua lógica, a gente tá te dando soluções para o problema e não o problema totalmente resolvido.

 

Vê se assim dá pra você entender melhor o código que passei:

 

#include <stdio.h>
#include <stdlib.h>
main()
{
	  
   int menu;
   char X;
   do{
		   printf("Digite a opcao:\n");
				   if (scanf("%d",&menu) == 0){
								break;							  
				   }
				   else
						  printf("\nVoce escolheu a opcao %d.\n\n", menu);
		   printf("você DESEJA FAZER MAIS ALGUMA COISA?(S)/(N)?\n\n");
		   scanf("%s",&X);
	 }		
	  while ((X=='S') || (X=='s'));
	  printf("\nVc saiu do do-while\n\n");
   system("pause");
}

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara estranho eu compilei em TurboC e ele qnd digita o F pede para digitar denovo!

vai entender esses compiladores Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que não vai ser tão simples assim não.. vou tentar criar uma função só para avaliar ... ou seja tratarei a entrada como uma string.. e depois verificarei se é ou não numero.

 

essa função eu coloco para ser chamada na função main na hora que o cara digitar a escolha... acho que assim será resolvido.. pois esse if não resolve o que eu qero..

 

e sobre o fato de eu supostamente está querendo o código mastigado..muito pelo contrário.. eu quero é saber como funciona.. se deu pra você perceber eu tento implementar os códigos passados por vcs em meu cºodigo de teste..para só se funcionar eu colocar no projeto.

 

 

se eu quisesse ele pronto postaria o projeto aqui e pediria para alguem ajeitar pra mim..

 

e é o que eu não quero!

 

 

vou escrever a função aqui e quando eu for pra lan eu posto . ( é que eu estou na casa de um amigo..) kkkkkk

 

lasquera! .. já digo.. e caso funcione mesmo eu comento toda o código e posto aqui para quem quiser ! aposto que não é só eu que tem esse tipo de problema!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas comentei que você deve pegar os códigos e tentar montar uma lógica em cima deles e não tentar colocar do mesmo jeito que a gente postou aqui.

 

No caso do meu código você tem que ter uma saída pra quando ele verificar que é uma letra e não apenas apresentar a mensagem de "Entre com um inteiro!", dai você pode tentar um goto, sei lá, vou tentar fazer alguma coisa sem usar funções aqui e se eu conseguir posto pra você!

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui Resolver....

 

int checagem()/*Função Responsável pela Verificação do da entrada*/ 
{
	
	  char entrada[5];/*Variável Responsável por amarzenar as entradas*/
	  int i;/*Variável de controle do laço for*/
	  int entrada_ok = 0;/*variável para testar*/
	 
	while(! entrada_ok ) 
	{
		scanf( "%5s", entrada );/*Le uma string (q na verdade será números) do teclado,com no max 5 dígitos*/
		
		for( i = 0, entrada_ok = 1; entrada[i] != '\0'; i++ )
		
			if( ! isdigit( entrada[i] ) ) 
			{
				entrada_ok = 0;
				break;/*para a execução do laço for*/
			}
		if( ! entrada_ok ) 
		{
			printf ("Por Favor Digite apenas uma Das escolhas do Menu Acima! (Inteiros Entre 1 e 12).\n");/*imprime a msn de erro*/
			continue;
		}
	}
	return atoi(entrada);/*Função que converte um caractere em um inteiro.É retornada para a função main o valor 
	da string convertido em inteiro.*/
}

agora lá no menu coloquei só para a variável receber a função.. ! prontinho.. ^^

 

Apenas comentei que você deve pegar os códigos e tentar montar uma lógica em cima deles e não tentar colocar do mesmo jeito que a gente postou aqui.

o0! ....

 

 

obrigado pela colaboração de vcs ... agora s[ó falta o segundo problema! ...quem solber por favor não deixe de me dizer.. e se eu conseguir algum meio eu tb digo...

 

eu acho que deve existir algum parâmetro para a função system(); mas ñ seu qual..

Compartilhar este post


Link para o post
Compartilhar em outros sites

será q o set naum resolve.. bom nunca tentei, + como serve para setar objetos do windows quem sabe ñ tenha a ver!

bom é uma sugestão neh pq naum faço idéia msm de como fazer isso!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ta falando da 2ª dúvida?

 

se for eu tb não sei se resolve.. já que tem que dimencionar o console...

 

ou deve haver alguma biblioteca pra isso... eu sei que tem uma para mudar a cor do fundo e da fonte..mas não lembro qual é ...

 

¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom para cor tbm prefiro usar o system("color xx");

agora você ta falando dos comandos:

textcolor(COR);

textbackground(COR);

 

?

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei algo q tem a ver veja: http://support.microsoft.com/kb/216167/pt-br

c você vai no DOS e coloca as linhas de comando da certo, agora c você usa elas no C, ele ajusta a tela pro tamanho q você qr soh q rapidamente ele ajusta pro tamanho normal!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu testei usando a função system e funcionou !!!!!!!

 

agora vou testar no programa principal...

 

muito obrigado cara... você é o bixo... !!!!

 

bom agora já está quase tudo pronto.. ^^" .. falta só alguns ajustes.

 

a parte estética agora já foi resolvida! graças ao nosso amigo quitZAUMMM .. valeu cara...

 

 

[off] quitZAUMMM, qual o motivo do teu nick ?? fiquei invocado desde o dia que eu vi [/off]

 

kkkkkkkkk.. valeu povo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara é o nick q eu jogo cs!

eu jogava como quit, ai depois adaptei o ZAUMMM pra naum ficar igual caso outro quit jogasse tbm!

ai fico quitZAUMMM Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara é o nick q eu jogo cs!

eu jogava como quit, ai depois adaptei o ZAUMMM pra naum ficar igual caso outro quit jogasse tbm!

ai fico quitZAUMMM biggrin.gif

 

doidera! ...CS até dá uma dor!!

 

kkkkkkkkkkkk

 

 

outra coisa... cara..eu testei no programa principal e o tamanho está mudando normal ... mas a cor e a fonte não...

 

que saco.. sempre aconteçe algo.. vejam o fragmento do código...

 

 

main()
{
	  int Aux;
	  char X;
	 do/*Responssável por fazer a Repetição do Menu.*/
	  {
			system("cls");/*Limpa a Tela*/
			system("mode con lines=60");/*Altera as Linhas Da Kill Black Window*/ 
			system("mode con cols=145");/*Altera as Colunas Da Kill Black Window*/ 
			system("color 77");/*Era pra alterar a cor Da Kill Black Window*/ 
			puts("\t+======================================+");
			puts("\t			 >>MENU PRINCIPAL<<		   |");
			puts("\t+======================================+\n\t");
				  system("date/t");
				   
				 .
				 .
				 .

no pc que eu estou fica direitinho ... mas quando eu levo o exe para outro pc ele fica com uma fonte diferente e com a maldita cor preta!

 

¬¬

 

tentei estudar esse mecanismo aqui ...

 

#include <stdio.h>

#include <windows.h>

using namespace std;

int main(void)

{

HANDLE hConsole;

 

int k;

 

hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

for(k = 0; k < 254; k+=1)

{

SetConsoleTextAttribute(hConsole, k);

system("cls");

puts("TEXTO MUDANDO DE COR");

SetConsoleTextAttribute(hConsole, k+1);

puts("\n\nNA MESMA TELA MAS EM COR DIFERENTE");

SetConsoleTextAttribute(hConsole, k+2);

puts("\n\nSOH MAIS UMA PRA CONFIRMA");

_sleep(100);

 

}

SetConsoleTextAttribute(hConsole, 7);

system("pause");

return 0;

 

}

ou aqui ...

 

#include <iostream>
#include <windows.h>
using namespace std;
int main(void)
{
	  HANDLE hConsole;

	  int k;

	  hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	  for(k = 0; k < 254; k+=1)
	  {
		  SetConsoleTextAttribute(hConsole, k);
		  system("cls");
		  cout << "TEXTO MUDANDO DE COR";
		 SetConsoleTextAttribute(hConsole, k+1);
		  cout << "\n\nNA MESMA TELA MAS EM COR DIFERENTE";
		 SetConsoleTextAttribute(hConsole, k+2);
		  cout << "\n\nSOH MAIS UMA PRA CONFIRMA";
		  _sleep(100);

	  }
	  SetConsoleTextAttribute(hConsole, 7);
	  system("pause");
	  return 0;
	  
}

mas não compilou .. no Dev .. e eu tb não entendi isso ai ... ¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

testei o system("color 70"); e aqui mudou...

 

Quando você seta 77 você tá colocando o fundo branco e a fonte branco, respectivamente, talvez ele não aceite isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

testei o system("color 70"); e aqui mudou...

 

Quando você seta 77 você tá colocando o fundo branco e a fonte branco, respectivamente, talvez ele não aceite isso.

cara.. se você percebeu .. eu disse que aqui tb funcionou ... mas apenas no pc onde ue compilo... quando eue levo o .exe para outro pc ele não fica como deveria ser ...

 

e sobre o 77 eu tb sei disso.. a cor que eu qero usar a 17 .

 

ele muda a cor ,... mas só no pc no qual eu compilo .. oputra coisa... a forte que eu uso é a lucida console.. mas quando eu compilo (em outro pc) a fonte muda para a padrão do console...

 

cara esteja usando o DevC++ tente isso: http://forum.imasters.com.br/index.php?showtopic=265771

kara.. ewu tentei .. mas isso é para C++ ....(como o nome do tópico diz..)

 

tentei colocar as funções no programa e chamar eles no mai() ... mas eu C não rolou ...

 

¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.