Aqui, vamos criar um aplicativo em C que exibe algumas frases e invoca funções.
- Leia esse conteúdo Offline: Apostila C Progressivo
Clique aqui e saiba como obter seu certificado de programação C! Entre já no Mercado de Trabalho!
Exemplo de código em C
Vamos exibir um menu, com algumas saudações, para o usuário escolher.
Essa opção ficará armazenada na variável inteira 'continuar', que também será usada como condição para que o laço DO WHILE ocorra.
Assim, caso o usuário digite 0, ele vai sair do programa.
Caso ele digite qualquer outro número, a opção é tratada pelo teste condicional SWITCH.
Bem, se você estudou todas as aulas de nosso curso, sobre testes e laços, você já é um mestre.
Então não precisamos entrar muito em detalhes, apenas olhando para o código você já nota o que está acontece.
Nosso foco aqui é nas funções.
Note o SWITCH e seus cases, como ficaram menor, mais organizados e bonitos.
#include<stdio.h> void oi() { printf("Oi!\n"); } void tudo_bem() { printf("Tudo otimo, e com voce?\n"); } void familia() { printf("Meus bits...digo, minha familia vai bem!\n"); } void sair() { printf("Ja vai??? Nao! Nao! Espere! Naa...\n"); } int main() { int continuar=1; do { printf("\n\tChat Foreve Alone\n\n"); printf("1. Oi\n"); printf("2. Tudo bem\n"); printf("3. Como vai a familia\n"); printf("0. Sair\n"); scanf("%d", &continuar); system("cls || clear"); switch(continuar) { case 1: oi(); break; case 2: tudo_bem(); break; case 3: familia(); break; case 0: sair(); break; default: printf("Digite uma opcao valida\n"); } } while(continuar); }
Bacana, essas funções, não?
31 comentários:
Otima explicação, obrigado.
Muito legal!!! Parabéns pelo Ótimo site!!! e Obrigado por disponibilizar esse ótimo curso!!! Obrigado!!!
Excelente site! explicação muito clara e objetiva. Parabéns pelo trabalho e obrigado por disponibilizar para nós.
Murilo Almeida
Desculpe, mas porque você teve que declarar que a variável continuar fosse igual a 1?
Sou meio leigo no assunto, mas por que voce declarou a variável continuar=1 ?
Continuar está ali para criar um loop, caso vc queira continuar no programa, ele pede pra vc digitar um valor que será o continuar, se for igual a 1, ele continua.
Muito bom o exemplo!
Ali no if continua=1
não seria
if continua==1?
/
Olá Anônimo,
Na verdade ali não é um if e sim um int.
Eu adaptei o código da seguinte maneira:
[b]#include
#include
int main() {
int continuar;
printf("\n\tQual pessoa voce e, digite o numero\n\n");
printf("1. Fabio Pavan\n");
printf("2. Vinicius Melegari\n");
printf("3. Luiz Godinho\n");
printf("4. Alessandro Pavan\n");
scanf("%d", &continuar);
if (continuar == 1) {
printf("\nOla, voce e o N.E.R.D que me criou.\n");
}
if (continuar == 2) {
printf("\nERRO: TROLL DETECADO! SOBRECARGA NO SISTEMA!\n");
}
if (continuar == 3) {
printf("\nTa mais baixo que o Vinicius.\n");
}
if (continuar == 4) {
printf("\nUm retardado jogador de League of Legends (lol)\n");
}
system("pause");
}[b]
Que legal, está sendo muito útil para mim. Sucesso aí pessoal! Obrigadoooo
Quando eu uso qualquer opção o programa para de funcionar.O que pode ser isso ?
Se tiver algum tópico no fórum, por favor, me passe o link.
O meu tambem programa esta dando erro na hora de compilar, qual o problema no codigo?
#include
#include
void Oi()
{
printf("Iaew fera\n");
}
void bem()
{
printf("Tudo bem, e com vc\n");
}
void sair()
{
printf("Entao ate mais tarde\n");
}
int main()
{
int continuar=1;
printf("\n\tChat\n");
printf("1- Ola\n");
printf("2- Tudo bem\n");
printf("3- Tenho que sair\n");
scanf("%d", continuar);
system("cls || clear");
switch(continuar)
{
case 1:
Oi();
break;
case 2:
bem();
break;
case 3:
sair();
break;
default:
printf("Codigo invalido.\n");
break;
}
}
Gostaria de saber como criar um menu com matriz. (corretamente)
eu tentei criar e deu certo porem nao consigo acessa lo.
ao digitar a opção o programa fecha
isso começou a acontecer dps que adicionei a matriz na função.
existe alguma outra forma de fazer isso?
obrigado
ex: void adm(float x[][3])
{
MENU usando a matriz....
}
int main ()
{
int op;
do{
printf("1- modo adm");
printf("2-sair");
scanf("%d",&op);
switch(op)
{
case 1:
adm(x);
break;
case2:
printf("encerrando");
break
}while(op!=2);
getch();
}
Por que ao digitar '0' o programa fecha?
O #include não está completo
experimente colocar
#include
#include
e recompilar o programa.
Faltou e '&' antes da variável continuar, no seu programa.
Vinicius Gaio, você esqueceu quem na função "scanf("%d",continuar)" você tem que colocar o sinal "&" antes da variavel "continuar".
o laço de repetição...
Vinicius Gaio, sei que é um pouco tarde pra resposta, mas eu to fazendo o curso agora, kkk, mas enfim. O erro no seu código é porque está faltando o "&" no scanf(). E também, apesar de não ser um erro, você poderia ter colocado tudo isso num laço while, pra o menu ser repetido até o usuário querer sair.
se o programa estiver parando, experimenta colocar a valor na variável de entrada que seja diferente da opção de saída, isso na hora de indicar
ele colocou o valor da variável de entrada para receber 1, para não acontecer dela ficar igual a opção de saída do case
Bela explicação.
Quando eu uso system("clear"), o programa roda, mas aparece a mensagem: TERM environment variable not set. O que seria?? 'cls' também não funciona. (To usando XCode OSX.)
Meio tarde mas , se alguém ainda precisar da resposta, tem que incluir a biblioteca #include dai o system ("cls||clear") funcionará.
boas pessoal, tenho aqui um codigo e preciso de fazer os menus, para a media, maior, menor, ordenar e depois sair, podem me ajudar, tou começando a programar e nao estou a perceber esta parte
#include
float media (int *vetor, int n) {
int i, soma=0;
for (i=0; imax)
max=vetor[i];
return max;
}
int menor (int *vetor, int n) {
int i, min=vetor[0];
for (i=1; ivetor[j]){
temp= vetor [i];
vetor[i]=vetor[j];
vetor[j]=temp;
}
}
int main (){
int i, num []={3,6,1,4,2};
printf ("media:%.1f\n", media(num, 5));
printf ("maior:%i\n", maior (num, 5));
printf ("menor:%i\n", menor (num, 5));
ordena (num, 5);
printf ("vetor ordenado:");
for (i=0; i<5; i++)
printf ("%i\t", num[i]);
return 0;
}
desde ja obrigado!!!
fiz o meu código encima desse :
#include
#include
#include "programa1.cpp"
#include "programa2.cpp"
#include "programa3.cpp"
#include "programa4.cpp"
#include "programa5.cpp"
#include "programa6.cpp"
#include "programa7.cpp"
#include "programa8.cpp"
#include "programa9.cpp"
#include "programa10.cpp"
int sair();
void menu(void){
int MENU=1;
do
{
printf("\n\t\t-| Menu de Programas |-\n\n");
printf("\t1. Programa 1\n");
printf("\t2. Programa 2\n");
printf("\t3. Programa 3\n");
printf("\t4. Programa 4\n");
printf("\t5. Programa 5\n");
printf("\t6. Programa 6\n");
printf("\t7. Programa 7\n");
printf("\t8. Programa 8\n");
printf("\t9. Programa 9\n");
printf("\t10. Programa 10\n");
printf("\t0. Sair\n");
printf("\n\tQual Programa você quer ? \n");
scanf("%d", &MENU);
system("cls || clear");
switch(MENU)
{
case 1:
prog1();system("pause");
break;
case 2:
prog2();system("pause");
break;
case 3:
prog3();system("pause");
break;
case 4:
prog4();system("pause");
break;
case 5:
prog5();system("pause");
break;
case 6:
prog6();system("pause");
break;
case 7:
prog7();system("pause");
break;
case 8:
prog8();system("pause");
break;
case 9:
prog9();system("pause");
break;
case 10:
prog10();system("pause");
break;
case 0:
sair();
break;
default:
printf("Digite uma opcao valida\n");
}
}while(MENU!=0);
}
int sair(){
return 0;
}
Ouve Vinicius Gajo, tu tens de indicar qual é a tua função, por isso é que te está a dar erro. No #include tens de colocar à frente o nome da tua função.
Vinicius Gaio, isto era o que eu te estava a dizer mostrando no teu código.
#include
#include
void Oi()
{
printf("Iaew fera\n");
}
void bem()
{
printf("Tudo bem, e com vc\n");
}
void sair()
{
printf("Entao ate mais tarde\n");
}
int main()
{
int continuar=1;
printf("\n\tChat\n");
printf("1- Ola\n");
printf("2- Tudo bem\n");
printf("3- Tenho que sair\n");
scanf("%d", continuar);
system("cls || clear");
switch(continuar)
{
case 1:
Oi();
break;
case 2:
bem();
break;
case 3:
sair();
break;
default:
printf("Codigo invalido.\n");
break;
}
}
Eu não sei como vou usar o mostrar o menu na nem o usuário.
oi estou começando agora não acerteu fazer o menu de opçao
Postar um comentário