PDA

Ver Versão Completa : Duvida em Linguagem C



w0lf3r
06/04/2006, 07:35
Boas.

Comecei 'a relativamente pouco tempo a ter aulas de C e estava aqui a tentar fazer 1 programa simples.

O codigo e' o seguinte:


#include <stdio.h>
main()
{
char letra;
printf("Introduza uma letra: ");
scanf("%c",&letra);
printf("A letra correspondente à que inseriu é: %c",letra);

}

O que se passa e' que a seguir a isto, quando corro o programa queria que ele não saisse do output assim que acaba de executar o codigo.
Então ja' tentei com getchar(void); mas ele continua a sair do ecrã de output.

Sera' que alguem me pode ajudar sff?

Fiquem bem:cool:

w0lf3r
06/04/2006, 07:38
Ja' vi que devia ter posto esta duvida na sessão Programação & Banco de dados .

Se algum admin puder mover agradeço e desculpem a falha :(

BLooDHounD
06/04/2006, 11:42
Ja' vi que devia ter posto esta duvida na sessão Programação & Banco de dados .

Se algum admin puder mover agradeço e desculpem a falha :(

Voce pode fazer o seguinte


#include <stdio.h>
#include <windows.h>
main()
{
char letra;
printf("Introduza uma letra: ");
scanf("%c",&letra);
printf("A letra correspondente à que inseriu é: %c",letra);
system("pause");
}

ou intão um jeito nao muito elegante


#include <stdio.h>
main()
{
char letra;
printf("Introduza uma letra: ");
scanf("%c",&letra);
printf("A letra correspondente à que inseriu é: %c",letra);
Sleep(3000);
}

t+

luaninha
06/04/2006, 11:58
#include <stdio.h>
#include <stdlib.h>
main()
{
char letra;
printf("Introduza uma letra: ");
scanf("%c",&letra);
printf("A letra correspondente à que inseriu é: %c",letra);
system("pause");
return 0;
}

soh usar esse codigo que eu postei

Birkoff
06/04/2006, 12:24
Isso n&#227;o &#233; d&#250;vida de programa&#231;&#227;o... vc quer q a janela continue aberta? Isso eh configura&#231;&#227;o do Windows!!

As solu&#231;&#245;es apresentadas: uma amarra teu c&#243;digo ao sistema operacional (o que &#233; ruim... ainda mais pra um programa desse tamanho ;)), a outra segura a janela por X segundos (3 no caso), ou seja, n&#227;o deixa ela aberta. E tb, mant&#233;m o programa executando (dormindo) por aquele tempo.

Se vc quer deixar a janela aberta, simplesmente vai em Menu iniciar/Executar, roda o "cmd" e inicia o programa por ai.. Ou vai nas configura&#231;&#245;es do programa (Pelo explorer, clique direito do mouse no programa gerado, vai em Propriedades, aba Programa, e no final tem a op&#231;&#227;o Fechar ao Sair. Desmarca esta op&#231;&#227;o.

w0lf3r
06/04/2006, 01:16
A minha ideia nao era deixar o output aberto "para sempre". Era so' para conseguir ver o resultado do output ate' clicar numa tecla.

Vou experimentar as 2 op&#231;&#245;es, obrigado pelas respostas aos 2 :)

Morte137
06/04/2006, 01:47
Cara, pelo que eu já aprendi em C, num é necessario o & de endereço no scanf, já que no caso seria um char, e não um int. A, em vez de usar scanf no caso de strings, use o fgets, exemplo:


fgets(buffer, 16, stdin);

Explicando: buffer será a variável de armazenamento, 16 seria a quantidade de caracteres, stdin, seria um "arquivo", que na realidade é algo imaginário que seria para pegar do teclado, em vez de um arquivo em si.
Num use essa função como variaveis tipo int. uando quiser pegar numeros use assim:


scanf("%d", &num);

Ai ele pegaria o numero e encaixaria no endereço da variavel num.