deber d atletas 1

20
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.

Upload: gissosorio

Post on 16-Jan-2016

251 views

Category:

Documents


0 download

DESCRIPTION

Dev C++

TRANSCRIPT

Page 1: Deber d Atletas 1

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.

Page 2: Deber d Atletas 1

ESCUELA POLITECNICA NACIONAL

FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA

PROGRAMACIÓN

Page 3: Deber d Atletas 1

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){

Page 4: Deber d Atletas 1

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++){

Page 5: Deber d Atletas 1

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

Page 6: Deber d Atletas 1

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;

Page 7: Deber d Atletas 1

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);

Page 8: Deber d Atletas 1

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

Page 9: Deber d Atletas 1

ESCUELA POLITECNICA NACIONAL

FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA

PROGRAMACIÓN

Page 10: Deber d Atletas 1

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;

Page 11: Deber d Atletas 1

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++){

Page 12: Deber d Atletas 1

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){

Page 13: Deber d Atletas 1

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;

Page 14: Deber d Atletas 1

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

Page 15: Deber d Atletas 1

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

Page 16: Deber d Atletas 1

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';

Page 17: Deber d Atletas 1

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

Page 18: Deber d Atletas 1

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(){

Page 19: Deber d Atletas 1

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");

Page 20: Deber d Atletas 1

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");}

}}