Академический Документы
Профессиональный Документы
Культура Документы
#include<stdio.h>
void main(){
printf("Hola\n\n");
}
#include <stdio.h>
void main(){
float R,sol1;
printf("Bienvenido, calcularemos la longitud de su circunferencia.\n\n");
printf("Lo unico que debe hacer es introducir el radio: ");
scanf("%f",&R);
sol1=2*3.141592*R;
printf("\n\nEl resultado es %f\n\n",sol1);
}
4. Programa que calcula la media aritmtica de tres nmeros cualesquiera.
#include <stdio.h>
void main(){
float a,b,c,M;
printf("Bienvenido, calcularemos la media aritmetica de tres numeros.\n\n");
printf("Por favor, introduzca el primero: ");
scanf("%f",&a);
printf("Ahora, inserte el segundo de ellos: ");
scanf("%f",&b);
printf("Por ultimo, teclee el numero final: ");
scanf("%f",&c);
M=(a+b+c)/3;
printf("\nEl resultado es %f\n\n",M);
}
5. Programa que calcula reas de trapecios.
#include <stdio.h>
void main(){
float bma,bme,h,A;
printf("Bienvenido al programa para calcular areas de trapecios.\n\n");
printf("Bien, introduzca la base mayor: ");
scanf("%f",&bma);
printf("Ahora, escriba la base menor: ");
scanf("%f",&bme);
printf("Ya solo necesito la altura: ");
scanf("%f",&h);
A=((bma+bme)*h)/2;
printf("\nEl area del trapecio es %f\n\n",A);
}
#include <stdio.h>
void main(){
float c,I,t,F;
printf("Bienvenido. Calcularemos el capital final de un interes simple.\n\n");
printf("Por favor, introduce el capital inicial: ");
scanf("%f",&c);
printf("Ahora, escribe el interes al que esta colocado: ");
scanf("%f",&I);
printf("Por ultimo, inserta el tiempo al que se deja el capital: ");
scanf("%f",&t);
F=c+c*(I/100)*t;
printf("\n\nEl capital final es de %f\n\n",F);
}
Otro smbolo que necesitaremos a partir de ahora ser el %, que sirve para calcular el resto de
una divisin. Podemos verlo en el siguiente ejemplo.
10. Programa que calcula el precio de un objeto sin el impuesto de valor aadido (IVA).
#include <stdio.h>
void main(){
float X,IVA,R;
printf("Bienvenido.Calcularemos el precio de un articulo sin el IVA.\n\n");
printf("Por favor, introduzca el precio de la compra: ");
scanf("%f",&X);
IVA=(16*X/100);
R=X-IVA;
printf("\nEl precio del objeto sin IVA es %f\n\n",R);
}
R=cbrt(a*b*c);
printf("\nEl resultado es %f\n\n",R);
}
Volver
Una de las estructuras ms utilizadas en programacin en C++ es el if. Sirve para el
ordenador distinga entre varios caminos posibles. Si hay ms de uno, se utilizar else para
sealar el restante. Las condiciones van entre llaves.
Mayor
Menor
Igual
Distinto
Mayor
igual
Menor
igual
>
<
==
!=
o >=
o <=
13. Programa que indica qu numero de los dos introducidos por el usuario es mayor.
#include <stdio.h>
void main(){
int X,Y;
printf("Por favor, escribe un numero ");
scanf("%d",&X);
printf("Ahora, teclea otro ");
scanf("%d",&Y);
if(X>Y){
printf("\nEl mayor es %d\n\n",X);
}else if(Y>X){
printf("\nEl mayor es %d\n\n",Y);
}else{
printf("\nEstos dos numeros son iguales\n\n");
}
}
14. Programa que escriba en pantalla un comentario con respecto a la temperatura del
da.
#include <stdio.h>
void main(){
int X,Y;
printf("Bienvenido. Introduzca la temperatura");
scanf("%d",&X);
if(X<15){
printf("\nBrrr... Que frio!\n");
}else if(X<25){
printf("\nClima templado\n");
}else{
printf("\nBuf!..Que calor!\n");
}
}
Como posiblemente habris notado, se han utilizado dos iguales para expresar la segunda
condicin del anterior programa. Esto es porque se quiere lanzar una pregunta al ordenador, lo
que indica que no siempre es de ese modo. (Y si D=0?) Otro ejemplo donde se ve este
fenmeno con mayor facilidad:
16. Programa que indica la correspondencia de un nmero introducido por el usuario con
un mes del ao (aconsejable realizarlo con SWITCH).
#include <stdio.h>
void main(){
int m;
printf("Hola, le diremos el mes segun el numero introducido.\n\n");
printf("Introduzca el numero: ");
printf("\n");
scanf("%d",&m);
if(m==1){
printf("Este numero se corresponde con el mes de Enero.\n\n");
}else if(m==2){
printf("Este numero se corresponde con el mes de Febrero.\n\n");
}else if(m==3){
printf("Este numero se corresponde con el mes de Marzo.\n\n");
}else if(m==4){
printf("Este numero se corresponde con el mes de Abril.\n\n");
}else if(m==5){
printf("Este numero se corresponde con el mes de Mayo.\n\n");
}else if(m==6){
printf("Este numero se corresponde con el mes de Junio.\n\n");
}else if(m==7){
printf("Este numero se corresponde con el mes de Julio.\n\n");
}else if(m==8){
printf("Este numero se corresponde con el mes de Agosto.\n\n");
}else if(m==9){
printf("Este numero se corresponde con el mes de Septiembre.\n\n");
}else if(m==10){
printf("Este numero se corresponde con el mes de Octubre.\n\n");
}else if(m==11){
Muchas veces querremos realizar un programa que muestre un men, es decir, una serie de
opciones para que nosotros decidamos a nuestra conveniencia. Cmo se hace? Pues
simplemente tomando una nueva variable opcin, de la que extraeremos su jugo con if.
17. Programa que simula un cajero automtico con un saldo inicial de 1000 Euros.
#include <stdio.h>
void main(){
int SI,opc;
float din,dan,S;
SI=1000;
printf("Bienvenido a su cajero virtual.\n");
printf("Seleccione una opcion:\n\n");
printf("1.Ingreso en cuenta.\n2.Reintegro.\n3.Ver el saldo disponible\n0.Salir\n\nUsted ha
marcado: ");
scanf("%d",&opc);
if(opc==1){
printf("\nBien, escriba el dinero que desee introducir: ");
scanf("%f",&din);
S=SI+din;
printf("\nIngreso realizado correctamente. Su saldo actual es de %f\n",S);
}else if(opc==2){
printf("\nAhora, teclee la cantidad de capital que desea retirar: ");
scanf("%f",&dan);
if(dan>SI){
printf("\nError. No dispone de tanto sueldo.\n");
}else{
S=SI-dan;
printf("\nReintegro realizado correctamente. Su saldo actual es de %f\n",S);
}
}else if(opc==3){
En determinadas ocasiones nos ser de mucha utilidad el poder borrar lo escrito en pantalla.
Para ello debemos utilizar una nueva librera (<stdlib>) que contenga la instruccin para que se
produzca el borrado. (system(cls)).
18. Programa que borre la pantalla al pulsar Intro.
#include <stdio.h>
#include <stdlib.h>
void main(){
char Espera;
printf("Programa de prueba de borrado de pantalla");
printf("\nPulsa intro");
scanf("%c",&Espera);
system("cls");
printf("Ha funcionado!, Hasta pronto.\n");
}
Volver
Una vez visto cmo se realiza un borrado de pantalla, pasaremos a ver los bucles en C++, que
realizan tareas repetitivas. El primero de ellos es el bucle for. Lo usaremos siempre que
conozcamos el nmero de iteraciones (Desde hasta).
Ser necesario el uso de un contador (i).
19. Programa que muestra los veinte primeros nmeros naturales.
#include <stdio.h>
void main(){
int i=21;
22. Programa que muestre una cuenta atrs desde diez hasta cero.
#include <stdio.h>
void main(){
int i=10;
const int tope=0;
for(i=10;i>=0;i=i-1){
printf("%d\n",i);
}
printf("\nHasta pronto!\n");
}
printf("Se ha equivocado.\n\n");
}
}
Cuando no deseemos que el ordenador vaya tan rpido, hay que meterle instrucciones intiles
que no se pinten en pantalla (Bucle de retardo), como por ejemplo una cuenta atrs del
159999999 al 0.
24. Programa que realice una cuenta atrs con un bucle de retardo.
#include <stdio.h>
void main(){
int i=10;
const int tope=1;
for(i=10;i>=1;i=i-1){
printf("%d\n",i);
int k=159999999;
for(k=159999999;k>=1;k=k-1);
}
printf("\nPUM!\n");
}
while (num!=0){
scanf("%d",&num);
if(num%2==0){
printf("\n\nEste numero es par.\n");
}else{
printf("\n\nEste numero es impar.\n");
}
}
printf("\nHasta luego.\n\n");
}
Aqu tenemos un extenso programa como ejemplo para demostrar la sencillez y utilidad del
bucle do while.
26. Programa que simule un calculadora cientfica de 25 funciones.
#include <stdio.h>
#include <math.h>
void main(){
float x,y,s,d,p,c,sr,rq,res,ros,cb,ch,co,cop,se,sep,ta,tap,cub,cubp,in,inp,lo,lop,ln,lnp;
int opc;
printf("Bienvenido a la calculadora de 25 funciones.\n\n");
do{
printf("Por favor, introduzca un numero (0 para salir): ");
scanf("%f",&x);
printf("\nAhora, inserte otro: ");
scanf("%f",&y);
printf("\n\nBien. Ya puede seleccionar una
opcion:\n\n1.Sumar\n2.Restar\n3.Multiplicar\n4.Dividir\n5.Indicar el mayor\n6.Raiz cuadrada
del primer numero\n7.Raiz cuadrada del segundo numero\n8.Cuadrado del primer
numero\n9.Cuadrado del segundo numero\n10.Raiz cubica del primer numero\n11.Raiz cubica
del segundo numero\n12.Coseno del primer numero\n13.Coseno del segundo numero\n14.Seno
del primer numero\n15.Seno del segundo numero\n16.Tangente del primer numero\n");
printf("17.Tangente del segundo numero\n18.Cubo del primer numero\n19.Cubo del
segundo numero\n20.Inversa del primer numero\n21.Inversa del segundo
numero\n22.Logaritmo decimal del primer numero\n23.Logaritmo decimal del segundo
numero\n24.Logaritmo neperiano del primer numero\n25.Logaritmo neperiano del segundo
numero\n0.Salir\n\nUsted ha marcado: ");
scanf("%d",&opc);
if(opc==1){
s=x+y;
printf("La suma de ambos numeros es %f\n\n",s);
}else if(opc==2){
d=x-y;
printf("La diferencia de ambos numeros es %f\n\n",d);
}else if(opc==3){
p=x*y;
printf("El producto de ambos numeros es %f\n\n",p);
}else if(opc==4){
c=x/y;
printf("El cociente de la razon de ambos numeros es %f\n\n",c);
}else if(opc==5){
if(x>y){
printf("El mayor es %f\n\n",x);
}else if(y>x){
printf("El mayor es %f\n\n",y);
}else{
printf("Disculpe, estos dos numeros son iguales.\n\n");
}
}else if(opc==6){
rq=sqrt(x);
printf("La raiz cuadrada del primer numero es %f\n\n",rq);
}else if(opc==7){
sr=sqrt(y);
printf("La raiz cuadrada del segundo numero es %f\n\n",sr);
}else if(opc==8){
res=x*x;
printf("El cuadrado del primer numero es %f\n\n",res);
}else if(opc==9){
ros=y*y;
printf("El cuadrado del segundo numero es %f\n\n",ros);
}else if(opc==10){
cb=cbrt(x);
printf("La raiz cubica del primer numero es %f\n\n",cb);
}else if(opc==11){
ch=cbrt(y);
printf("La raiz cubica del segundo numero es %f\n\n",ch);
}else if(opc==12){
co=cos(x);
printf("El coseno del primer numero es %f\n\n",co);
}else if(opc==13){
cop=cos(y);
printf("El coseno del segundo numero es %f\n\n",cop);
}else if(opc==14){
se=sin(x);
printf("El seno del primer numero es %f\n\n",se);
}else if(opc==15){
sep=sin(y);
printf("El seno del segundo numero es %f\n\n",sep);
}else if(opc==16){
ta=tan(x);
printf("La tangente del primer numero es %f\n\n",ta);
}else if(opc==17){
tap=tan(y);
printf("La tangente del segundo numero es %f\n\n",tap);
}else if(opc==18){
cub=x*x*x;
printf("El cubo del primer numero es %f\n\n",cub);
}else if(opc==19){
cubp=y*y*y;
printf("El cubo del segundo numero es %f\n\n",cubp);
}else if(opc==20){
in=1/x;
printf("La inversa del primer numero es %f\n\n",in);
}else if(opc==21){
inp=1/y;
printf("La inversa del segundo numero es %f\n\n",inp);
}else if(opc==22){
lo=log10(x);
printf("El logaritmo decimal del primer numero es %f\n\n",lo);
}else if(opc==23){
lop=log10(y);
printf("El logaritmo decimal del segundo numero es %f\n\n",lop);
}else if(opc==24){
ln=log(x);
printf("El logaritmo neperiano del primer numero es %f\n\n",ln);
}else if(opc==25){
lnp=log(y);
printf("El logaritmo neperiano del segundo numero es %f\n\n",lnp);
}else if(opc==0){
printf("Gracias por utilizar este programa.\n\n");
}else{
printf("Disculpe, se ha equivocado al marcar.\n\n");
}
}while(x!=0);
}
27. Programa que muestre los divisores de un nmero introducido por el usuario.
#include <stdio.h>
void main(){
int num;
printf("Bienvenido al programa para calcular los divisores de un numero.\n\n");
while(num!=0){
printf("Introduzca un numero: ");
scanf("%d",&num);
printf("\n\nSus divisores son:\n");
for(int i=1; i<=num; i++){
if(num%i==0){
printf("\n\t\t\t\t\t%d\t\n",i);
}
}
printf("\n");
}
printf("\nGracias por utilizar este programa.\n\n");
}
28. Programa que calcule la suma o el producto de los nmeros comprendidos entre los
lmites marcados por el usuario.
#include <stdio.h>
void main(){
int sup,inf, opc;
double suma,prod;
printf("Bienvenido al programa de calculo con limites.\n\n");
do{
suma=0;
prod=1;
printf("Introduzca el limite superior: ");
scanf("%d",&sup);
printf("\nAhora, escriba el limite inferior: ");
scanf("%d",&inf);
printf("\n\nSeleccione una opcion:\n\n1.Suma\n2.Producto\n\nTeclee su eleccion: ");
scanf("%d",&opc);
switch (opc){
case 1:
for(int i=inf;i<=sup;i++){
suma=suma+i;
}
printf("\n\nEl resultado es %f\n\n",suma);
break;
case
2:
for(int i=inf;i<=sup;i++){
prod=prod*i;
printf("%f",prod);
}
printf("\nEl resultado es %f\n\n",prod);
break;
default:printf("\nNo es un valor valido.\n\n");
}
}while(sup!=0);
printf("\n\nGracias por utilizar este programa. Le esperamos pronto.\n\n");
}
Ahora vamos a realizar un programa con nmeros aleatorios. Para ello debemos utilizar el reloj
del ordenador (No se repitan los mismos valores una y otra vez), con la consiguiente aparicin
de una nueva librera (<time>).
srand((unsigned)time(NULL))
El problema es que el ordenador puede inventar nmeros aleatorios desde uno hasta dos elevado
a quince. Es muy til saber poner un lmite.
Nmero aleatorio=rand()%(Tope+1);
31. Programa que invente un nmero para que lo adivine el usuario, colocando un
contador de intentos.
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main(){
int x,num,contador=0;
srand((unsigned)time(NULL));
x=rand()%(101);
printf("Intenta adivinar el numero que he pensado entre 0 y 100.");
int bandera=0;
while (bandera==0){
printf("\n\nIntroduce numero: ");
scanf("%d",&num);
contador++;
if(num>x){
printf("\nMenor");
}else if(num<x){
printf("\nMayor");
}else{
printf("\n\nEnhorabuena! Lo has adivinado en %d intentos.\n\n",contador);
bandera=1;
}
}
}
Volver
Una vez visto ejemplos de bucles, pasemos a explicar la toma de caracteres (getch). Para ello
hay que introducir una nueva librera (<conio>), prototipo necesario para la instruccin
32. Programa de escritura en pantalla. Finaliza al pulsar la tecla -.
#include <stdio.h>
#include <conio.h>
void main(){
char c;
while (c!='-'){
c=getch();
printf("%c",c);
}
}
33. Programa de escritura en pantalla con funcin de poder borrar lo escrito hasta el
momento.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void main(){
char c;
char Espera;
printf("Bienvenido al programa de escritura en C++.\n\nSi pulsa + y posteriormente teclea
Enter, se borrara todo lo escrito.\nSi pulsa -, dara por concluida su sesion.\n\n");
while (c!='-'){
c=getch();
printf("%c",c);
if(c=='+'){
scanf("%c",&Espera);
system("cls");
}
}
}
case 3:printf("\n\nMiercoles:\n\nFisica y
Quimica\nDibujo\nIngles\nInformatica\nCiencias para el mundo
contemporaneo\nFilosofia\nTutoria\n\nMitad de jornada, anima la moral!\n\n");break;
case
printf("\n\nJueves:\n\nFilosofia\nDibujo\nLiteratura\nInformatica\nIngles\nEducacion
Fisica\nMatematicas\n\nVenga, que maana es viernes!\n\n");break;
case 5:printf("\n\nViernes:\n\nCiencias para el mundo
contemporaneo\nReligion\nFisica y Quimica\nLiteratura\nMatematicas\nInformatica\n\nYa se
ha terminado lo duro. Descansa hoy!\n\n");break;
case 6:printf("\n\nSabado:\n\nDeja el ordenador y disfruta del dia!\n\n");break;
case 7:printf("\n\nDomingo:\n\nAprovecha el tiempo que maana hay que volver a
empezar!\n\n");break;
default:printf("\n\nDisculpe, se ha equivocado al marcar.\n\n");
}
}
Otra estructura muy prctica es el uso de || (ctrl. + alt + 1). Indica unin. Lo nico que hay que
recordar es que no soporta ms de una separacin, es decir:
(num=x)||(num=y) Bien
(num=x)||(num=y)||(num=z) Mal
Luego habr que hacer uso frecuente del parntesis, como por ejemplo:
srand((unsigned)time(NULL));
do{
x=rand()%(13);
}while(((x==8)||(x==9))||(x==0));
do{
y=rand()%(13);
}while(((y==8)||(y==9))||(y==0));
do{
z=rand()%(13);
}while(((z==8)||(z==9))||(z==0));
do{
o=rand()%(13);
}while(((o==8)||(o==9))||(o==0));
printf("\n\n%d\t\t%d\t\t%d\t\t%d\t\t",x,y,z,o);
printf("\n\n");
}
else if(opc==2){
printf("\n\nMas tarde entonces.\n\n");
}else{
printf("\nHasta pronto.\n\n");
}
}while(opc!=0);
}
39. Programa que cuente el nmero de vocales de un texto escrito por el usuario.
#include <stdio.h>
#include <conio.h>
void main(){
int bandera=0,a=0,e=0,i=0,o=0,u=0;
char c;
printf("Introduzca caracteres hasta pulsar el guion:\n\n");
while(bandera==0){
c=getche();
if(c=='a'){
a++;
}else if(c=='e'){
e++;
}else if(c=='i'){
i++;
}else if(c=='o'){
o++;
}else if(c=='u'){
u++;
}else if(c=='-'){
bandera=1;
}else{
bandera=0;
}
}
printf("\n\n\t\t\tRecuento de vocales\n");
printf("\nLa a se ha repetido %d veces \n",a);
printf("\nLa e se ha repetido %d veces \n",e);
printf("\nLa i se ha repetido %d veces \n",i);
printf("\nLa o se ha repetido %d veces \n",o);
printf("\nLa u se ha repetido %d veces \n",u);
printf("\n\nGracias por utilizar este programa.\n\n");
}
int i,num,fact=1;
printf("Bienvenido al programa para calcular factoriales.\n");
printf("\nEscriba un numero entero: ");
scanf("%d",&num);
for(i=num;i>1; i--){
fact=fact*i;
}
printf("\nEl factorial de %d es %d\n",num,fact);
}
42. Programa que simule el lanzamiento de una moneda las veces que el usuario desee,
posteriormente har un recuento de las veces que ha salido tanto cara como cruz.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main(){
int x,veces,cara=0,cruz=0;
srand((unsigned)time(NULL));
printf("Pruebe a lanzar la moneda.\n\n");
printf("Cuantas veces?: ");
scanf("%d",&veces);
for(int i=1;i<=veces;i++){
x=rand()%(2);
if(x==1){
printf("\nCara\n\n");
cara++;
}else{
printf("\nCruz\n\n");
cruz++;
}
}
printf("\n\tRecuento\n\n");
printf("La cara ha salido %d veces.\n",cara);
printf("La cruz ha salido %d veces.\n\n",cruz);
printf("Gracias por utilizar este programa.\n\n");
}