Mostrando postagens com marcador Funções. Mostrar todas as postagens
Mostrando postagens com marcador Funções. Mostrar todas as postagens

segunda-feira, 24 de outubro de 2011

Mais um pouco de Funções

/*Escreva uma função que receba como parâmetro 
um valor n inteiro e positivo e que calcule 
a seguinte soma: S := 1 + 1/2 + 1/3 + 1/4 + ... + 1/n. 
A função deverá retornar o valor de S.  */
#include <stdio.h>
#include <stdlib.h>
 
 
int  soma(int n){
float i, s;
s=0;
for (i=1; i<=n; i++){
s= s + 1/i ;
}
printf ("o valor de S e %f",s);
 
}
 
int main()
{
int n;
printf("Entre com o parametro\n");
scanf("%d", &n);
soma(n);
return 0;
}
 




/*Faça um programa que apresente o seguinte “Menu” para o usuário: 
     Escolha uma opção de cálculo para dois números: 
              1) Soma 
              2) Produto 
              3) Quociente 
              4) Sair 
              Opção:__  
O “Menu” acima deve ser apresentado para o usuário enquanto ele não escolher a opção 4 
(sair do programa). O usuário fornecerá 2 números se escolher as opções de cálculo 1, 2 
ou 3. Para cada opção de cálculo deve existir (obrigatoriamente) uma função definida 
(soma, produto e quociente dos dois números fornecidos pelo usuário). O resultado do 
cálculo deve ser escrito na tela.  */
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
 
 
int soma()
{
int a, b;
printf("Entre dois valores \n");
scanf("%d %d", &a,&b);
printf("O resultado da soma de %d + %d = %d",a,b, a+b);            
return 0;
}
 
int produto()
{
int a, b;
printf("Entre dois valores \n");
scanf("%d %d", &a,&b);
printf("O resultado da multiplicacao de %d * %d = %d",a,b, a*b);            
return 0;
}
 
int quociente()
{   
float a,b;
printf("Entre dois valores \n");
scanf("%f %f", &a,&b);
printf("O resultado da multiplicacao de %f / %f = %f",a,b, a/b);            
return 0;
}
 
 
int main(){
int a, b, operador;
float c;
 
printf("Entre com o Operador 1.+(soma) 2.*(Produto) 3./(Quociente) 4. (Sair)");
scanf("%d",&operador);
switch (operador)
{
case 1:
soma();
break;
case 2:
produto();
break;
case 3:
if (b == 0)
printf("Não existe divisão por 0");
else
quociente();
break;
case 4:       
printf("Até mais");
break;
default:
printf("Operador invalido");
break;
}
return 0;
}



/*Agora com o seguinte “Menu”
   Escolha uma opção de cálculo para um número:
   a) Fatorial
   b) Exponencial
   c) Raiz quadrada
   d) Sair
   Opção: __
 Nas opções “b” e “c” pode - se utilizar funções predefinidas do C.  */
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
void sair(){
char confirm[3];
printf("Tem Certeza?");
scanf("%s",confirm);
if (confirm == 'sim')
printf("Tem dsadsadsaCerteza");
else
printf("%s", confirm);
}
 
int main(){
int operador;
 
 
printf("Entre com uma opcao\n1.(Quer Namorar com o Guilherme)\n2.(Quer Passar o resto da vida com o Guilherme)\n3.(Nao Consegue viver mais sem o Guilherme)\n4.(Sair)");
scanf("%d",&operador);
switch (operador)
{
case 1:
int n,a;
printf("Entre o valor do fatorial\n");
scanf("%d", &n);
a = fatorial(n);
printf("O resultado do fatorial de %d e %d\n",n , a);
break;
case 2:
exponencial();
 
break;
case 3:
raiz();
 
break;
case 4:
sair()
break;
default:
printf("Operador invalido");
break;
}
 
return 0;
}

segunda-feira, 10 de outubro de 2011

Exercicios de funções parte II

/*5.  Faça uma função que receba a idade de uma pessoa em anos, meses e dias e retorna essa
idade expressa em dias. */
#include <stdio.h>
#include <stdlib.h>
 
 
int convertedias(int anos, int meses, int dias){
int dias2;
dias2 = (anos * 365) + (meses * 30) + dias;
printf("Sua idade em dias e %d\n", dias2);
}
 
int main()
{
int anos, meses, dias;
printf("Informe a idade em anos, meses e dias\n");
scanf("%d %d %d", &anos, &meses, &dias);
convertedias(anos, meses, dias);
return 0;
}






/*6.  Faça  uma função que  recebe  a  média final  de  um  aluno  por  parâmetro  e  retorna  o  seu
conceito, conforme a tabela a seguir:
Nota     Conceito
De 0 a 49       D
De 50 a 69    C
De 70 a 89    B
De 90 a 100        A
 */
#include <stdio.h>
#include <stdlib.h>
 
 
int  conceito (int media){
if (media >= 0 && media <= 49)
printf("Conceito D");
else if (media <= 69)
printf("Conceito C");
else if (media <= 89)
printf("Conceito B");
else if (media <= 100)
printf("Conceito A");
else
printf("Valor de entrada incorreto");
 
}
 
int main()
{
int media;
printf("Entre com a media\n");
scanf("%d", &media);
conceito(media);
return 0;
}






/*7. Escrever uma função  int  contaimpar (int n1, int n2) que retorna o número de
inteiros impares que existem entre n1 e n2 (inclusive ambos, se for o caso). A função deve
funcionar inclusive se o valor de n2 for menor que n1.   */
#include <stdio.h>
#include <stdlib.h>
 
 
int  contaimpar (int n1, int n2){
int i, asw;
asw = 0;
int vect[0];
if (n1 <= n2){
for (i=n1; i<=n2; i++){
if (i%2 != 0){
asw++;}
}}
else{
for (i=n1; i>=n2; i--){
if (i%2 != 0){
asw++;}
}}
 
 
printf ("Quantida de impares e %d",asw);
}
 
int main()
{
int n1, n2;
printf("Entre com os valores\n");
scanf("%d %d", &n1, &n2);
contaimpar(n1,n2);
return 0;
}




/* 8.  Escrever uma função int divisão (int dividendo, int divisor, int * resto), que
retorna  a  divisão  inteira  (sem  casas  decimais)  de  dividendo  por  divisor  e  armazena  no
parâmetro resto, passado por referência, o resto da divisão.
int r, d;
d = divisao(5, 2, &r);
printf("Resultado:%d Resto:%d", d, r); Resultado:2 Resto:1   */
 
#include <stdio.h>
#include <stdlib.h>
 
 
int divisao(int dividendo, int divisor, int *resto){
 
*resto = dividendo%divisor;
return dividendo/divisor;
 
}
 
int main(){
int r, d, divisor, dividendo;
printf("Entre com o Dividendo e o Divisor\n");
scanf("%d %d", &dividendo, &divisor);
d = divisao(dividendo, divisor, &r);
printf("Resultado:%d Resto:%d", d, r);
}

terça-feira, 27 de setembro de 2011

Exemplo Procedimentos e Funções

Escreva um procedimento que receba como parâmetro dois valores inteiros n1 e n2 e
imprima o intervalo fechado entre eles, do menor para o maior.
Por exemplo: se n1 = 2 e n2 = 5, o procedimento irá imprimir 2, 3, 4, 5.
#include <stdio.h>
#include <stdlib.h>
 
void completa(int n1, int n2){
int i;
if (n1<=n2)
for (i=n1; i<=n2; i++)
printf("%d", i);
else
for (i=n2; i<=n1; i++)
printf("%d", i);
}
 
int main()
{
int n1, n2;
printf("Entre com dois valores\n");
scanf("%d %d",&n1, &n2);
completa(n1,n2);
return 0;
}



Faça um procedimento que receba a idade de uma pessoa em dias e retorna essa idade
expressa em anos, meses e dias.



#include <stdio.h>
#include <stdlib.h>
 
void transforma(int dias){
int meses, anos;
anos = dias / 365;
meses = dias / 30;
if (dias >= 365)
dias = dias % 365;
meses = meses % 12;
if (dias >= 30)
dias = dias % 30;
printf("A idade e %d anos, %d meses e %d dias", anos, meses, dias);
}
 
int main()
{
int dias;
printf("Entre com a quantidade de dias\n");
scanf("%d",&dias);
transforma(dias);
return 0;
}






Faça um procedimento que receba por parâmetro o  tempo de duração de um experimento
expresso em segundos e imprima na tela esse mesmo tempo em horas, minutos e
segundos.



#include <stdio.h>
#include <stdlib.h>
 
void converte(int seg){
int horas, minutos;
minutos = seg / 60;
horas = seg / 3600;
if (seg >= 3600)
seg = seg % 3600;
minutos = minutos % 60;
if (seg >= 60)
seg = seg % 60;
printf("O tempo do experimento e %d horas, %d minutos e %d segundos", horas, minutos, seg);
}
 
int main()
{
int seg;
printf("Entre com o tempo do experimento em segundos\n");
scanf("%d",&seg);
converte(seg);
return 0;
}






Faça uma função que receba por parâmetro o raio de uma esfera e calcula o seu volume: V = (4 * PI * R3) /3. 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int volume(raio){
 
float pi, vol, r3;
r3=pow((float)raio,3);
pi = 3.14159265;
vol = ((4.0 * pi * r3)/3.0);
 
printf("Volume da esfera de raio %d e %f", raio, vol);
}
 
int main()
{
int raio;
printf("Entre com o raio da esfera\n");
scanf("%d",&raio);
volume(raio);
return 0;
}