Mostrando entradas con la etiqueta PROGRAMACION ESTRUCTURADA EN C. Mostrar todas las entradas
Mostrando entradas con la etiqueta PROGRAMACION ESTRUCTURADA EN C. Mostrar todas las entradas
viernes, 11 de septiembre de 2015
martes, 18 de junio de 2013
Programa que lee archivos y los muestra en la pantalla
// DAP: Un programa que lee archivos y los muestra
// en la pantalla.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
char car;
if(argc != 2)
{
printf("Has olvidado introducir el nombre del archivo. \n");
exit(1);
}
if((fp = fopen(argv[1], "r")) == NULL)
{
printf("No se puede abrir el archivo. \n");
exit(1);
}
car = getc(fp); // lee un caracter
while (car != EOF)
{
putchar(car); //lo muestra en pantalla
car = getc(fp);
}
fclose(fp);
system("PAUSE");
return 0;
}
// en la pantalla.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
char car;
if(argc != 2)
{
printf("Has olvidado introducir el nombre del archivo. \n");
exit(1);
}
if((fp = fopen(argv[1], "r")) == NULL)
{
printf("No se puede abrir el archivo. \n");
exit(1);
}
car = getc(fp); // lee un caracter
while (car != EOF)
{
putchar(car); //lo muestra en pantalla
car = getc(fp);
}
fclose(fp);
system("PAUSE");
return 0;
}
Un programa que guarda texto en disco
// TAD: Un programa que guarda texto en disco.
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
FILE *fp;
char car;
if(argc != 2)
{
printf("Has olvidado introducir el nombre del archivo. \n");
exit(1);
}
if((fp = fopen(argv[1], "w")) == NULL)
{
printf("No se puede abrir el archivo. \n");
exit(1);
}
do
{
car = getchar();
putc(car, fp);
}while (car != 'f');
fclose(fp);
system("PAUSE");
return 0;
}//fin de main
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
FILE *fp;
char car;
if(argc != 2)
{
printf("Has olvidado introducir el nombre del archivo. \n");
exit(1);
}
if((fp = fopen(argv[1], "w")) == NULL)
{
printf("No se puede abrir el archivo. \n");
exit(1);
}
do
{
car = getchar();
putc(car, fp);
}while (car != 'f');
fclose(fp);
system("PAUSE");
return 0;
}//fin de main
lunes, 17 de junio de 2013
Leer un caracter del teclado y comprobar si es una letra
//Leer un caracter del teclado y comprobar si es una letra
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
char inicial;
printf("Cual es su primer caracter inicial ?: ");
scanf("%c", &inicial);
if(!isalpha(inicial))
puts("Caracter no alfabético ");
puts("Terminado");
puts("\n");
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main()
{
char inicial;
printf("Cual es su primer caracter inicial ?: ");
scanf("%c", &inicial);
if(!isalpha(inicial))
puts("Caracter no alfabético ");
puts("Terminado");
puts("\n");
system("PAUSE");
return 0;
}
Calculo de los numeros de Fibonacci
// Calculo de los numeros de Fibonacci
#include <stdio.h>
#include <stdlib.h>
long int fibonacci(void);
int main()
{
int n,i;
printf("\nCuantos numeros de fibonacci ?: ");
scanf("%d", &n);
printf("\nSecuencia de fibonacci: 0,1");
for ( i = 2; i < n; i++ )
printf(", %ld", fibonacci());
printf("\n");
system("PAUSE");
return 0;
}//fin main
long int fibonacci(void)
{
static int x = 0;
static int y = 1;
y = y + x;
x = y - x;
return y;
}
#include <stdio.h>
#include <stdlib.h>
long int fibonacci(void);
int main()
{
int n,i;
printf("\nCuantos numeros de fibonacci ?: ");
scanf("%d", &n);
printf("\nSecuencia de fibonacci: 0,1");
for ( i = 2; i < n; i++ )
printf(", %ld", fibonacci());
printf("\n");
system("PAUSE");
return 0;
}//fin main
long int fibonacci(void)
{
static int x = 0;
static int y = 1;
y = y + x;
x = y - x;
return y;
}
Funcion que devuelve mayor de dos enteros
// La funcion max devuelve el numero mayor de dos enteros
#include <stdio.h>
#include <stdlib.h>
int max(int x, int y)
{
if (x < y)
return y;
else
return x;
}//final de max
int main()
{
int m, n;
printf("Introduzca dos numeros enteros: ");
scanf("%d %d", &m,&n);
printf("Maximo de %d y %d es %d\n", m,n,max(m, n));
system("PAUSE");
return 0; //terminacion exitosa
}//fin de main
#include <stdio.h>
#include <stdlib.h>
int max(int x, int y)
{
if (x < y)
return y;
else
return x;
}//final de max
int main()
{
int m, n;
printf("Introduzca dos numeros enteros: ");
scanf("%d %d", &m,&n);
printf("Maximo de %d y %d es %d\n", m,n,max(m, n));
system("PAUSE");
return 0; //terminacion exitosa
}//fin de main
Suma de los 10 primeros numeros pares
// Suma de los 10 primeros numeros pares
#include <stdio.h>
#include <stdlib.h>
int main()
{
int suma = 0;
int n;
for(n = 1; n <= 10; n++)
suma += 2*n;
printf("La suma de los 10 primeros numeros pares: %d\n", suma);
system("PAUSE");
return 0; //terminacion exitosa
}//fin de main
#include <stdio.h>
#include <stdlib.h>
int main()
{
int suma = 0;
int n;
for(n = 1; n <= 10; n++)
suma += 2*n;
printf("La suma de los 10 primeros numeros pares: %d\n", suma);
system("PAUSE");
return 0; //terminacion exitosa
}//fin de main
Calculo de la media de seis numeros
// Calculo de la media de seis numeros
#include <stdio.h>
#include <stdlib.h>
int main()
{
const int TotalNum = 6;
int ContadorNum = 0;
float SumaNum = 0;
float media;
float numero;
printf("Introduzca %d numeros\n", TotalNum);
while(ContadorNum < TotalNum)
{
scanf("%f", &numero);
SumaNum += numero;
++ContadorNum;
}// fin de while
media = SumaNum/ContadorNum;
printf("Media: %.2f \n", media);
system("PAUSE");
return 0; //terminacion exitosa
}// fin de main
#include <stdio.h>
#include <stdlib.h>
int main()
{
const int TotalNum = 6;
int ContadorNum = 0;
float SumaNum = 0;
float media;
float numero;
printf("Introduzca %d numeros\n", TotalNum);
while(ContadorNum < TotalNum)
{
scanf("%f", &numero);
SumaNum += numero;
++ContadorNum;
}// fin de while
media = SumaNum/ContadorNum;
printf("Media: %.2f \n", media);
system("PAUSE");
return 0; //terminacion exitosa
}// fin de main
Calculo de calorias
/* El programa realiza un calculo de calorías */
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num_de_elementos, cuenta, calorias_por_alimento, calorias_total;
printf(" Cuantos alimentos ha comido hoy ? ");
scanf("%d", &num_de_elementos);
calorias_total = 0;
cuenta = 1;
printf("Introducir el numero de calorias de cada uno de los ");
printf("%d", num_de_elementos,"alimentos tomados: \n");
while(cuenta++ <= num_de_elementos)
{
scanf("%d", &calorias_por_alimento);
calorias_total += calorias_por_alimento;
}//fin while
printf("Las calorias totales consumidas hoy son = ");
printf(" %d \n", calorias_total);
system("PAUSE");
return 0; //terminacion exitosa
}// fin de main
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num_de_elementos, cuenta, calorias_por_alimento, calorias_total;
printf(" Cuantos alimentos ha comido hoy ? ");
scanf("%d", &num_de_elementos);
calorias_total = 0;
cuenta = 1;
printf("Introducir el numero de calorias de cada uno de los ");
printf("%d", num_de_elementos,"alimentos tomados: \n");
while(cuenta++ <= num_de_elementos)
{
scanf("%d", &calorias_por_alimento);
calorias_total += calorias_por_alimento;
}//fin while
printf("Las calorias totales consumidas hoy son = ");
printf(" %d \n", calorias_total);
system("PAUSE");
return 0; //terminacion exitosa
}// fin de main
viernes, 24 de mayo de 2013
Visualizacion de un temporizador software
/* Visualizacion de un temporizador software. */
#include<stdio.h>
#define
RETAR 12800000
struct mi_hora {
int
horas;
int
minutos;
int
segundos;
};
/*************************************/
/* Prototipo de funciones ************/
/*************************************/
void mostrar(struct mi_hora *t);
void actualizar(struct mi_hora *t);
void
retardo(void);
/*************************************/
int
main(void)
{
struct
mi_hora hora;
hora.horas
= 0;
hora.minutos
= 0;
hora.segundos
= 0;
for(;;)
{
actualizar(&hora);
mostrar(&hora);
}// fin
de for
system("PAUSE");
return 0;
// terminacion exitosa
}// fin de main
void actualizar(struct mi_hora *t)
{
t->
segundos++;
if(t->
segundos == 60)
{
t->
segundos = 0;
t->
minutos++;
}
if(t->
minutos == 60)
{
t->
minutos = 0;
t->
horas++;
}
if(t->
horas == 24)
t->
horas = 0;
retardo();
}// fin actualizar
void mostrar(struct mi_hora *t)
{
printf("%02d:",
t-> horas);
printf("%02d:",
t-> minutos);
printf("%02d:",
t-> segundos);
printf("\n");
}// fin de mostrar
void retardo(void)
{
long int
t;
/*
cambiese esto segun sea necesario */
for(t = 1; t < RETAR ; ++t);
}// fin de retardo
Programa de lista de correos (arrays de estructuras)
/*Un sencillo programa de lista de correos que
ilustra el uso de
arrays de estructuras. */
#include<stdio.h>
#include<stdlib.h>
#define
MAX 100
struct dir {
char
nombre[30];
char
calle[40];
char
ciudad[20];
char
provincia[3];
unsigned
long int codigo;
} lista_dir[MAX];
/* Prototipo de funciones **************/
void inic_lista(void), intro(void);
void
borrar(void), listar(void);
int
menu(void), busca_libre(void);
/***************************************/
int
main(void)
{
char
opcion;
inic_lista(); // inicializar el array de estructuras
for(;;)
{
opcion = menu();
switch(opcion)
{
case 1: intro();
break;
case 2: borrar();
break;
case 3: listar();
break;
case 4: exit(0);
} //fin de switch
} //fin
de for
system("PAUSE");
return 0;
//terminacion exitosa
}// fin de main
/****************************************************************/
/* Inicializar la lista. ****************************************/
/****************************************************************/
void
inic_lista(void)
{
register int t;
for(t = 0; t < MAX; ++t) lista_dir[t].nombre[0] = '\0';
}
/****************************************************************/
/*************************************************/
/* Seleccionar una operacion. ********************/
/*************************************************/
int menu(void)
{
char s[80];
int c;
printf("1. Introducir un
nombre\n");
printf("2.
Borrar un nombre\n");
printf("3.
Listar el archivo\n");
printf("4.
Salir\n");
do
{
printf("\nIntroduce
tu opcion: ");
gets(s);
c = atoi(s);
}while(c < 0 || c > 4); //fin de do_while
return c;
} //fin de menu
/***************************************************/
/**************************************/
/* Introducir direcciones en la lista */
/**************************************/
void
intro(void)
{
int sitio;
char s[80];
sitio =
busca_libre();
if(sitio
== -1)
{
printf("\nLista
llena");
return;
}
printf("Introduce
el nombre: ");
gets(lista_dir[sitio].nombre);
printf("Introduce
la calle: ");
gets(lista_dir[sitio].calle);
printf("Introduce
la ciudad: ");
gets(lista_dir[sitio].ciudad);
printf("Introduce
las siglas de la provincia: ");
gets(lista_dir[sitio].provincia);
printf("Introduzca
el codigo postal: ");
gets(s);
lista_dir[sitio].codigo = strtoul(s, '\0',
10);
} // fin de intro
/*********************************************************/
/************************************/
/* Buscar una estructura no usada ***/
/************************************/
int busca_libre(void)
{
register
int t;
for( t =
0; lista_dir[t].nombre[0] && t < MAX; ++t);
if(t ==
MAX) return -1; // no hay sitio libre
return t;
} // fin de busca_libre
/*********************************************************/
/*****************************************************/
/* Eliminar una direccion
****************************/
/*****************************************************/
void borrar(void)
{
register int sitio;
char s[80];
printf("Introduce el numero de registro: ");
gets(s);
sitio = atoi(s);
if(sitio >= 0 && sitio < MAX)
lista_dir[sitio].nombre[0]
= '\0';
} // fin de borrar
/*****************************************************/
/*****************************************************/
/* Mostrar la
lista en la pantalla ******************/
/*****************************************************/
void
listar(void)
{
register int t;
for(t = 0; t < MAX; ++t)
{
if(lista_dir[t].nombre[0])
{
printf("%s\n",
lista_dir[t].nombre);
printf("%s\n",
lista_dir[t].calle);
printf("%s\n",
lista_dir[t].ciudad);
printf("%s\n",
lista_dir[t].provincia);
printf("%lu\n\n",
lista_dir[t].codigo);
}//fin
de if
}//fin de
for
printf("\n\n");
}//fin de listar
/******************************************************/
jueves, 23 de mayo de 2013
Calcular el factorial de un numero utilizando recursividad
#include <stdio.h>
long int fact(int num); //prototipo de funcion
int main()
{
int
n;
printf("Introduzca
el valor de n => ");
scanf("%ld", &n);
printf("\nn! es
igual a %8ld",fact(n));
printf("\n\n");
system("PAUSE");
return 0;
}
/* definicion de la funcion fact */
long int fact(int num)
{
if(num == 0)
return(1);
else
return(num
* fact(num-1));
}
miércoles, 22 de mayo de 2013
Calcular la media de n numeros (for)
/* calcular la media de n numeros */
#include <stdio.h>
int main()
{
int n, cont = 1;
float x, media, suma =
0;
/* inicializar
y leer el valor de n */
printf("Cuantos
numeros? ");
scanf("%d",
&n);
/*
leer los numeros */
for(cont
= 1; cont <= n; ++cont)
{
printf("x
= ");
scanf("%f",
&x);
suma
+= x;
}
/*
calcular la media y escribir la respuesta */
media
= suma/n;
printf("\nLa
media es %f\n\n", media);
system("PAUSE");
return
0;
}
Conversion de minusculas a mayusculas (for)
/* convertir una linea de texto de
minusculas a mayusculas (for)*/
#include <stdio.h>
#include <ctype.h>
#define EOL '\n'
int main()
{
char
letras[80];
int
aux, cont;
/*
leer el texto en minusculas */
for(cont = 0; (letras[cont] = getchar()) != EOL; ++cont);
aux
= cont;
/*
escribir el texto en mayusculas */
for(cont = 0; cont < aux; ++cont)
putchar(toupper(letras[cont]));
printf("\n\n");
system("PAUSE");
return
0;
}
Media de una lista de numeros (do-while)
/* calcular la media de n numeros
(do-while) */
#include <stdio.h>
int main()
{
int n, cont = 1;
float x, media, suma =
0;
/* inicializar
y leer el valor de n */
printf("Cuantos
numeros? ");
scanf("%d",
&n);
/*
leer los numeros */
do
{
printf("x
= ");
scanf("%f", &x);
suma += x;
++cont;
}while(cont <= n);
/* calcular la
media y escribir la respuesta */
media
= suma/n;
printf("\nLa
media es %f\n\n", media);
system("PAUSE");
return
0;
}
Conversion de minusculas a mayusculas (do-while)
/* convertir una linea de texto de
minusculas a mayusculas (do_while) */
#include <stdio.h>
#include <conio.h>
#define EOL '\n'
int main()
{
char
letras[80];
int
aux, cont = -1;
/*
leer el texto en minusculas */
do
++cont;
while((letras[cont] =
getchar()) != EOL);
aux
= cont;
/*
escribir el texto en mayusculas */
cont = 0;
do
{
putchar(toupper(letras[cont]));
++cont;
}while (cont < aux);
printf("\n\n");
system("PAUSE");
return
0;
}
Media de una lista de numeros. (while)
/* calcular la media de n numeros */
#include <stdio.h>
int main()
{
int n, cont = 1;
float x, media, suma =
0;
/* inicializar
y leer el valor de n */
printf("Cuantos
numeros? ");
scanf("%d",
&n);
/*leer
los numeros*/
while
(cont <= n)
{
printf("x
= ");
scanf("%f",
&x);
suma += x;
++cont;
}
/*calcular
la media y escribir la respuesta */
media
= suma/n;
printf("\nLa
media es %f\n\n", media);
system("PAUSE");
return
0;
}
Convertir una linea de texto de minuscula a mayuscula. (while)
/* convertir una línea de texto de
minúsculas a mayúsculas */
#include <stdio.h>
#include <ctype.h>
#define EOL '\n'
int main ()
{
char
letras[80];
int
aux, cont = 0;
/*
leer el texto en minúsculas */
while ((letras[cont] = getchar()) != EOL) ++cont;
aux = cont;
/*
escribir el texto en mayúsculas */
cont = 0;
while (cont < aux)
{
putchar(toupper(letras[cont]));
++cont;
}
printf("\n\n");
system("PAUSE");
return 0;
}
Suscribirse a:
Comentarios (Atom)