#include <stdio.h>
#include<stdlib.h>
#include<conio.h>
struct _agenda {
char nombre[20];
char telefono[12];
struct _agenda *siguiente;
};
struct _agenda *primero, *ultimo;
void mostrar_menu() {
printf("\n\nMenú:\n=====\n\n");
printf("1.- Añadir elementos\n");
printf("2.- Borrar elementos\n");
printf("3.- Mostrar lista\n");
printf("4.- Salir\n\n");
printf("Escoge una opción: ");fflush(stdin);
}
/* Con esta función añadimos un elemento al final de la lista */
void anadir_elemento() {
struct _agenda *nuevo;
/* reservamos memoria para el nuevo elemento */
nuevo = (struct _agenda *) malloc (sizeof(struct _agenda));
if (nuevo==NULL) printf( "No hay memoria disponible!\n");
printf("\nNuevo elemento:\n");
printf("Nombre: "); fflush(stdin);
gets(nuevo->nombre);
printf("Teléfono: "); fflush(stdin);
gets(nuevo->telefono);
/* el campo siguiente va a ser NULL por ser el último elemento
de la lista */
nuevo->siguiente = NULL;
/* ahora metemos el nuevo elemento en la lista. lo situamos
al final de la lista */
/* comprobamos si la lista está vacía. si primero==NULL es que no
hay ningún elemento en la lista. también vale ultimo==NULL */
if (primero==NULL) {
printf( "Primer elemento\n");
primero = nuevo;
ultimo = nuevo;
}
else {
/* el que hasta ahora era el último tiene que apuntar al nuevo */
ultimo->siguiente = nuevo;
/* hacemos que el nuevo sea ahora el último */
ultimo = nuevo;
}
}
void mostrar_lista() {
struct _agenda *auxiliar; /* lo usamos para recorrer la lista */
int i;
i=0;
auxiliar = primero;
printf("\nMostrando la lista completa:\n");
while (auxiliar!=NULL) {
printf( "Nombre: %s, Telefono: %s\n",
auxiliar->nombre,auxiliar->telefono);
auxiliar = auxiliar->siguiente;
i++;
}
if (i==0) printf( "\nLa lista está vacía!!\n" );
}
int main() {
char opcion;
primero = (struct _agenda *) NULL;
ultimo = (struct _agenda *) NULL;
do {
mostrar_menu();
opcion = getch();
switch ( opcion ) {
case '1': anadir_elemento();
break;
case '2': printf("No disponible todavía!\n");
break;
case '3': mostrar_lista();
break;
case '4': exit( 1 );
default: printf( "Opción no válida\n" );
break;
}
} while (opcion!='4');
}
viernes, 22 de noviembre de 2013
viernes, 8 de noviembre de 2013
Arreglos y funciones: La matriz Unitaria
El siguiente programa crea e imprime la matriz unitaria por medio de funciones
#include<stdio.h>
#include<conio.h>
void imprimir(int a[][5]);
void llenar();
int x[5][5];
main()
{
int i;
llenar();
imprimir(x);
getch();
}
void imprimir(int a[][5])
{
for(int i=0;i<5;i++){
for(int j=0;j<5;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
void llenar(void)
{
for(int i=0;i<5;i++){
for(int j=0;j<5;j++)
{
if(i==j)
x[i][j]=1;
else
x[i][j]=0; }
}
}
#include<stdio.h>
#include<conio.h>
void imprimir(int a[][5]);
void llenar();
int x[5][5];
main()
{
int i;
llenar();
imprimir(x);
getch();
}
void imprimir(int a[][5])
{
for(int i=0;i<5;i++){
for(int j=0;j<5;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}
void llenar(void)
{
for(int i=0;i<5;i++){
for(int j=0;j<5;j++)
{
if(i==j)
x[i][j]=1;
else
x[i][j]=0; }
}
}
Arreglos y funciones
El siguiente programa es utilizado para capturar un arreglo y posteriormente se imprime por medio de una función.
#include<stdio.h>
#include<conio.h>
void imprimir(int a[]);
main()
{
int i;
int x[5];
for(i=0;i<5;i++){
printf("Dame el valor %d->",i+1);
scanf("%d",&x[i]);}
imprimir(x);
getch();
}
void imprimir(int a[])
{
for(int i=0;i<5;i++)
printf("%d\n",a[i]);
}
#include<stdio.h>
#include<conio.h>
void imprimir(int a[]);
main()
{
int i;
int x[5];
for(i=0;i<5;i++){
printf("Dame el valor %d->",i+1);
scanf("%d",&x[i]);}
imprimir(x);
getch();
}
void imprimir(int a[])
{
for(int i=0;i<5;i++)
printf("%d\n",a[i]);
}
Suscribirse a:
Comentarios (Atom)
