Está en la página 1de 39

Los tipos de funciones en c++ son 4, aunque en realidad son las combinaciones de las 2 cosas que una funcin

puede hacer. Si andan perdidos en cuanto a funciones les recomiendo leer mi post anterior: Funciones en C++. Una funcin, como les deca, puede hacer (o no) dos cosas: 1 Recibir datos y 2 Retornar datos. De esto surgen los cuatro tipos de funciones: No reciben ni retornan Reciben y no retornan No reciben y retornan Reciben y retornan Vamos a hacer un programa que sume dos nmeros, usando los cuatro tipos de funciones: No reciben ni retornan Las ms sencillas. Para usarlas slo tenemos que saber cmo crearlas y cmo llamarlas. Una funcin se crea de esta forma general: tipo nombre(){} El tipo se refiere al tipo de dato (int, float, void, char) y en las funciones que no retornan siempre es void. El nombre es el nombre de la funcin: cualquiera que empiece con una letra, que sea significativo y que no sea una palabra reservada. Para llamarlas slo hay que escribir el nombre de la funcin seguido de sus parntesis y un punto y coma (;). nombre(); As nuestro programa sera: #include<iostream> using namespace std;

void sumar() { int num1, num2, r; cout << "Numero 1: "; cin >> num1; cout << "Numero 2: "; cin >> num2; r = num1 + num2; cout << "La suma es " << r; } int main() { sumar(); } Como ven, todo lo que habramos puesto en nuestro main mejor los pusimos en una funcin y desde el main la llamamos. Una funcin siempre, siempre, siempre tiene que ir antes del main. Una funcin de este tipo que hemos usado muchas veces es getch(); Reciben y No Retornan Cmo haramos para pedir los dos nmeros en el main y que la funcin haga la suma? Para eso tenemos que hacer una funcin capaz de recibir datos, entonces la sintaxis cambia un poco: tipo nombre(tipo_var1 nombre_var1, tipo_var2 nombre_var2){} tipo y nombre se refieren a lo mismo y como no retorna el tipo siempre es void. Dentro del parntesis tenemos otros aspectos: tipo_var1 se refiere al tipo de la variable que nuestra funcin va a recibir. nombre_var1 se refiere al nombre de esa variable.

Si queremos recibir una variable hasta ah es suficiente, si queremos otra variable ponemos una coma (,) y declaramos la siguiente variable. Para llamar la funcin hay que poner la variables que vamos a enviar dentro del parntesis en el mismo orden en que las declaramos en la funcin: nombre(var1, var2); Nuestro programa quedara as: #include<iostream> using namespace std; void sumar(int num1, int num2) { int r; r = num1 + num2; cout << "La suma es " << r; } int main() { int num1, num2; cout << "Numero 1: "; cin >> num1; cout << "Numero 2: "; cin >> num2; sumar(num1, num2); } Pedimos los dos nmeros en el main, los enviamos a la funcin, sta los suma y los muestra. Una funcin de este tipo que hemos usado muchas veces es el odiado por muchos, amados por otros, gotoxy(x,y); Retornan y No Reciben

Y si ahora queremos lo contrario? Pedir los nmeros en la funcin, pero mostrar el resultado en el main. Para eso necesitamos una funcin que retorne. Recibir es enviar datos del main a la funcin. Retornar es enviar datos de la funcin al main. Para retornar datos hay que hacer dos cosas: no usar void como tipo y usar return. De forma general: tipo nombre() { return var; } El tipo tiene que ser del tipo de variable que queremos retornar, si nuestra variable retorna una variable int, pues el tipo de la funcin es int. Para indicar qu variable estamos retornando usaremos la palabra return seguido de la variable. Usualmente esto va al final de la funcin. Para llamar a la funcin hay que preparar un colchn en donde caiga la variable que est retornando. var = nombre(); La variable que est retornando nuestra funcin se va a almacenar en la variable var. Este es un buen momento para recordarles que las variables declaradas entre dos llaves {} nicamente existen entre esas dos llaves. O sea que la variable var de la funcin no es la misma que la variable var de la funcin; sin embargo la var del main est adquiriendo el valor de la var del main. Un poco confuso lo se, no se preocupen. Nuestro programa quedara as: #include<iostream> using namespace std; int sumar() { int num1, num2, r; cout << "Numero 1: "; cin >> num1;

cout << "Numero 2: "; cin >> num2; r = num1 + num2; return r; } int main() { int r; r = sumar(); cout << "La suma es " << r; } A alguien se le ocurre una funcin conocida de este tipo? Reciben y Retornan Ahora queremos que nuestra funcin nicamente sume, el main se va a encargar de pedir los nmeros y sumar los resultados. Para eso necesitamos que nuestra funcin reciba las variables y adems retorne el resultado. Wow! Es acaso eso posible? Claro que s. Es slo cuestin de combinar las funciones que reciben y no retornan con las que retornan y no reciben. Nuestro programa quedara as: #include<iostream> using namespace std; int sumar(int num1, int num2) { int r; r = num1 + num2; return r; }

int main() { int num1, num2, r; cout << "Numero 1: "; cin >> num1; cout << "Numero 2: "; cin >> num2; r = sumar(num1, num2); cout << "La suma es " << r; } Las funciones de la librera math.h son en su mayora de este tipo. sqrt(); pow(); sin(); En principio puede parecer que las funciones sirven nicamente para organizar el cdigo, lo cual es cierto, pero no slo eso. Se imaginan si tuviramos que escribir todo el cdigo detrs de un simple gotoxy();? Ah verdad Bueno, no me iba a quedar tranquilo si no les mostraba la versin optimizada de la ltima funcin: #include<iostream> using namespace std; int sumar(int num1, int num2) { return num1 + num2; } int main() { int num1, num2; cout << "Numero 1: "; cin >> num1; cout << "Numero 2: "; cin >> num2; cout << "La suma es " << sumar(num1, num2); } :D

39 Comentarios Funciones en C++ Guardado en: Curso el 6 de noviembre del 2010Etiquetas: funciones Supongo que ya es hora de retomar el blog y ponerme a hablar de funciones en c++. Una funcin es un pedazo de cdigo fuera del main, con un nombre y que puede ser llamado desde otra parte de nuestro programa. Imagnense que estn entrenando a su perro a hacerse el muertito. Cada vez que ustedes dicen muertito, el perro se tira de espaldas en el suelo, cierra los ojos y saca la lengua. En programacin, el contenido de la funcin sera tirarse de espaldas, cerrar los ojos y sacar la lengua; el nombre de la funcin sera muertito; y cada vez que nosotros decimos muertito estamos llamando a la funcin. Nuestra funcin sera algo as: void muertito() { Perro.Tirarse(posicion='espalda'); Perro[OjoDer].Cerrar(); Perro[OjoIzq].Cerrar(); Perro[Lengua].Sacar(); } Jajaja, bueno, bueno. Ya en serio vamos a hacer un clsico Hola Mundo pero usando una funcin: #include<iostream> using namespace std; void hola() { cout << "Hola Mundo!"; } int main() {

hola(); } Como ven, esta funcin es muy estpida. No nos beneficia en nada y nos hace escribir ms cdigo del necesario, pero nos sirve para ver cmo acta una funcin: al momento de llamar a la funcin, el compilador se brinca a la funcin, la ejecuta y cuando termina, vuelve al punto desde donde brinc. Si pudieran leerle la mente a un compilador, este dira: Linea 1. Incluir la librera iostream. OK Linea 2. Usar el namespace estndar. OK Linea 3. Oh! una funcin llamada hola, la recordar. Linea 4. Llave. Parte de la funcin. Ignorar Linea 5. Imprimir Hola Mundo!. Parte de la funcin. Ignorar Linea 6. Llave. Parte de la funcin. Ignorar Linea 7. Por fin el main! Linea 8. Llave. Entrar Linea 9. Esta funcin se me hace conocida oh s ya recuerdo. Ejecutar lineas 4, 5y6 Linea 10. Llave. Salir Ahora veamos una funcin que s nos es til: #include<iostream> using namespace std; void hola(char nombre[50]) { cout << "Hola " << nombre << "!"; } int main() { char nombre[50];

cout << "Cual es tu nombre?: "; cin.getline(nombre, 50, '\n'); hola(nombre); } Primero pedimos un nombre, lo guardamos en una variable y se le mandamos a la funcin para que lo muestre. No se preocupen, si nunca haban visto una funcin tal vez no entiendan la sintaxis, pero el objetivo de este post es que sepan qu es una funcin y para qu se puede usar. En el siguiente post voy a explicar la sintaxis de los cuatro tipos de funciones en c++. 11 Comentarios Cmo pasar una matriz o arreglo como parmetro a una funcin Guardado en: Programas el 28 de octubre del 2010Etiquetas: arreglos, funciones Bueno, casi creo que nunca he hablado de matrices, parmetros o funciones en este blog, pero este post es una peticin de Rodrigo que me dijo por email que tena problemas con su tarea porque no sabe cmo pasar una matriz como parmetro a una funcin en c++. Es algo sencillo, pero difcil de deducir. Veamos. Si tu arreglo es de una dimensin int matriz[4]; la forma de declarar la funcin es la siguiente: void fx(int m[4]) { ...cdigo... } Y la forma de llamar la funcin sera: fx(matriz); Si el arreglo es de dos dimensiones int matriz[4][3]; pues es lo mismo: void fx(int m[4][3]) { ...cdigo... }

Y la forma de llamar la funcin sera: fx(matriz); Si la funcin retorna una matriz int matriz[4]; se declara normal: void fx(int m[4]) { return matriz[4]; } Y la forma de llamar la funcin sera: matriz[4] = fx(matriz); Este programa pide tres nmeros, los almacena en una matriz, le suma 1 a cada elemento y los muestra, usando para cada accin una funcin. As que tenemos funciones que reciben matrices y que retornan matrices. Chquenlo. #include<iostream> using namespace std; void pedir(int matriz[3], int len) { for(int i=0; i<=len; i++) { cout << "Numero " << i+1 << ":? "; cin >> matriz[i]; } } int sumar(int matriz[3], int len) { for(int i=0; i<=len; i++) matriz[i]++; return matriz[3];

} void mostrar(int matriz[3], int len) { for(int i=0; i<=len; i++) cout << matriz[i] << " "; } int main() { int matriz[3]={0}, len = sizeof(matriz)/sizeof(int); pedir(matriz, len-1); matriz[3] = sumar(matriz, len-1); mostrar(matriz, len-1); return 0; } 16 Comentarios Grfica de Seno y Coseno en C++ Guardado en: Programas el 4 de octubre del 2010Etiquetas: gotoxy, math, seno coseno Juand a travs de un comentario me pidi ayuda con un programa que grafique utilizando gotoxy las grficas de seno y coseno en c++. El programa me pareci interesante y, aunque tuve que desempolvar el Borland C++ que usaba en la prepa, lo hice feo, pero lo hice. A mi parecer, para graficar por ejemplo la funcin seno, hacen falta 3 pasos: 1. Hacer un ciclo de 0 a 360 (con aumentos de 5 queda muy bien) con for, algo muy normal. 2. Calcular, obviamente, el seno de cada valor. Para esto la librera math.h nos regala la funcin sin(). Su uso es el obvio, pero el asunto es que todas las funciones trigonomtricas que usa c++ trabajan en radianes. Es decir que primero tendremos que convertir nuestro ngulo en radianes y luego ya sacar el seno. Si la variable i contiene el ngulo y tenemos ya definida la constante PI, la funcin quedara as:

sin(i/180*PI) 3. Luego viene la parte ms rara, convertir ese valor en un entero que pueda meter como coordenada en un gotoxy. Si tenemos una variable int y y la igualamos a nuestra funcin anterior podra quedar bien si multiplicamos por 10: int x, y; y = sin(i/180*PI)*10; gotoxy(x,y); Nos quedara nuestra grfica en una escala 1:10, pero al correr el programa veremos que hay muchos valores de seno que son 10 (por el redondeo) y por lo tanto la grfica se ve achatada. Para mejorar un poco eso (de todos modos queda un poco fea) podemos usar la funcin ceil() incluida tambin en la librera math.h que nos redondea los decimales. Y esta vez multiplicamos por 20, redondeamos, dividimos entre 2 y convertimos a int. Nos vuelve a quedar escala 1:10 (o 10:1 ? no se) pero ya no hay tantas cantidades amontonadas en el 10 y -10. El programa ya listo para graficar seno est aqu abajo, obviamente para graficar coseno slo hay que cambiar la funcin sin por cos, y copiar, pegar y hacer un men no debe ser difcil. #include<stdio.h> #include<conio.h> #include<math.h> #define PI 3.14159265 int main() { int x=2, y; for(float i=0; i<=360; i+=5) { y = ceil(sin(i/180*PI)*20)/2; gotoxy(x, 12-y);printf("o"); x++; }

getch(); return 0; }

29 Comentarios Calcular ngulos de un tringulo en C++ Guardado en: Programas el 3 de octubre del 2010Etiquetas: math, tringulos En el post anterior vimos cmo saber si un tringulo es rectngulo, acutngulo u obtusngulo en C++, y les anticip que hara una nueva versin del mismo programa pero que nos calculara adems los ngulos del tringulo. El programa es este. #include<math.h> #include<iostream> using namespace std; #define PI 3.14159265 // nuNcA cAmbieZz we!! int main() { float a, b, c, A, B, C; cout << "Introduce lado a: "; cin >> a; cout << "Introduce lado b: "; cin >> b; cout << "Introduce lado c: "; cin >> c; A = acos((b*b+c*c-a*a)/(2*b*c))*180/PI; B = acos((a*a+c*c-b*b)/(2*a*c))*180/PI; C = acos((a*a+b*b-c*c)/(2*a*b))*180/PI; if(A == 90 || B == 90 || C == 90) cout << "El triangulo es rectangulo. "; if(A < 90 && B < 90 && C < 90) cout << "El triangulo es acutangulo. ";

if(A > 90 || B > 90 || C > 90) cout << "El triangulo es obtusangulo. "; cout << "\nY sus angulos son: A:" << A << " , B:" << B << " y C:" << C; cin.get();cin.get(); } Para calcular los ngulos utilizamos la ley de cosenos, de hecho en el anterior tambin lo utilizamos pero no completamente (la ley de cosenos es una ampliacin del teorema de pitgoras). La ley de cosenos la vemos comnmente como: a2 = b2 + c2 -2(b*c)*cos(A) Si la despejamos en cos(A), nos queda: cos(A) = (b2 + c2 - a2) / 2(b*c) Si despejamos A (o sea el ngulo), obtenemos: A = arccos(b2 + c2 - a2 / 2(b*c)) Que es lo que utilizamos calcular los ngulos, lamentablemente la funcin que nos da C++ en su librera math.h, acos() nos devuelve el resultado en radianes. Para convertirlo a grados solo tenemos que multiplicar el resultado por 180/PI. Ahora que ya tenemos los tres ngulos de nuestro tringulo, es facilsimo saber cuando es cada tipo de tringulo. La funcin acos() est en la librera math.h y sirve para encontrar el arco coseno. En esta librera hay muchas funciones muy tiles: math.h Otro detalle sencillo pero que no habamos visto es el asunto de PI. Al principio del programa nos encontramos con: #define PI 3.14159265 Esto significa que estamos declarando una constante con el nombre PI y con un valor de 3.14159265. Una constante, como su nombre lo indica, nunca cambia a lo largo del programa. Bueno, pues fue un programa bastante entretenido, me gust hacerlo :)

9 Comentarios Saber si un tringulo es rectngulo, acutngulo u obtusngulo en C++ Guardado en: Programas el 3 de octubre del 2010Etiquetas: tringulos Emanuel por medio de un comentario me pidi ayuda para hacer un programa en c++ que nos dijera si un tringulo es rectngulo, acutngulo u obtusngulo pidiendo solamente los lados. El programa me pareci interesante de hacer y pues lo hice :) El programa resulta bastante sencillo, pero para deducir cmo hacerlo est un poco complicado. Veamos la siguiente imgen:

El tringulo 1 es un clsico tringulo rectngulo. Si aumentramos el lado c de 5 a 6 obviamente el ngulo aumentara y por lo tanto sera un tringulo obtusngulo (2). Si por el contrario, disminuyramos el lado de c 5 a 4, el ngulo disminuira y por lo tanto sera un tringulo acutngulo (3). Sabiendo esto veamos cmo se comporta Pitgoras en cada caso (o sea no l, su teorema): Si despejamos su famoso teorema obtenemos que a2 + b2 c2 = 0. Veamos como se comporta este teorema en nuestro tringulo 1: 32 + 42 - 52 = 0 Listo!, ya sabemos que el tringulo es rectngulo, porque el teorema de Pitgoras slo sirve para tringulos rectngulos. Ahora con el tringulo 2 (obtusngulo): 32 + 42 - 62 = -11 Un nmero negativo! Con los tringulos obtusngulos el teorema de Pitgoras da nmeros negativos.

Y por ltimo el tringulo 3 (acutngulo): 32 + 42 - 42 = 9 Un nmero positivo! Con los tringulos acutngulos el teorema de Pitgoras da nmeros positivos. Ahora que ya sabemos cmo identificar cada tringulo nos surge otro problema: El usuario slo va a introducir tres lados cualquiera, cmo saber cual es a, cual es b y cual es c? Pues no hay forma de saberlo, hay que hacer cada paso tres veces tomando el teorema como a2 + b2 c2, luego a2 + c2 b2 y al final b2 + c2 a2. Ahora si, veamos el programa: #include<iostream> using namespace std; int main() { int a, b, c, A, B, C; cout << "Introduce lado 1: "; cin >> a; cout << "Introduce lado 2: "; cin >> b; cout << "Introduce lado 3: "; cin >> c; A = (b*b+c*c-a*a); B = (a*a+c*c-b*b); C = (a*a+b*b-c*c); if(A == 0 || B == 0 || C == 0) cout << "El triangulo es rectangulo. "; if(A > 0 && B > 0 && C > 0) cout << "El triangulo es acutangulo. "; if(A < 0 || B < 0 || C < 0) cout << "El triangulo es obtusangulo. "; }

La nica parte no explicada es la de las condiciones. Si en cualquiera de los tres formas de tomar el teorema nos resulta 0 es rectngulo, por lo tanto se usa ||. Para ser acutngulo, las tres formas del teorema deben ser mayores a 0, se usa &&. Con una sola forma del teorema que resulte menor a 0 es obtusngulo, se usa ||. Para mayor informacin de esos operadores leer esto: Operadores lgicos es C++. Cmo ven el programita? Est sencillo no? Tal vez despus haga una modificacin para que adems te calcule los ngulos del tringulo. 15 Comentarios Cmo contar el nmero de veces que sucede algo Guardado en: Prctica el 27 de septiembre del 2010Etiquetas: primos, variables Bueno, en esta ocasin vamos a ayudarle a un comentarista de este blog con sus problemas, el me ha pedido un programa que cuente la cantidad de nmeros primos que hay en un rango, no se ha conformado con saber si un nmero es primo o no o con saber cmo mostrar los nmeros primos en un rango, as que le vamos a ayudar con la nica parte de su programa que le falta: saber cmo contar el nmero de veces que sucede algo. Para esto vamos a usar una variable tipo int (entero) que va a ir aumentando una unidad cada vez que ocurra ese algo que queremos contar. Veamos como funcionara un contador dentro de un ciclo: #include<iostream> using namespace std; int main() { int contador=0; for(int i=0; i<10; i++) contador++; cout << contador; } Obviamente esto muestra un 10 en pantalla. Porque la variable contador aumenta una unidad cada vez que el ciclo da una vuelta. contador++; es lo mismo que contador = contador + 1;

Ahora veamos como funciona si agregamos una condicin: #include<iostream> using namespace std; int main() { int contador=0; for(int i=0; i<10; i++) { if(i==5) contador++; } cout << contador; } Esto obviamente muestra en pantalla un 1, porque solo una vez i vale 5. Ahora con una condicin ms complicada: #include<iostream> using namespace std; int main() { int contador=0; for(int i=0; i<10; i++) { if(i%2==0) contador++; } cout << contador; } Con el operador % se obtiene el residuo de la divisin de los dos nmeros entre los que est. Si la condicin es que i/2 tenga residuo un de 0, significa que

estamos dejando pasar slo los nmeros pares, por lo que deber mostrarse en pantalla un 5. Qu fcil no?, ahora nuestro amigo ya tiene todo lo necesario para armar su programa. 3 Comentarios Funcin delay() en C++ Guardado en: Programas el 24 de septiembre del 2010Etiquetas: funciones, time Una funcin a veces til a veces no mucho es el delay(), sirve para hacer una pausa de n segundos. En algunos compiladores Borland esta funcin se incluye en la librera conio.h pero como aqu estamos del lado del software libre vamos a hacer nosotros mismos esta funcin. Primero veamos cmo se usa: delay(variable_tipo_int); es decir: int secs=10; delay(secs); o delay(numero_entero); es decir: delay(12); Y claro, la funcin es esta: void delay(int secs) { for(int i = (time(NULL) + secs); time(NULL) != i; time(NULL)); } La funcin time(NULL) nos devuelve el segundo exacto en que estamos. Si le sumamos cierta cantidad de segundos obtenemos una fecha en el futuro. En cada vuelta del ciclo se checa si esa fecha en el futuro es diferente a la fecha actual.

En cuanto las dos fechas son iguales el ciclo acaba y el programa contina. Veamos como se usa en un programa en c++: #include<time.h> #include<iostream> using namespace std; void delay(int secs) { for(int i = (time(NULL) + secs); time(NULL) != i; time(NULL)); } int main() { int sec; cout << "Segundos a pausar?: "; cin >> sec; delay(sec); }

Realizar un programa en computadora que imprima un men y el usuario seleccione que operacin aritmtica desea (suma s, resta r, multiplicacin m, divisin d)

#include #include main() { int r,a,b; char op; printf(" menu principal"); printf(" \n\n s=suma r=resta"); printf("\n m=multipliaccion d=division"); printf("\n\n seleccione una opcion"); scanf("%s",& op); printf("por favor inserte el valor de A= ");

scanf("%d", & a); printf("inserte el valor de B= "); scanf("%d", & b); switch (op) { case 's': r=a+b; if(a>b) r=float(a+b); else r=float(b+a); printf("la suma es: %d",r); break; case 'r': r=a-b; if(a>b) r=float(a-b); else r=float(b-a); printf("la resta es : %d",r); break; case 'm': r=a*b; if(a>b) r=float(a*b); else r=float(b*a); printf("la multiplicacion es: %d",r); break; case 'd': r=a/b; if(a>b) r=float(a/b); else r=float(b/a); printf("la division es: %d",r); break; default: printf("no se realizo ninguna operacion"); } getch(); }

Programa que imprime los nmeros pares del 1 al 20 (FOR Y WHILE) utilizando SWITCHCASE
#include #include int i; char op; main() { printf("\n\n ***PROGRAMA QUE IMPRIME LOS NUMEROS PARES DEL 1 AL 20 (FOR Y WHILE) ***"); printf("\n\n ***MENU PRINCIPAL***"); printf("\n\n For---[f] While---[w]"); printf("\n Seleccione una opcion: "); scanf("%s",&op);

switch(op) { case 'f': for(i=0;i<=20;i+=2) if (i%2==0) printf("%d\n",i); break; case 'w': i=0; while(i<=20) { if (i%2==0) printf("%d\n",i); i+=2; } break; default:printf("fuera de rango"); } getch(); }

Realizar un programa que lea un nmero en pies y calcule e imprima su equivalente en yardas, pulgadas, centmetros O metros segn sea la opcin que seleccione el usuario
1pie=12 pulgadas, 1yarda=3 pies, 1pulgada=2.54cm y 1metro=100cm.

#include #include main()

{ float R,p; char op; printf(" \n %%%%%%%%%%% ---- Menu para Convertir Pies.%%%%%%%%%%%"); printf("\n\n P=Pie. U=Pulgada. C=Centimetros. "); printf("\n\n Y=Yarda. M=Metros. "); printf("\n\n Elija una Opcion: " ); scanf("%s",& op); printf("\n\n\n Inserte la Cantidad de Pies que desee convertir: "); scanf("%f",&p); switch (op) { case 'p':R=p*1; printf("\nLos Pies son:%f", R); break; case 'u':R=p*12 ; printf("\nLas Pulgadas son:%f", R); break; case 'y':R=p/3; printf("\nLas Yardas son:%f", R); break; case 'c':R=p*(12*2.54); printf("\nLos Centimetros son:%f", R); break; case 'm':R=p*(12*2.54)/100; printf("\nLos Metros son:%f", R); break; default:printf("\nNo se realizo ninguna operacion."); } getch(); }

Programa que pide la calificacin de un alumno entre 1 al 5 y muestra un mensaje segn le corresponda
Case 1 SUSPENDIDO Case 2: MAS O MENOS Case 3: APROBADO Case 4: REGULAR Case 5: EXCELENTE Default FUERA DE RANGO

#include #include main() { int c; printf("CALIFICACION DE UN ALUMN0 \n\n" ); printf("inserte su calificacion del alumno entre el 1-5:" , c); scanf("%d",& c);

switch (c) { case 1: printf(" suspendido"); break; case 2 : printf("mas o menos"); break; case 3: printf("aprovado"); break; case 4: printf("regular"); break; case 5: printf("excelente"); break; default: printf("fuera de rango"); } getch(); }

Determinar la suma de todos aquellos nmeros ledos mientras no sean pares


# include # include main() { printf("******Programa que Suma los Numeros Impares.******\n\n"); int i,suma=0; for(i=1;i<=30;i++) { if (i%2!=0) { printf("%d\n",i); suma=suma+i; } } printf("La suma es: %d",suma); getch(); }

Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario
#include #include main() { float a,b,c,promedio=0; printf("\n\n***PROGRAMA QUE DETERMINA SI UN ALUMNO APRUEBA A REPRUEBA UN CURSO***"); printf("\n\nInserte la primera calificacion: "); scanf("%f",&a); printf("\n\nInserte la segunda calificacion: "); scanf("%f",&b); printf("\n\nInserte la tercera calificacion: "); scanf("%f",&c); promedio=(a+b+c)/3; if (promedio>=70) printf("aprobado %f",promedio); if (promedio=C && B>=D) mayor=B; else if (C>=D && C>=B) mayor=C; else if (D>=B && D>=C) mayor=D; if (B==C&&C==D) printf ("\nlos numeros son iguales"); else printf ("El mayor es %d", mayor); break; } getch(); }

Calcule el total a pagar por la compra de camisas

Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%. #include #include main() { float c,p,t,tp,d; printf("\n\n***PROGRAMA QUE CALCULE EL TOTAL A PAGAR POR LA COMPRA DE CAMISAS.***"); printf("\n\nInserte el numero de camisas: "); scanf("%f",&c); printf("\n\nInserte el precio de la camisa: "); scanf("%f",&p); t=c*p; if(c=3) {

d=t*20/100; tp=t-d; printf("\notal a pagar es :%f",tp); } getch(); }

Operaciones aritmticas bsicas


Vctor tiene la necesidad de realizar operaciones aritmticas bsicas y para agilizar esto, tiene que disear un programa que permita leer dos valores numricos y calcula primero la suma, despus de la resta, a continuacin el producto y seguidamente la divisin de ambos valores, escribiendo finalmente el resultado obtenido en cada una de estas operaciones #include #include void sumac(int, int); void rest(int, int); void multiplication(int, int); void division(int, int); main() { int a,b; printf("\n Programa Para CAlcular LAs Operaciones Aritmeticas De Victor"); printf("\n\n\n Inserte El Valor De a: "); scanf("%d",&a); printf("\n\n Inserte El Valor De b: "); scanf("%d",&b); suma(a,b); resta(a,b); multiplicacion(a,b); division(a,b); getch(); } void sumac (int x, int y) { int s; s=x+y; printf("\n\n El Resultado De La Suma Es: %d ",s); } void resta (int x, int y) { int r;

r=x-y; printf("\n\n El Resultado De La Resta Es: %d ",r); } void multiplicacion (int x, int y) { int m; m=x*y; printf("\n\n El Resultado De La Multiplicacion Es: %d ",m); } void division (int x, int y) { int d; d=x/y; printf("\n\n El Resultado De La Division Es: %d ",d); }

Porcentaje

El maestro Gmez tiene la necesidad de saber que porcentaje de hombres y que porcentaje de mujeres hay en el grupo 5 A del turno de la maana, si son en total 40 estudiantes de esos 25 son mujeres y 15 son hombres

#include #include main() { float m,h; printf("\n\n**PROGRAMA PARA SABER QUE PORCENTAJE DE HOMBRES Y DE MUJERES HAY EN UN GRUPO**"); printf(" El numero de alumnos en total es 40 "); m=25*100/40; printf("\n\nEl porcentaje de 25 mujeres es:%f",m); h=15*100/40; printf("\nEl porcentaje de 15 hombres es: %f",h); getch(); }

Determinar el tiempo promedio

Todos los lunes, mircoles y viernes, Mara entrena atletismo ya que participara en los juegos estatales de su estado, ella corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que Mara tarda en recorrer la ruta en una semana cualquiera, t debes de pedir los tiempos de cada da

#include #include main() { float l,m,v,promedio=0; printf("\n\n**PROGRAMA PARA DETERMINAR EL TIEMPO QUE MARIA TARDA EN RECORRER UNA RUTA*** "); printf("\n\n PROMEDIO DE TIEMPO EN UNA RUTA "); printf("\n\nInserte el tiempo del dia lunes: "); scanf("%f",&l); printf("\nInserte el tiempo del dia miercoles: "); scanf("%f",&m); printf("\nInserte el tiempo del dia viernes: "); scanf("%f",&v); promedio=(l+m+v)/3; printf("el promedio del tiempo es:%f",promedio); getch(); }

Realizar un programa que muestre un men con los 3 primeros programas

Paco quiere realizar un programa que muestre un men con los 3 primeros programas, pero no puede disponer de mucho tiempo le puedes ayudar?

# include # include # include main() { int a,d=0,s=0,q=0,h; float n,r; char op;

printf("estructura multiple segun caso hacer"); printf("\n\n *|*| menu |*|*"); printf("\n \n Ao bisiesto---[a] \n Salario de 8 horas---[b] "); printf("\n Raiz cuadrada de un numero ---[c] "); printf("\n \n \n seleccione una opcion: "); scanf("%s",&op); switch(op) { case 'a': printf("introducir el ao: "); scanf("%f",&a); if(a%4==0 && a%100!= 0 || a%400==0) printf("el ao introducido es bisiesto"); else printf ("el ao introducido no es bisiesto"); break; case'b': printf("inserte cuanto gana durante una hora: "); scanf("%d",&h); d=8*h; s=d*6; q=s*2; printf ("\n Al dia va a ganar= %d", d); printf ("\n A la semana va a ganar= %d", s); printf ("\n A la quincena va a ganar= %d", q); break; case'c': printf("introduce un numero: "); scanf("%f",&n); r=sqrt(n); printf(" el resultado de la raiz cuadrada del numero insertado es: %f",r); } getch(); }

Elaboracin de una factura

Felipe ocupa su R.F.C. para a elaboracin de una factura pero no sabe como sacarlo Le podras hacer un programa que le muestre como se obtiene?

#include #include

main() { char a[5],b[5],c[5],d[5],e[5],f[5]; printf("inserte las dos primeras iniciales de su primer apellido:"); scanf("%s",&a); printf("\n inserte la primera inicial de su segundo apellido:"); scanf("%s",&b); printf("\n inserte la primera inicial de su primer nombre:"); scanf("%s",&c); printf("\n inserte con los ultimos dos numero el ao de nacimiento:"); scanf("%s",&d); printf("\n inserte con numero el mes de nacimiento:"); scanf("%s",&e); printf("\n inserte la fecha de su nacimiento:"); scanf("%s",&f); printf("\n su RFC es:%s%s%s%s%s%s",a,b,c,d,e,f); getch(); }

Textos- palindros

A Jaime le justa mucho estar entretenido con los textos, para ello el te pone un reto. Qu le digas una palabra que sea palindro mediante un programa? (las palabras palindro son aquellas palabras que significan lo mismo al ser ledas al derecho y al revs, ejemplo oso), y como t eres ms inteligente que Jaime verdad que aceptas el reto?

#include #include #include main() { int j,i; char frase[50],cadena[50]; bool temp = false; printf("++**PALINDRO++**"); printf("\n \n introdusca una cadena: "); scanf("%s",&cadena); for (i=0;i/font> { j=(strlen(cadena)-1)-i; frase[i]=cadena[j];

if (frase[i]== cadena[i]) { temp = true; } else { temp=false; break; } } if (temp==true) { printf("la palabra es palindromo"); } else { printf("la plbra no se palimdromo"); } getch(); }

Promedios

Wilebaldo es un estudiante muy destacado, y quiere realizar un programa que le diga cul es el promedio de 50 valores que tiene almacenados en un vector, tambin necesita saber cuntos de esos nmero son mayores que ese promedio, pero en este momento, l no tiene el tiempo necesario para hacerlo por lo que l, le pide la ayuda a sus compaeros para hacerlo verdad que t si le ayudas?, de paso muestra en pantalla esos resultados y la lista de los nmero mayores del promedio.

# include # include main () { int i,n[50],c=0; for (i=1;i<=50;i++) { printf ("\n Inserte el valor de n%d ",i); scanf ("%d",&n[i]); if (n[i]>50)

c=c+1; } printf ("\n Los promedios mayores a 50 son: %d",c); for (i=1;i<=50;i++) { if (n[i]>50) printf ("\n\n %d",n[i]); } getch (); }

Imprimir sumatorias mediante un programa

-Diego tiene dos bolsas A y B con 45 canicas, cada canica tiene un nmero marcado, quiere sumar el nmero de la canica de la bolsa A con el nmero de la canica de la bolsa B, as sucesivamente hasta terminar con todas las canicas y va anotando en una libreta cada una de las sumatorias, podras ayudarle a imprimir mediante un programa cada una de las sumatorias? # include # include main() { int a[45],i,sumaA=0,sumaB=0,t; for(i=1;i<=45;i++) { printf("Bolsa A Porfavor inserte el valor de la canica numero %d: ",i); scanf("%d",&a[i]); sumaA=sumaA+a[i]; } printf("\n\nEl total de canicas de la bolsa A es: %d\n\n",sumaA); //_____________________________________ for(i=1;i<=45;i++) { printf("BOLSA B Porfavor inserte el valor de la canica numero %d: ",i); scanf("%d",&a[i]); sumaB=sumaB+a[i]; } printf("\n\nEl total de canicas de la bolsa B es: %d",sumaB); t=sumaA+sumaB; printf("\n\nLa suma de la bolsa A Y la bolsa B es: %d",t); getch(); }

Hallar mayor valor


Lupita tiene 20 monedas de diferentes valores, ella quiere comprar un regalo para su papa, el cual cuesta lo que marca la moneda de mayor valor que tiene, le podras ayudar a encontrarla de entre todas sus monedas y de paso marcar la posicin donde se encontr? #include #include main() { int a[20],i,mayor=0; printf("\n\n $$$$$$Programa que Imprime la Moneda de Mayor Valor.$$$$$$\n\n"); for(i=1;i<=20;i++) { printf("\nPorfavor inserte el valor de la moneda numero %d: ",i); scanf("%d",&a[i]); if(a[i]>mayor) mayor=a[i]; else mayor=mayor; } printf("\n\nLa moneda mayor es: %d",mayor); getch(); }

Obtener el promedio de calificaciones


23.-Marcos necesita sus calificaciones del primer parcial por que su pap se las pidi, pero Roco la encargada de control escolar tiene mucho trabajo y quiere entregrselas pero el tiempo no le alcanza, Podras ayudarle a Roco con esto? Marcos lleva 5 materias diferentes y se necesita obtener el promedio de ellas. #include #include main() { printf("\n Calificaciones de Marcos"); int c1,c2,c3,c4,c5,prom; printf("\n\n Inserte la primer calificacion: "); scanf("%d",&c1); printf("\n\n Inserte la segunda calificacion: "); scanf("%d",&c2); printf("\n\n Inserte la tercer calificacion: "); scanf("%d",&c3); printf("\n\n Inserte la cuarta calificacion: "); scanf("%d",&c4); printf("\n\n Inserte la ultima calificacion: "); scanf("%d",&c5); prom=(c1+c2+c3+c4+c5)/5; printf("\n\n El Promedio de Marcos es: %d",prom); getch(); }

Programa que presenta el grado de estudio en la esta una persona de acuerdo a su edad
{ int a; printf("\n\nInserte la edad de la persona: "); scanf("%d",&a); if(a>=6 && a=12 && a=15 && a=18 && ap align=leftfont i=10;/font/p p align=leftfont while (i>=1) { j=1; while(j<=10) { mult=i*j; printf("%d * %d = %d\n",i,j,mult); j=j+1; } i=i-1; if(i<=6||i<=4||i<=2) i=i-1; printf("\n\n"); getch(); } }

Programa que cuenta los caracteres y los imprima


#include #include #include main() { char cadena [50]; int c; printf ("\n Programa que Lee los Numeros de Caracteres que se Insertaron."); printf("\n\n Inserte una Palabra "); scanf("%s",&cadena); c=strlen(cadena); printf("\n\nLa cadena Insertado es %s",cadena); printf("\n\nEl numero de caracteres es: %d",c); getch(); }

Programa que imprime las tablas de multiplicar con una funcin tabla
#include #include void tabla(); main() { tabla(); getch(); } void tabla() { int i, j, mult; for(i=1;i<=10;i++) { for(j=1;j<=10;j++) { mult=i*j; printf("%d*%d=%d\n",i,j,mult); } printf("\n\n"); } }

Programa que suma 2 nmeros


#include #include int sumac(int, int); main() { int s; s=sumac(59,2); printf("La sumac es:%d",s); getch(); } int sumac (int x, int y) { int a; a=x+y; return (a); }

Programa que suma dos cantidades. #include #include void sumac(int, int); main() {

sumac(10,2); getch(); } void sumac(int x,int y) { int s; s=x+y; printf("La suma es:%d",s); }

Programa que suma 2 nmeros mediante la funcin void suma. #include #include void sumac(); main() { sumac(); getch(); } void sumac() { int x,y,s; printf("\nInserte el valor de x: "); scanf("%d",& x); printf("\nInserte el valor de y: "); scanf("%d",& y); s=x+y; printf("\n\nLa suma es:%d",s); }

Programa que suma 2 nmeros mediante la funcin void.

#include #include void sumac(int, int); main() { int a,b; printf("\nInserte el valor de a: "); scanf("%d",& a); printf("\nInserte el valor de b: "); scanf("%d",& b); sumac(a,b); getch(); } void sumac(int x, int y) { int s; s=x+y; printf("\n\nLa suma es:%d",s); }

Leer ms: http://www.monografias.com/trabajos81/ejercicios-c-resueltosvarios/ejercicios-c-resueltos-varios2.shtml#ixzz2YnCiKtr0

También podría gustarte