Ejemplo de programación en C: manejo de un grupo de usuarios

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,58 KB

 
ordena alfabeticamente y lo muestra en vertical
main() {
char frase[40], aux;
int n=0,m,fin;
clrscr;
printf("introduzca una frase: \\\\n");
gets(frase);
while(frase[n]!=NULL)n++;
Fin=n;
for(n=0;nfor(m=n+1;m<=fin;m++)
if (frase[n]>frase[m])
{ aux=frase[n];
frase[n]=frase[m];
frase[m]=aux; }
printf("\\\\n\\\\n%s",frase);
getch();
}


* Programa para manejar los datos de un grupo de 30 alumnos*/
#include
#include
#include
#include
void __linkfloats(void);
struct D_ALUMNOS{
char Nombre[50];
char Telefono[15];
float Matematicas;
float Fisica;};
char Menu(void);
void Entrada_Datos(struct D_ALUMNOS * Grupo_Alumnos);
void Edicion_Datos(struct D_ALUMNOS * Grupo_Alumnos);
void Visualizar_Datos(struct D_ALUMNOS * Grupo_Alumnos);
void Nota_Media(struct D_ALUMNOS * Grupo_Alumnos);
int Cargar_Datos(struct D_ALUMNOS * Grupo_Alumnos);
int Guardar_Datos(struct D_ALUMNOS * Grupo_Alumnos);
main() {
char eleccion;
struct D_ALUMNOS GRUPO_A[30];
__linkfloats();
memset(GRUPO_A,0x00,30*sizeof(struct D_ALUMNOS));
while( 1 ) {
eleccion=Menu();
switch(eleccion)
{
case 'E':
Entrada_Datos(GRUPO_A);
break;
case 'D':
Edicion_Datos(GRUPO_A);
break;
case 'V':
Visualizar_Datos(GRUPO_A);
break;
case 'M':
Nota_Media(GRUPO_A);
break;
case 'C':
if(Cargar_Datos(GRUPO_A)) printf("\\\\n\\\\n --DATOS CARGADOS--");
else printf ("\\\\n\\\\n --NO SE HAN PODIDO CARGAR LOS DATOS--");
sleep(2);
break;
case 'G':
if(Guardar_Datos(GRUPO_A)) printf("\\\\n\\\\n --DATOS GUARDADOS--");
else printf ("\\\\n\\\\n --NO SE HAN PODIDO GUARDAR LOS DATOS--");
sleep(2);
break;
default:
printf("\\\\n\\\\n **** Error en la elecci¢n ****");
delay(2500);
}
}
}

void __linkfloats(void)
{
float f, *fp;
fp=&f;
f=*fp;
}

char Menu(void)
{
char opcion;
clrscr();
printf("\\\\n\\\\n\\\\n MENU ELECCION");
printf("\\\\n\\\\n Entrada de datos...........E");
printf("\\\\n Edici¢n de datos...........D");
printf("\\\\n Visualizar datos...........V");
printf("\\\\n Nota media.................M");
printf("\\\\n Cargar datos...............C");
printf("\\\\n Guardar datos..............G");
printf("\\\\n Salir del programa.........S");
printf("\\\\n\\\\n Elija una opci¢n: ");
flushall();
opcion=getche();
if(opcion=='s'|| opcion=='S') exit(1);
if(opcion >= 'a' && opcion <= 'z') opcion -= 32;
return opcion;
}

void Entrada_Datos(struct D_ALUMNOS * Grupo_Alumnos)
{
int Alumno;
char salir;
do
{
printf("\\\\n\\\\n Indique el n£mero del alumno: ");
scanf("%d",&Alumno);
printf("\\\\n Escriba el nombre del alumno: ");
flushall();
gets(Grupo_Alumnos[Alumno-1].Nombre);
printf("\\\\n Escriba el telefono del alumno: ");
flushall();
gets(Grupo_Alumnos[Alumno-1].Telefono);
printf("\\\\n Escriba la nota de matem ticas: ");
scanf("%f",&Grupo_Alumnos[Alumno-1].Matematicas);
printf("\\\\n Escriba la nota de f¡sica: ");
scanf("%f",&Grupo_Alumnos[Alumno-1].Fisica);
printf("\\\\n\\\\n *** PARA SALIR PULSE - S - ");
flushall();
salir=getch();
} while(salir != 's' && salir != 'S');
}

void Edicion_Datos(struct D_ALUMNOS * Grupo_Alumnos)
{
int Alumno;
char salir,modificar;
do
{
printf("\\\\n\\\\n Indique el n£mero del alumno: ");
scanf("%d",&Alumno);
printf("\\\\n El nombre es: %s ",Grupo_Alumnos[Alumno-1].Nombre);
printf("\\\\n ¨ Desea modificarlo S/N ?");
flushall();
scanf("%c",&modificar);
if(modificar=='s' || modificar =='S')
{
printf("\\\\n Escriba el nombre del alumno: ");
flushall();
gets(Grupo_Alumnos[Alumno-1].Nombre);
}
printf("\\\\n El telefono es: %s ",Grupo_Alumnos[Alumno-1].Telefono);
printf("\\\\n ¨ Desea modificarlo S/N ?");
flushall();
scanf("%c",&modificar);
if(modificar=='s' || modificar =='S')
{
printf("\\\\n Escriba el telefono del alumno: ");
flushall();
gets(Grupo_Alumnos[Alumno-1].Telefono);
}
printf("\\\\n La nota de matem ticas es: %g ",Grupo_Alumnos[Alumno-1].Matematicas);
printf("\\\\n ¨ Desea modificarla S/N ?");
flushall();
scanf("%c",&modificar);
if(modificar=='s' || modificar =='S')
{
printf("\\\\n Escriba la nota de matem ticas: ");
scanf("%f",&Grupo_Alumnos[Alumno-1].Matematicas);
}
printf("\\\\n La nota de f¡sica es: %g ",Grupo_Alumnos[Alumno-1].Fisica);
printf("\\\\n ¨ Desea modificarla S/N ?");
flushall();
scanf("%c",&modificar);
if(modificar=='s' || modificar =='S')
{
printf("\\\\n Escriba la nota de f¡sica: ");
scanf("%f",&Grupo_Alumnos[Alumno-1].Fisica);
}
printf("\\\\n\\\\n *** PARA SALIR PULSE - S - ");
flushall();
salir=getch();
} while(salir != 's' && salir != 'S');
}

void Visualizar_Datos(struct D_ALUMNOS * Grupo_Alumnos)
{
int Alumno;
char salir;
do
{
printf("\\\\n\\\\n Indique el n£mero del alumno: ");
scanf("%d",&Alumno);
printf("\\\\n El nombre es: %s ",Grupo_Alumnos[Alumno-1].Nombre);
printf("\\\\n El telefono es: %s ",Grupo_Alumnos[Alumno-1].Telefono);
printf("\\\\n La nota de matem ticas es: %g ",Grupo_Alumnos[Alumno-1].Matematicas);
printf("\\\\n La nota de f¡sica es: %g ",Grupo_Alumnos[Alumno-1].Fisica);
printf("\\\\n\\\\n *** PARA SALIR PULSE - S - ");
salir=getch();

Entradas relacionadas: