ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
NOMBRE: Gisela Osorio
GRUPO: GR7
FECHA: 01/02/2015
REALIZAR UN MENU USANDO ESTRUCTURAS Y FUNCIONES.
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
#include<stdio.h>#include <stdlib.h>#define MAX 50#define MAXAT 100typedef struct persona{char nombre[MAX];int telefono;}PERSONA;PERSONA ingresarinformacion();void imprimirlista(PERSONA v[],int n);void busqueda(PERSONA v[],int n);void ordenar(PERSONA v[],int n);int main(){int i=0,ll=1;PERSONA lista [MAXAT];char opcion;do{
do{system("cls");printf("**MENU**\na.-Ingresar datos de la agenda telefonica\nb.-Imprimir directorio telefonico\nc.-Buscar una persona por sunombre\nd.-Salir\nElija una opcion: ");scanf("%c",&opcion);}while(opcion<97||opcion>100);system("cls");switch(opcion){case'a':for(i=0;i<MAXAT;i++){
lista[i]=ingresarinformacion()do{printf("Desea ingresar otra persona (S/N): ");fflush(stdin);scanf("%c",&opcion);if(opcion==78||opcion==83){
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
break;}}while(1);if(opcion==78){break;}
}break;
case'b':ordenar(lista,i);imprimirlista(lista,i);system("PAUSE");break;
case'c':busqueda(lista,i);system("PAUSE");
break;default:
ll=0;break;
}}while(ll);return 0;
}PERSONA ingresarinformacion(){
PERSONA nuevo;printf("Nombre: ");scanf("%s",nuevo.nombre);printf("TELEFONO: ");scanf("%d",&nuevo.telefono);return nuevo;
}void ordenar(PERSONA v[],int n){
int i,j,p;PERSONA nuevo [2];for(i=0;i<=n;i++) {
for(j=i+1;j<=n;j++) {if(v[i].nombre < v[j].nombre) {
nuevo[i] = v[i];v[i] = v[j];v[j] = nuevo[i];
}}
}}void imprimirlista(PERSONA v[],int n){
int i;printf("NOMBRE\tTELEFONO\n");for(i=0;i<=n;i++){
printf("%s\t\t%d\n",v[i].nombre,v[i].telefono);}
}
void busqueda(PERSONA v[],int n){int i,p,a=0,cont=0,j,k=0;char busca [20];printf("Ingrese el nombre que desea buscar: ");scanf("%s",&busca);for(i=0;busca[i]!=0&&i<20;i++){
a=a+1;}for(i=0;i<=n;i++){
cont=0;for(j=0;j<a;j++){
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
if(v[i].nombre[j]==busca[j]){cont=cont+1;}}if(a==cont){printf("\nNOMBRE\tTELEFONO\n%s\t%d",v[i].nombre,v[i].telefono);break;}}printf("\n\n-------------------------------\n\n");}
3.-PROGRAMA QUE PERMITE CREAR UN DIRECTORIO TELEFONICOORDENADO DE FORMA ALFABETICA
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
#include<stdio.h>#include <stdlib.h>#define MAX 50#define MAXAT 100typedef struct persona{char nombre[MAX];int telefono;}PERSONA;PERSONA ingresarinformacion();void imprimirlista(PERSONA v[],int n);void busqueda(PERSONA v[],int n);void ordenar(PERSONA v[],int n);int main(){int i=0,ll=1;PERSONA lista [MAXAT];char opcion;do{
do{system("cls");printf("**MENU**\na.-Ingresar datos de la agenda telefonica\nb.-Imprimir directorio telefonico\nc.-Buscar una persona por sunombre\nd.-Salir\nElija una opcion: ");scanf("%c",&opcion);}while(opcion<97||opcion>100);system("cls");switch(opcion){case'a':for(i=0;i<MAXAT;i++){
lista[i]=ingresarinformacion();do{
printf("Desea ingresar otra persona (S/N): ");
fflush(stdin);
scanf("%c",&opcion);
if(opcion==78||opcion==83){
break;
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
}}while(1);
if(opcion==78){
break;
}}break;
case'b':ordenar(lista,i);imprimirlista(lista,i);system("PAUSE");break;
case'c':busqueda(lista,i);system("PAUSE");
break;default:
ll=0;break;
}}while(ll);return 0;
}PERSONA ingresarinformacion(){
PERSONA nuevo;printf("Nombre: ");scanf("%s",nuevo.nombre);printf("TELEFONO: ");scanf("%d",&nuevo.telefono);return nuevo;
}void ordenar(PERSONA v[],int n){
int i,j,p;char p1[10];PERSONA nuevo [2];for(i=0;i+1<=n;i++){
for(j=0;j+1<=n-i;j++){if(v[j].nombre[0]>v[j+1].nombre[0]){
nuevo [i]=v[j];v[j]=v[j+1];v[j+1]=nuevo[i];
}}
}}void imprimirlista(PERSONA v[],int n){
int i;printf("NOMBRE\tTELEFONO\n");for(i=0;i<=n;i++){
printf("%s\t\t%d\n",v[i].nombre,v[i].telefono);}
}
void busqueda(PERSONA v[],int n){int i,p,a=0,cont=0,j,k=0;char busca [20];printf("Ingrese el nombre que desea buscar: ");scanf("%s",&busca);
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
for(i=0;busca[i]!=0&&i<20;i++){a=a+1;
}for(i=0;i<=n;i++){
cont=0;for(j=0;j<a;j++){
if(v[i].nombre[j]==busca[j]){cont=cont+1;
}}if(a==cont){
printf("\nNOMBRE\tTELEFONO\n%s\t%d",v[i].nombre,v[i].telefono);
break;}
}printf("\n\n---------------------------
----\n\n");
}
23.-PROGRAMA QUE ALMACENE LAS FECHAS DE NACIMIENTO DEESTUDIANTES Y PROPORCIONA EL SIGUIENTE MENU
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
#include<stdio.h>#include <stdlib.h>#include <string.h>#define MAX 50#define MAXAT 100typedef struct persona{
char nombre[30];int mes;int dia;int anio;int edad;char dias [12];
}PERSONA;PERSONA ingresarinformacion();void imprimirlista(PERSONA v[],int n);void edad(PERSONA v[],int n);void ordenar(PERSONA v[],int n);void diadelasemana(PERSONA v[],int n);void busquedados(PERSONA v[],int n);void busqueda(PERSONA v[],int n);void busquedatres(PERSONA v[],int n);void busquedacuatro(PERSONA v[],int n);int main(){
int i=0,ll=1;PERSONA lista [MAXAT];char opcion;do{do{
system("cls");
printf("**MENU**\na.-Ingresar datos \nb.-Imprimir datos\nc.-Edad de un estudiante\nd.-Nombres de estudiantes por edad\ne.-Estudiantes menores a cierta edad\nf.-Estudiantes mayores a cierta edad\nSalir\nElija una opcion: ");
scanf("%c",&opcion);}while(opcion<97||opcion>102);system("cls");
switch(opcion){case'a':
for(i=0;i<MAXAT;i++){
lista[i]=ingresarinformacion();do{
printf("Desea ingresar otra persona (S/N): ");
fflush(stdin);
scanf("%c",&opcion);
if(opcion==78||opcion==83){
break;
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
}}while(1);
if(opcion==78){
break;
}}break;
case'b':
diadelasemana(lista,i);edad(lista,i);imprimirlista(lista,i);system("PAUSE");break;
case'c':edad(lista,i);busqueda(lista,i);system("PAUSE");break;
case 'd':edad(lista,i);busquedados(lista,i);system("PAUSE");break;
case'e':edad(lista,i);busquedatres(lista,i);system("PAUSE");
break;case'f':edad(lista,i);
busquedacuatro(lista,i);system("PAUSE");
break;default:
ll=0;
}}while(ll);return 0;
}PERSONA ingresarinformacion(){
PERSONA nuevo;printf("Nombre: ");scanf("%s",nuevo.nombre);do{
printf("Dia de Nacimiento (01-31): ");scanf("%d",&nuevo.dia);
}while(nuevo.dia<1||nuevo.dia>31);do{
printf("Mes de Nacimiento (01-12): ");scanf("%d",&nuevo.mes);
}while(nuevo.mes<1||nuevo.mes>12);do{
printf("Año de Nacimiento (1900-2015): ");scanf("%d",&nuevo.anio);
}while(nuevo.anio<1900||nuevo.anio>2015);return nuevo;
}void ordenar(PERSONA v[],int n){
int i,j,p;char p1[10];PERSONA nuevo [2];for(i=0;i+1<=n;i++){
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
for(j=0;j+1<=n-i;j++){if(v[j].nombre[0]>v[j+1].nombre[0]){
nuevo [i]=v[j];v[j]=v[j+1];v[j+1]=nuevo[i];
}}
}}void imprimirlista(PERSONA v[],int n){
int i;printf("Nombre\t Dia de Semana\tFecha de
Nacimiento\tEdad\n");for(i=0;i<=n;i++){
printf("%s\t\t%s\t\t%d/%d/%d\t%d\n",v[i].nombre,v[i].dias,v[i].dia,v[i].mes,v[i].anio,v[i].edad);
}}
void diadelasemana(PERSONA v[],int n){int i,b=0,m,d;PERSONA nuevo[2];for(i=0;i<=n;i++){
if(v[i].anio%4==0){b=1;
}else{b=0;
}if(b==1){
if(v[i].mes==1){m=0;
}else if(v[i].mes==2){m=3;
}else if(v[i].mes==3){m=4;
}else if(v[i].mes==4){m=0;
}else if(v[i].mes==5){m=2;
}else if(v[i].mes==6){m=5;
}else if(v[i].mes==7){m=0;
}else if(v[i].mes==8){m=3;
}else if(v[i].mes==9){m=6;
}else if(v[i].mes==10){m=1;
}else if(v[i].mes==11){m=4;
}else if(v[i].mes==12){m=6;
}d=((v[i].anio-1)%7+((v[i].anio-
1)/4-3*((v[i].anio-1)/100+1)/4)%7+m+(v[i].dia%7))%7;}else{
if(v[i].mes==1){m=0;
}else if(v[i].mes==2){m=3;
}else if(v[i].mes==3){m=3;
}else if(v[i].mes==4){
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
m=6;}else if(v[i].mes==5){m=1;
}else if(v[i].mes==6){m=4;
}else if(v[i].mes==7){m=6;
}else if(v[i].mes==8){m=2;
}else if(v[i].mes==9){m=5;
}else if(v[i].mes==10){m=0;
}else if(v[i].mes==11){m=3;
}else if(v[i].mes==12){m=5;
}d=((v[i].anio-1)%7+((v[i].anio-
1)/4-3*((v[i].anio-1)/100+1)/4)%7+m+(v[i].dia%7))%7;}if(d==0){
strcpy(v[i].dias,"Domingo");}else if(d==1){
strcpy(v[i].dias,"Lunes");}else if(d==2){
strcpy(v[i].dias,"Martes");}else if(d==3){
strcpy(v[i].dias,"Miercoles");}else if(d==4){
strcpy(v[i].dias,"Jueves");}else if(d==5){
strcpy(v[i].dias,"Viernes");}else if(d==6){
strcpy(v[i].dias,"Sabado");}
}}void edad(PERSONA v[],int n){
int i,b=0,m,e;for(i=0;i<=n;i++){
e=2015-v[i].anio;if((v[i].mes>2)&&v[i].dia>7){
e=e-1;}
v[i].edad=e;}}void busquedados(PERSONA v[],int n){
int i,p,a=0,cont=0,j,k=0;int busca;printf("Ingrese la edad que desea buscar: ");scanf("%d",&busca);printf("\nNOMBRES\\n");for(i=0;i<=n;i++){
if(v[i].edad==busca){
printf("\n%s",v[i].nombre);}
}printf("\n\n-------------------------------\n\n");
}void busquedatres(PERSONA v[],int n){
int i,p,a=0,cont=0,j,k=0;int busca;
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
printf("Ingrese la edad que desea buscar: ");scanf("%d",&busca);printf("\nNOMBRES\\n");for(i=0;i<=n;i++){
if(v[i].edad<=busca){
printf("\n%s",v[i].nombre);}
}printf("\n\n-------------------------------\n\n");
}void busquedacuatro(PERSONA v[],int n){
int i,p,a=0,cont=0,j,k=0;int busca;printf("Ingrese la edad que desea buscar: ");scanf("%d",&busca);printf("\nNOMBRES\\n");for(i=0;i<=n;i++){
if(v[i].edad>=busca){
printf("\n%s",v[i].nombre);}
}printf("\n\n-------------------------------\n\n");
}void busqueda(PERSONA v[],int n){
int i,p,a=0,cont=0,j,k=0;char busca [20];printf("Ingrese el nombre que desea buscar: ");scanf("%s",&busca);for(i=0;busca[i]!=0&&i<20;i++){
a=a+1;}for(i=0;i<=n;i++){
cont=0;for(j=0;j<a;j++){
if(v[i].nombre[j]==busca[j]){cont=cont+1;
}}if(a==cont){
printf("\nNOMBRE\tEDAD\n%s\t%d",v[i].nombre,v[i].edad);
break;}
}printf("\n\n---------------------------
----\n\n");
}
7.-PROGRAMA QUE ALMACENA EN ORDEN ALFABETICA A MIEMBROS DE UN CLUB YMUESTRA LA MEJOR ANTIGUEDAD
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
#include<stdio.h>#include <stdlib.h>#include <string.h>#define MAX 50#define MAXAT 100
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
typedef struct persona{char nombre[MAX];char sexo[10];int antiguedad;int a;
}PERSONA;PERSONA ingresarinformacion();PERSONA ingresarinformacion1();void imprimirlista(PERSONA v[],int n);void busqueda(PERSONA v[],int n);
void ordenar(PERSONA v[],int n);int main(){
int i=0,ll=1;PERSONA lista [MAXAT];char opcion;do{do{
system("cls");
printf("**MENU**\na.-Ingresar datos\nb.-Imprimir listado\nc.-Buscar a la persona con mayor antiguedad\nd.-Salir\nElija una opcion: ");
scanf("%c",&opcion);}while(opcion<97||opcion>100);system("cls");
switch(opcion){case'a':
for(i=0;i<MAXAT;i++){
lista[i]=ingresarinformacion();
if(lista[i].nombre[0]=='\00'){
break;}
lista[i]=ingresarinformacion1();}i=i-1;break;
case'b':ordenar(lista,i);imprimirlista(lista,i);system("PAUSE");break;
case 'c':busqueda(lista,i);system("PAUSE");break;
default:ll=0;
break;
}}while(ll);return 0;
}PERSONA ingresarinformacion(){
PERSONA nuevo;int a=0,i;printf("Nombre: ");scanf("%s",nuevo.nombre);for(i=0;nuevo.nombre[i]!=0&&i<20;i++){
a=a+1;}nuevo.nombre[a-1]='\00';
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
return nuevo;}PERSONA ingresarinformacion1(){
PERSONA nuevo;char a;do{
printf("Sexo (M/F): ");fflush(stdin);scanf("%c",&a);
}while((a>77||a<77)&&(a>70||a<70));if(a==77){
strcpy(nuevo.sexo,"Masculino");}else{
strcpy(nuevo.sexo,"Femenino");}printf("Antiguedad: ");scanf("%d",&nuevo.antiguedad);return nuevo;
}void ordenar(PERSONA v[],int n){
int i,j,p;PERSONA nuevo [2];for(i=0;i<=n;i++) {
for(j=i+1;j<=n;j++) {if(v[i].nombre < v[j].nombre) {
nuevo[i] = v[i];v[i] = v[j];v[j] = nuevo[i];
}}
}}void imprimirlista(PERSONA v[],int n){
int i;printf("N#\tNOMBRE\tANTIGUEDAD\tSEXO\n");for(i=0;i<=n;i++){
printf("%d\t%s\t\t%d\t%s\n",i+1,v[i].nombre,v[i].antiguedad,v[i].sexo);
}}void busqueda(PERSONA v[],int n){
int i,p,mayor=0,cont=0,j,k=0;int busca;printf("La persona con mayor antiguedad es:\n ");printf("\tNOMBRE\tANTIGUEDAD\tSEXO\n");for(i=0;i<=n;i++){
if(v[i].antiguedad>mayor){
mayor=v[i].antiguedad;j=i;
}}
printf("\t%s\t\t%d\t%s\n",v[j].nombre,v[j].antiguedad,v[j].sexo);
}
22.-PROGRAMA QUE BARAJA CARTAS
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
#include <stdio.h>
#include<stdlib.h>#include <math.h>#include <time.h>typedef struct carta{
int numero;int palo ;int color ;
}CARTA;void barajar(CARTA v[]);
int main(){
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
CARTA cart[53];printf("***Barajar***\n");barajar(cart);return 0;}void barajar(CARTA v[]){
int i=0,p,pp=0,a=0;int mano [41]={1,2,3,4,5,6,7,8,9,10,11,12,13};int colorr[4]={1,0};int paloo[5]={1,2,3,4};srand(time(NULL));
for(i=0;i<52;i++){v[i].numero=0;v[i].palo=0;v[i].color=0;}do{
a=a+1;i=0;do{
p=rand()%52;if(v[p].numero==0){
v[p].numero=mano [i];i++;
}}while(i<13);
}while(a<4);a=0;do{
a=a+1;i=0;do{
p=rand()%52;if(v[p].color==0){
v[p].color=colorr [i];i++;
}}while(i<2);
}while(a<26);a=0;do{
a=a+1;i=0;do{
p=rand()%52;if(v[p].palo==0){
v[p].palo=paloo [i];i++;
}}while(i<4);
}while(a<13);printf("CARTA\tCOLOR\tPALO\n");
for(i=0;i<52;i++){if( v[i].numero==11){
printf("J\t");}else if(v[i].numero==12){
printf("Q\t");
ESCUELA POLITECNICA NACIONAL
FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
PROGRAMACIÓN
}else if(v[i].numero==13){printf("K\t");
}else if(v[i].numero==1){printf("A\t");
}else{
printf("%d\t",v[i].numero);}if( v[i].color==1){
printf("Rojo\t");}else{
printf("Negro\t");}if( v[i].palo==1){
printf("Diamantes\n");}else if(v[i].palo==2){
printf("Corazones\n");}else if(v[i].palo==3){
printf("Treboles\n");}else {
printf("Espadas\n");}
}}
Top Related