Aqui esta lo basico de lenguaje de programacion C.
Los ejemplos presentados son talleres que se han desarrollado en todo en segundo semestre de de la carrera profecional Ingenieria en Programacion y Sistemas. En ITP.
Los ejemplos fueron realizados en borland.
2. Introducción Teórica
Creador:
Dennis Ritchie (Laboratorios Bell) el 1972, cuando
trabajaba junto con Ken Thompson en el diseño del
sistema operativo UNIX.
El ‘C’ se cree como herramienta para programadores, en
consecuencia su principal objetivo es ser un lenguaje útil.
*INTRODUCCIÓN
3. El “C” es un lenguaje de programación de “alto nivel” (alto nivel
quiere decir “próximo al lenguaje humano”), pero con
características de “bajo nivel” (bajo nivel= próximo al lenguaje
máquina).
Es de alto nivel porque es racional, estructurado y fácil de
aprender.
Es de bajo nivel porque permite trabajar con “bits”, registros de
la C.P.U. y posiciones de memoria.
*CARACTERÍSTICAS
4. El lenguaje ‘C’ es poderoso y flexible: la mayor parte del sistema
operativo UNIX está escrito en ‘C’.
Incluso están escritos en ‘C’ los compiladores e intérpretes de
otros lenguajes, como FORTRAN, APL,
PASCAL, LISP, LOGO y BASIC.
El lenguaje ‘C’ es “amistoso” porque es lo suficientemente
estructurado para ejercer buenos hábitos de programación.
Es el lenguaje de programación más utilizado por el
programador de sistemas.
*¿PORQUÉ EL “C”?
5. * ESTRUCTURA DE UN PROGRAMAEN “C”
Código fuente Código objeto Programa
ejecutable
compilar linkar
Código Fuente: es el programa que nosotros escribimos, extensión CPP
Código Objeto: es el programa fuente pero traducido a lenguaje máquina
(sucesión de ceros y unos), se graba con la extensión OBJ
Programa Ejecutable: es el programa objeto más las “librerías del C”.
El ‘C’ es un lenguaje compilado, vamos a ver que es esto
gráficamente:
6. * RELACIONES DEL “C” CON OTROS LENGUAJES DE
PROGRAMACIÓN
FORTRAN (1955)
ANSI C(1985) )
C(1972)
PL/1 (1965) PASCAL (1970)
ALGOL (1960)
C++(1985)
7. #include <stdio.h>
void main()
{ printf("Curso de Programación en C"); }
Recuerda:
• Escribe el programa anterior utilizando tu compilador.
• Grábalo con el nombre Prog001.cpp en Tu Carpeta.
• Ejecútalo un par o tres de veces
* PRIMEROS PROGRAMAS EN ‘C’
8. /* */: Todo lo que escribimos entre los símbolos anteriores son
“comentarios "que no influyen para nada en la ejecución del programa.
#include <librería.h>: parte donde colocamos las librerías que vamos a
usar.
void main() { }: Función o programa principal (main), que no devuelve
nada (void).
n : Es equivalente a un [Return]. Se le llama manipulador de formato.
* CONCEPTOS PARA RECORDAR
9. Tipo entero (int): representa números enteros con o sin signo, El tipo de datos
entero se define en el lenguaje de programación C por la palabra reservada int.
Para definir un tipo de dato en C se escribe lo siguiente:
int nombre_variable = valor;
Tipo real (float): Se emplean para representar números reales (con decimales).
Para definir datos reales se antepone la palabra reservada float al identificador
de la variable.
float nombre_variable = valor;
Tipo carácter (char): se emplea para representar un carácter, este tipo de dato se
antepone la palabra reservada char al identificador de la variable, Una constante
tipo char se representa como un solo carácter encerrado entre comillas simples.
Char nombre_variable = ‘valor’;
* DATOS MÁS IMPORTANTES
10. Tipo cadena de caracteres: una cadena de caracteres es un número de
caracteres consecutivos encerrado entre unos delimitadores determinados, que
en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena,
estas se definen como vectores de caracteres, esto es, anteponiendo la palabra
reservada char al identificador de la variable, y después entre corchetes la
longitud máxima de cadena.
Char nombre_variable[cantidad] = “ mensaje ”;
long (abreviatura de signed long int = entero largo con signo) : corresponde a un
número entero que puede ser mayor (o menor) a un int.
Observa el formato correspondiente: %ld, a diferencia del %d que correspondía a
int.
Doublé: numero real de doble precisión
11. * MEMORIA QUE UTILIZALOS DATOS
Tipo de dato Descripción memoria
Int Cantidad entera 2 bytes (1palabra )
Char Carácter 1 byte
Float valores reales 4 byte (1 palabra)
Double valores reales de doble precisión 8 bytes (2 palabras)
Void Se utiliza para definir una función que no devuelve
ningún valor o declarar punteros genéricos (lo veremos
más tarde)
12. * RANGOS DE DATOS
TIPO Número de bits Rango
char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
short 16 -32768 a 32767
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
short int 16 -32768 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32768 a 32767
long int 32 -2147483648 a 2147483647
signed long int 32 -2147483648 a 2147483647
unsigned long int 32 0 a 4294967295
long 32 -2147483648 a 2147483647
unsigned long 32 0 a 4294967295
float 32 3.4E-38 a 3.4E+38
double 64 1.7E-308 a 1.7E+308
long double 64 ó 80 (según versión). 1.7E-308 a 1.7E+308 ó 3.4E-4932 a 1.1E+4932
13. * FORMATOSDE DATOS
Tipo de dato Formato Comentario
Int %d o %i Entero con signo
Float %f Real con signo
Float %.1f
Para escoger la cantidad de decimales solo cambia el
numero
Char %c carácter
Char [n] %s Cadena de caracteres
14. Elemento o zona de almacenamiento de datos, cuyo valor puede variar
en el desarrollo o proceso del programa. El uso de variables en C++
requiere el seguimiento de los siguientes aspectos:
Declaración De Variables: Consiste en escribir una sentencia que
proporciona información al compilador de C++ para que este reserve un
espacio de almacenamiento en memoria. Toda variable utilizada en un
programa debe ser declarada previamente. El procedimiento es el
siguiente:
<tipo_de_dato> <nombre_de_variable>; int x;
<tipo_de_dato> <lista_de_variables>; char x, y, z;
<tipo_de_dato> <nombre_de_variable> = valor; int x = 10;
*VARIABLES
15. Reglas Para Identificar Variables: Toda variable está constituida por un
nombre al que llamaremos identificador. Para asignar este identificador
deben seguirse las reglas que a continuación se señalan:
• Pueden llevar caracteres alfanuméricos: Letras de la A ala Z >
(mayúsculas o minúsculas) y números.
• Deben comenzar por una letra y no por un numero o signo.
• Solo se acepta el signo _ (guión bajo) dentro del identificador.
• No pueden usarse palabras reservadas como identificadores.
• El numero de caracteres de un identificador no debe sobrepasar la
cantidad de 31.
• Es recomendable utilizar identificadores que hagan referencia al dato
que almacenan.
16. Asignación De Valores: Una vez que la variable ha sido definida, esta
lista para albergar datos en su interior. Dicho dato solo podrá ser del
mismo tipo con el que se ha declarado la variable. Es posible también
asignar un valor a una variable al mismo momento de declararla.
int recetaDelMes = 12301;
Tipo de Dato Identificador Valor Asignado
Variables globales: son las que se declaran después del llamado a las
cabeceras, pero antes de cualquier función, y son útiles para cualquier
parte del programa.
Variables locales: son las que se declaran dentro de una función, y solo
sirven para ser usadas dentro de esa función.
17. Constante: Hace que una variable tome el valor con el que la
inicialicemos el cual ya no podrá ser cambiado.
Declaración De Constantes: Constantes declaradas const La palabra
reservada const indica que el valor de la variable no se puede modificar.
Su sintaxis es la siguiente:
const <tipo_de_dato> <nombre_de_constante> = <valor> ;
Constantes definidas: Se declaran mediante la directiva #define. Su
sintaxis es la siguiente:
#define <nombre_de_constante> <valor>
*CONSTANTES
18. Asignación De Valores: Los valores de una constante se asignan en el
mismo momento en que estas son declaradas.
const recetaDelMes = 12301;
Además, las constantes pueden ser:
Números Enteros
Números Reales
Caracteres
Cadenas de Caracteres
Variable Volátil: Indica que el valor de la variable puede cambiar incluso
por condiciones eternas al programa que la declara.
19. Los operadores son elementos que disparan ciertos cálculos cuando son
aplicados a variables o a otros objetos en una expresión.
Operando: cada una de las constantes, variables o expresiones que
intervienen en una expresión.
Operador: cada uno de los símbolos que indican las operaciones a
realizar sobre los operandos, así como los operandos a los que afecta.
Expresión: según el diccionario, "Conjunto de términos que representan
una cantidad", para nosotros es cualquier conjunto de operadores y
operandos, que dan como resultado un valor.
*OPERADORES
20. Operadores De Asignación:
Operador Acción Ejemplo Resultado
= Asignación Básica X=6 X vale 6
*= Asigna Producto X*=5 X vale 30
/= Asigna División x/=2 X vale 3
+= Asigna Suma X+=4 X vale 10
-= Asigna Resta X-=1 X vale 5
%= Asigna Modulo X%=5 X vale 1
<<= Asigna Desplazamiento Izquierda X<<=1 X vale 12
>>= Asigna Desplazamiento Derecha X>>=1 X vale 3
&= Asigna AND entre Bits X&=1 X vale 0
ˆ= Asigna XOR entre Bits xˆ=1 X vale 7
|= Asigna OR entre Bits X|=1 X vale 7
21. Operadores aritméticos: Los operadores aritméticos se usan para realizar
cálculos y operaciones con números reales y punteros básicamente
permiten hacer cualquier operación aritmética que se necesite Los
operadores más comunes son :
Operador Acción Ejemplo Resultado
- Resta X=5-3; X vale 2
+ Suma X=5+3; X vale 8
* Multiplicación x=2*3; X vale 6
/ División X=6/3; X vale 2
% Modulo X=5%2; X vale 1
-- Decremento X=1;-- X vale 0
++ Incremento X=1;++ X vale 2
22. Operadores Relacionales: Los operadores relacionales también
denominados operadores binarios lógicos y de comparación se utilizan
para comprobar la veracidad o falsedad de determinadas propuestas
de relación.
Operador Relación Ejemplo Resultado
< Menor X=5; y=3; if(x<y) x+1; X vale 2 Y vale 3
> Mayor X=5; y=3; if(x>y) x+1; X vale 6 Y vale 3
<= Menor Igual X=5; y=3; if(x<=y) x+1; X vale 3 Y vale 3
>= Mayor Igual X=5; y=3; if(x>=y) x+1; X vale 6 Y vale 3
== Igual X=5; y=5; if(x==y) x+1; X vale 6 Y vale 5
!= Diferente X=5; y=3; if(x!=y) y+1; X vale 5 Y vale 4
23. Operadores Lógicos: Los operadores lógicos producen un resultado
booleano y sus operandos son también valores lógicos o asimilables a
ellos (los valores numéricos son asimilados a cierto o falso según su valor
sea cero o distinto de cero) Por el contrario las operaciones entre bits
producen valores arbitrarios Los operadores lógicos son tres dos de ellos
son binarios y el último (negación).
Operador Acción Ejemplo Resultado
&& AND Lógico A && B Si ambos son verdaderos se
obtiene verdadero(true).
|| OR Lógico A || B Verdadero si alguno es
verdadero
! Negación Lógica !A Negación de a
24. Operadores De Bits: Los operadores de movimiento son operadores a
nivel de bits y lo que hacen es convertir una determinada cantidad a su
equivalente en bits para posteriormente realizar un desplazamiento de
dicho valor Estos operadores son:
Operador Acción Ejemplo Resultado
<< Desplazamiento a Izquierda A << B X vale 2
>> Desplazamiento a Derecha X=5+3; X vale 8
˜ Complemento X=2*3; X vale 6
& AND X=2&-2; X vale 2
ˆ XOR X=7ˆ-2 X vale -7
| OR X=6|13 X vale 15
26. CICLOS
Un ciclo o bucle permite repetir una o varias instrucciones cuantas veces lo necesitemos.
CICLO FOR: Este ciclo es uno de los mas usados para repetir una
secuencia de instrucciones, sobre todo cuando se conoce la cantidad
exacta de veces que se quiere que se ejecute una instrucción simple o
compuesta.
Su formato general es:
for (inicialización; condición; incremento)
{
instrucción(es);
}
28. *Ciclo While: Una sentencia while hace una comparación entre dos
valores o la evaluación de un valor. La condición devolverá un valor "true"
o "false". Si la condición devuelve un valor verdadero, el bloque de
código que sigue a la instrucción while se ejecuta. Una vez finalizada la
ejecución, el programa comprueba la sentencia while otra vez, y repite
esto hasta que la sentencia while se evalúe como "false«.
Su formato general es:
while (condicion)
{
instrucción(es);
}
29. #include <stdio.h>
#include <conio.h>
void main()
{
float nota;
printf( "n Introduzca nota (real): "
);
scanf( "%f", ¬a );
while ( nota < 0 || nota > 10 )
{
printf( "n ERROR: Nota
incorrecta, debe ser >= 0 y <=10n"
);
printf( "n Introduzca nota
(real): " );
scanf( "%f", ¬a );
}
if ( nota >= 5 )
printf( "n APROBADO" );
else
printf( "n SUSPENDIDO" );
getch();
}
Ejemplo:
30. *Ciclo Do-While: Los ciclos do-while son idénticos a los ciclos while, con
una excepción: do-while ejecutará el bloque de código que repite la
evaluación antes de la sentencia while.
Su formato general es:
do
{
instrucción(es);
}while (condicion);
31. Ejemplo:
#include <stdio.h>
#include <conio.h>
void main()
{
char seguir;
int acumulador, numero;
acumulador = 0;
do
{
printf( "n Introduzca un numero entero: " );
scanf( "%d", &numero);
acumulador += numero;
printf( "n Desea introducir otro numero (s/n)?: "
);
fflush( stdin );
scanf( "%c", &seguir);
} while ( seguir != 'n' );
printf( "n La suma de los numeros introducidos
es: %d",
acumulador );
getch();
}
32. SENTENCIAS
Una sentencia es cualquier expresión en C que se espera que tenga alguna
consecuencia. Pueden ser asignaciones, operaciones, llamadas a
funciones o combinaciones de ellas.
*Sentencia If...else: Permite la ejecución condicional de una sentencia.
Su formato general es:
if (condicion)
{
instrucción(es); }
Else
{
instrucción(es); }
34. * sentencia Switch – Case:Esta sentencia permite seleccionar las acciones a realizar de acuerdo al valor que tome una variable.
Su formato general es:
switch(variable)
{
case valor_1:
//acciones
break;
case valor_2:
//acciones
break;
.
.
case valor_n:
//acciones
break;
defalut:
//acciones
break;
}
Si el valor que toma la variable no coincide con los valores especificados en los casos, se realizarán las acciones definidas en la
etiqueta default.
35. #include "stdio.h"
#include "conio.h"
void main()
{
char seguir;
int opc;
int n1,n2;
do
{
printf (" MENUnn");
printf (" 1. Realizar una suman");
printf (" 2. Realizar una restann");
printf (" Elija una opcionn");
scanf ("%i",&opc);
switch (opc)
{
case 1: printf (" Ingrese un numeron");
scanf ("%i",&n1);
printf (" Ingrese otro numeron");
scanf ("%i",&n2);
printf (" La suma de %i y %i es: %i",n1,n2,n1+n2);
break;
case 2: printf (" Ingrese un numeron");
scanf ("%i",&n1);
printf (" Ingrese otro numeron");
scanf ("%i",&n2);
printf (" La resta de %i y %i es: %i",n1,n2,n1-n2);
break;
default: printf (" la opcion no es validan");
}
fflush(stdin);
printf ("nn Desea eleguir otra opcion? S/Nn");
scanf ("%c",&seguir);
clrscr();
}while(seguir!='n');
getch();
}
Ejemplo:
36. *
Un vector, también llamado array(arreglo)
unidimensional, es una estructura de datos que permite
agrupar elementos del mismo tipo y almacenarlos en un
solo bloque de memoria juntos, uno después de otro.
La siguiente sintaxis: Tipo nombre[tamaño]
37. Ejemplo:
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main ()
{
char seguir;
int i,num,res;
do
{
printf ("n Ingrese un numero para
generar su tabla ");
scanf ("%d",&num);
for (i=1;i<=10;i++)
{
res=num*i;
printf ("n %d * %d = %d ",num,i,res);
}
printf ("n Desea ingresar otro numero
S/N ");
fflush( stdin );
scanf ("%c",&seguir);
clrscr();
}while (seguir != 'n');
getch();
}
38. Una matriz es un vector de vectores o un también llamado array
bidimensional.
Su sintaxis es:
Tipo nombre[tamaño de fila][tamaño de
columna];
MATRICES
39. Ejemplo:
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main ()
{
char seguir;
int i,j,num,num1,num2;
do
{
printf (" Ingrese un numero para generar
filan");
scanf ("%d",&num);
printf (" Ingrese un numero para generar
columnan");
scanf ("%d",&num1);
printf (" Ingrese el numero a repetirn");
scanf("%d",&num2);
for (i=0;i<num;i++)
{
for(j=0;j<num1;j++)
{
printf (" %d ",num2);
}
printf("n");
}
printf ("n Desea ingresar otro numero S/N ");
fflush( stdin );
scanf ("%c",&seguir);
clrscr();
}while (seguir != 'n');
getch();
}
40. PROCEDIMENTO
Un procedimiento es un fragmento de código cuya función es la
de realizar una tarea específica independientemente del
programa en el que se encuentre.
Sintaxis de un procedimiento:
• Cabecera: <tipo> <identificador> ( <parámetros> ) ;
• Uso: <tipo><identificador> ( <parámetros> )
{
<sentencias>
}
41. Ejemplo:
#include "stdio.h"
#include "conio.h"
void maximo(int x,int y)
{
if (x>y)
printf (" El maximo es %d ",x);
else
printf (" El maximo es %d ",y);
}
void main()
{
int a,b,max;
printf (" Escriba un numeron");
scanf("%d",&a);
printf (" Escriba otro numeron");
scanf("%d",&b);
maximo(a,b);//llamamos la funcion
a=x y b=y
getch();
}
42. FUNCIONES
Una función es exactamente lo mismo que un procedimiento salvo
por un detalle, una función puede devolver un valor al programa
principal y un procedimiento no.
Sintaxis de un Función:
• Cabecera: <tipo> <identificador> ( <parámetros> ) ;
• Uso: <tipo><identificador> ( <parámetros> )
{
<sentencias>
return <valor>;
}
43. Ejemplo:
#include "stdio.h"
#include "conio.h"
int maximo(int x,int y)
{
if (x>y)
return x;
else
return y;
}
void main()
{
int a,b,max;
Printf (" Escriba un numeron");
scanf("%d",&a);
printf(" Escriba otro numeron");
scanf("%d",&b);
max=maximo(a,b);//llamamos la
funcion a=x y b=y
printf (" el maximo es %d",max);
getch();
}
44. PUNTEROS
El valor de todas las variables que
manejamos en nuestros programas se
almacenan en memoria y tienen una
dirección. Un puntero es una variable
especial que apunta a la dirección de
memoria de una variable.
Su sintaxis es : <tipo> *<nombre>;
45. Ejemplo:
#include <stdio.h>
#include <conio.h>
#define x 10
void main()
{
int *pt,v[x],num,i;// *pt: es un puntero.
printf (" Digite un numero ");
scanf ("%i",&num);
for (i=0;i<num;i++)
{
v[i]=num*(i+1);
}
pt=&v[0];
for (i=0;i<num;i++)
{
printf (" v[%i] = %i n",i,*pt);
pt++;
}
getch();
}
46. //PROGRAMA: la serie de
Fibonacci
#include <stdio.h>
#include <conio.h>
int main()
{
int i,j,k,t,n;
n=15;//final de la serie
i=0; j=1; //asignacion necesaria
printf("%d,%d,",i,j); //imprimimos
los 2 primeros valores
for(k=1;k<n;k++){ //Si n = 3
entonces k va a parar cuando
llegue a 2
t=i+j;
(k>n-
2)?printf("%d.",t):printf("%d,",t);
i=j;
j=t;
}
getch();
}
47. //PROGRAMA: M.C.D de dos Numeros
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main()
{
int x,y,r;
printf ("n Maximo comun divisor de
dos numeros n");
printf ("n Ingrese primer numero en X
");
scanf("%d", &x);
printf ("n Ingrese segundo numero en
Y ");
scanf("n%d", &y);
r=x%y;
while(r>0)
{
x=y;
y=r;
r=x%y;
}
printf(" n El MCD es %d", y);
getch();
}
48. //PROGRAMA: M.C.M de dos Números
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main()
{
int a, b, x, y, m=1, i=2;
printf ("n Mínimo común múltiplon ");
printf ("n Ingrese primer numero: X ");
scanf("%d",&x);
printf ("n Ingrese segundo numero: Y ");
scanf("n%d",&y);
if (x<y){a=x; b=y;} else {a=y; b=x;}
do{
if (a%i==0){
if(b%i==0){
m=m*i;
a=a/i; b=b/i; i=2;
}
else i++;
}
else i++;
} while(i<=a);
m=m*b*a;
printf ("n El MCM es %d",m);
getch();
}
49. PRIMO O NO PRIMO:
// PROGRAMA:N° PRIMO O N° NO PRIMO
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main()
{
int num,i;
int a=0;
printf (" nIngrese un numero ");
scanf ("%d",&num);
for (i=1;i<(num+1);i++)
{
if (num%i==0)
{
a++;
}
}
if (a==2)
{
printf ("El numero %d es: Primo",num);
}
else
{
printf ("El numero %d es: No primo",num);
}
getch();
}
50. TABLA DE MULTIPLICAR:
//PROGRAMA: TABLA DE MULTIPLICAR CON
CONDICION
#include "stdio.h"
#include "conio.h"
#include "iostream.h"
void main ()
{
char seguir;
int i,num,res;
do
{
printf ("n Ingrese un numero para generar su
tabla ");
scanf ("%d",&num);
for (i=1;i<=10;i++)
{
res=num*i;
printf ("n %d * %d = %d ",num,i,res);
}
printf ("n Desea ingresar otro numero S/N ");
fflush( stdin );
scanf ("%c",&seguir);
clrscr();
}while (seguir != 'n');
getch();
}
51. }
else
{
printf ("El numero %d es: No primo",num);
}
}//
else if (opc==2)
{
int i,j,k,t,n;
n=15;
i=0; j=1;
printf("%d,%d,",i,j);
for(k=1;k<n;k++){
t=i+j;
(k>n-2)?printf("%d.",t):printf("%d,",t);
i=j;
j=t;
}
}//
else if (opc==3)
{
int a, b, x, y, m=1, i=2;
printf ("n Minimo comun multiplon ");
printf ("n Ingrese primer numero: X ");
scanf("%d",&x);
printf ("n Ingrese segundo numero: Y ");
scanf("n%d",&y);
if (x<y){a=x; b=y;} else {a=y; b=x;}
do{
if (a%i==0){
if(b%i==0){
52. m=m*i;
a=a/i; b=b/i; i=2;
}
else i++;
}
else i++;
} while(i<=a);
m=m*b*a;
printf ("n El MCM es %d",m);
}//
else if (opc==4)
{
int x,y,r;
printf ("n Maximo comun divisor de dos numeros n");
printf ("n Ingrese primer numero en X ");
scanf("%d", &x);
printf ("n Ingrese segundo numero en Y ");
scanf("n%d", &y);
r=x%y;
while(r>0)
{
x=y;
y=r;
r=x%y;
}
printf(" n El MCD es %d", y);
}//
else if (opc==5)
{
int i,num,res;
printf ("n Ingrese un numero para generar su tabla ");
scanf ("%d",&num);
for (i=1;i<=10;i++)
{
res=num*i;
printf ("n %d * %d = %d ",num,i,res);
}
}//
printf ("nn Desea ingresar otra opcion? S/N ");
fflush( stdin );
scanf ("%c",&seguir);
clrscr();
}while (seguir!= 'n');
printf ("nn GRASIAS... vuelva pronto");
getch();
}
53. TABLA DE MULTIPLICAR CON MENU:
#include "stdio.h"
#include "conio.h"
void main()
{
clrscr();
int i,j,n=0,r,opc;
inicio:
printf (" °°°°°°°°°°°°°°° MENU °°°°°°°°°°°°°°°nn");
printf (" 1. Para que aparesca todos los #.n");
printf (" 2. Para que aparescan los # pares.n");
printf (" 3. Para que aparescan los # impares.n");
printf (" 4. Para que aparescan los # < 20.n");
printf (" 5. Para que aparescan los # entre 20 y
50.n");
printf (" 6. Para que aparescan los # entre 51 y
80.n");
printf (" 7. Para que aparescan los # > 81.nn");
printf (" Elija una opcion... ");
scanf ("%d",&opc);
printf ("Ingrese el limite ");
scanf ("%d",&n);
clrscr();
switch (opc)
{
case 1:
for (i=1;i<=n;i++)
{
for (j=1;j<=10;j++)
{
r=i*j;
printf (" %d - ",r);
}
printf ("n");
}break;
case 2:
for (i=1;i<=n;i++)
{
for (j=1;j<=10;j++)
{
if (i%2==0)
{
r=i*j;
printf (" %d - ",r);
}
}
printf ("n");
}
break;
case 3:
for (i=1;i<=n;i++)
{
for (j=1;j<=10;j++)
{
if (i%2!=0)
{
r=i*j;
printf (" %d - ",r);
}
54. }
printf ("n");
}
break;
case 3:
for (i=1;i<=n;i++)
{
for (j=1;j<=10;j++)
{
if (i%2!=0)
{
r=i*j;
printf (" %d - ",r);
}
}
printf ("n");
}
break;
case 4:
for (i=1;i<=n;i++)
{
for (j=1;j<=10;j++)
{
if (i<=20)
{
r=i*j;
printf (" %d - ",r);
}
}
printf ("n");
}
break;
case 5:
for (i=21;i<=n;i++)
{
for (j=1;j<=10;j++)
{
if (i<=50){
r=i*j;
printf (" %d - ",r);
}
}
printf ("n");
}
break;
case 6:
for (i=51;i<=n;i++)
{
for (j=1;j<=10;j++)
{
if ( i<80)
{
r=i*j;
printf (" %d - ",r);
}
}
printf ("n");
}
break;
case 7:
for (i=81;i<=n;i++)
{
for (j=1;j<=10;j++)
{
r=i*j;
printf (" %d - ",r);
}
printf ("n");
}
break;
}//switch
r=0;
getch();
}
55. TALLER CINCO:
#include "stdio.h"
#include "conio.h"
#include <stdlib.h>
int main()
{
int opc;
printf (" °°°°°°°°°°°°°°° MENU °°°°°°°°°°°°°°°nn");
printf ("1. Numero Capicuan");
printf ("2. Tabla de Multiplicarn");
printf ("3. Salirnn");
printf ("Ingrese el numero de la opcion que desea
realizarn");
scanf ("%d",&opc);
if (opc==1)
{
int num[5];
long int n, n_temp;
int aux1, aux2, i;
i = 0;
aux1 = 0;
inicio:
printf(" Introduzca el numero para analizar si
es capicua o no n");
printf (" El numero debe ser menor que 100.000 y
mayor que 9n");
scanf("%i", &n);
printf("n");
if (n>=100000 || n<=9){
printf (" El numero ingresado no cumple con
los requisitos.n");
printf (" Presione una tecla para continuar...");
getch();
clrscr();
goto inicio;
}
n_temp = n;