Chicos y chicas! por favor pongan sus comentarios y sugerencias para hacer la clase mas interactiva, recuerden que la clase es reciproca.
Espero tengan un excelente fin de semana!!!
Programacion
sábado, 3 de marzo de 2012
miércoles, 29 de febrero de 2012
Hola Chicos:
Les dejo el programa visto en clase
saludos
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
void menu(void);
void altas(void);
void bajas_log(void);
void bajas_fis(void);
void imprime(void);
int submenu(void);
struct registro
{
char clave[10];
char nombre[20];
char apeidos[20];
char carrera[50];
char activo;
};
struct registro nuevo;
main()
{
char TECLA;
int baja=0;
clrscr();
do
{
menu();
gotoxy(60,24);
TECLA=toupper(getche());
switch(TECLA)
{
case 'A':
altas();
break;
case 'B':
baja=submenu();
switch(baja)
{
case 1:
bajas_log();
break;
case 2:
bajas_fis();
break;
}
clrscr();
break;
case 'I':
imprime();
clrscr();
break;
}
}while(TECLA!='S');
}
void imprime(void)
{
FILE *archivo;
int leidos;
archivo=fopen("C:Registro.txt","r");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
while(!(feof(archivo)))
{
leidos=fread(&nuevo,sizeof(nuevo),1,archivo);
if(leidos)
{
if(nuevo.activo!='X')
{
clrscr();
gotoxy(25,10);printf("Nombre");
gotoxy(25,11);printf("Apeidos");
gotoxy(25,12);printf("Carrera");
gotoxy(25,13);printf("Clave");
gotoxy(26,8);printf("Los Datos del registro eliminado");
gotoxy(33,10);printf("%s",nuevo.nombre);
gotoxy(33,11);printf("%s",nuevo.apeidos);
gotoxy(33,12);printf("%s",nuevo.carrera);
gotoxy(33,13);printf("%s",nuevo.clave);
getch();
}
}
}
}
void bajas_log(void)
{
FILE *archivo2;
FILE *archivo;
char claveles[10];
int leidos;
clrscr();
archivo=fopen("C:Registro.txt","r");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
archivo2=fopen("Registr.tmp","a");
gotoxy(17,11);
printf("Dame la clave del registro a dar de baja logica");
getchar();gotoxy(30,12);gets(claveles);
while(!(feof(archivo)))
{
leidos=fread(&nuevo,sizeof(nuevo),1,archivo);
if(leidos)
{
if(strcmp(nuevo.clave,claveles)!=0)
{
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
else
{
if(nuevo.activo=='E')
{
nuevo.activo='X';
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
else
{
clrscr();
gotoxy(25,12);
printf("El registro a sido eliminado anteriormente");
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
}
}
}
fclose(archivo);
fclose(archivo2);
remove("C:Registro.txt");
rename("Registr.tmp","C:Registro.txt");
getch();
}
void bajas_fis(void)
{
FILE *archivo2;
FILE *archivo;
char claveles[10];
int leidos;
clrscr();
archivo=fopen("C:Registro.txt","r");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
archivo2=fopen("Registr.tmp","a");
gotoxy(26,11);
printf("Dame la clave a eliminar");
getchar();gotoxy(30,12);gets(claveles);
while(!(feof(archivo)))
{
leidos=fread(&nuevo,sizeof(nuevo),1,archivo);
if(leidos)
{
if(strcmp(nuevo.clave,claveles)!=0)
{
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
else
{
clrscr();
textcolor(15);
gotoxy(25,10);printf("Nombre");
gotoxy(25,11);printf("Apeidos");
gotoxy(25,12);printf("Carrera");
gotoxy(25,13);printf("Clave");
gotoxy(26,8);printf("Los Datos del registro eliminado");
textcolor(15);
gotoxy(33,10);printf("%s",nuevo.nombre);
gotoxy(33,11);printf("%s",nuevo.apeidos);
gotoxy(33,12);printf("%s",nuevo.carrera);
gotoxy(33,13);printf("%s",nuevo.clave);
}
}
}
fclose(archivo);
fclose(archivo2);
remove("C:Registro.txt");
rename("Registr.tmp","C:Registro.txt");
getch();
}
int submenu(void)
{
int opc;
clrscr();
do
{
gotoxy(40,10);
printf("Menu");
gotoxy(34,11);printf("1.-Baja logica");
gotoxy(34,12);printf("2.-Baja fisica");
scanf("%d",&opc);
if(opc==1)
{
break;
}
else
if(opc==2)
{
break;
}
else
{
clrscr();
gotoxy(26,12);
printf("Esta opcion no esta en el menu");
getch();
clrscr();
}
}while(1);
return opc;
}
void altas(void)
{
FILE *archivo;
long escribe;
archivo=fopen("C:Registro.txt","a");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
textcolor(15);
gotoxy(1,5);printf("Nombre :");
gotoxy(1,6);printf("Apeidos :");
gotoxy(1,8);printf("Carrera :");
gotoxy(1,9);printf("Numero de control :");
textcolor(14);
gotoxy(10,5);gets(nuevo.nombre);
gotoxy(11,6);gets(nuevo.apeidos);
getchar();
gotoxy(11,8);gets(nuevo.carrera);
gotoxy(21,9);gets(nuevo.clave);
nuevo.activo='E';
fwrite(&nuevo,sizeof(nuevo),1,archivo);
fclose(archivo);
clrscr();
}
void menu(void)
{
textcolor(15);
gotoxy(10,1);printf("ltas");
gotoxy(40,1);printf("ajas");
gotoxy(70,1);printf("alir");
gotoxy(40,10);printf("mprime");
gotoxy(21,24);printf("*** Elige una opcion del menu........[ ] ***");
textcolor(14);
gotoxy(9,1);printf("A");
gotoxy(39,1);printf("B");
gotoxy(69,1);printf("S");
gotoxy(39,10);printf("I");
}
Les dejo el programa visto en clase
saludos
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
void menu(void);
void altas(void);
void bajas_log(void);
void bajas_fis(void);
void imprime(void);
int submenu(void);
struct registro
{
char clave[10];
char nombre[20];
char apeidos[20];
char carrera[50];
char activo;
};
struct registro nuevo;
main()
{
char TECLA;
int baja=0;
clrscr();
do
{
menu();
gotoxy(60,24);
TECLA=toupper(getche());
switch(TECLA)
{
case 'A':
altas();
break;
case 'B':
baja=submenu();
switch(baja)
{
case 1:
bajas_log();
break;
case 2:
bajas_fis();
break;
}
clrscr();
break;
case 'I':
imprime();
clrscr();
break;
}
}while(TECLA!='S');
}
void imprime(void)
{
FILE *archivo;
int leidos;
archivo=fopen("C:Registro.txt","r");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
while(!(feof(archivo)))
{
leidos=fread(&nuevo,sizeof(nuevo),1,archivo);
if(leidos)
{
if(nuevo.activo!='X')
{
clrscr();
gotoxy(25,10);printf("Nombre");
gotoxy(25,11);printf("Apeidos");
gotoxy(25,12);printf("Carrera");
gotoxy(25,13);printf("Clave");
gotoxy(26,8);printf("Los Datos del registro eliminado");
gotoxy(33,10);printf("%s",nuevo.nombre);
gotoxy(33,11);printf("%s",nuevo.apeidos);
gotoxy(33,12);printf("%s",nuevo.carrera);
gotoxy(33,13);printf("%s",nuevo.clave);
getch();
}
}
}
}
void bajas_log(void)
{
FILE *archivo2;
FILE *archivo;
char claveles[10];
int leidos;
clrscr();
archivo=fopen("C:Registro.txt","r");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
archivo2=fopen("Registr.tmp","a");
gotoxy(17,11);
printf("Dame la clave del registro a dar de baja logica");
getchar();gotoxy(30,12);gets(claveles);
while(!(feof(archivo)))
{
leidos=fread(&nuevo,sizeof(nuevo),1,archivo);
if(leidos)
{
if(strcmp(nuevo.clave,claveles)!=0)
{
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
else
{
if(nuevo.activo=='E')
{
nuevo.activo='X';
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
else
{
clrscr();
gotoxy(25,12);
printf("El registro a sido eliminado anteriormente");
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
}
}
}
fclose(archivo);
fclose(archivo2);
remove("C:Registro.txt");
rename("Registr.tmp","C:Registro.txt");
getch();
}
void bajas_fis(void)
{
FILE *archivo2;
FILE *archivo;
char claveles[10];
int leidos;
clrscr();
archivo=fopen("C:Registro.txt","r");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
archivo2=fopen("Registr.tmp","a");
gotoxy(26,11);
printf("Dame la clave a eliminar");
getchar();gotoxy(30,12);gets(claveles);
while(!(feof(archivo)))
{
leidos=fread(&nuevo,sizeof(nuevo),1,archivo);
if(leidos)
{
if(strcmp(nuevo.clave,claveles)!=0)
{
fwrite(&nuevo,sizeof(nuevo),1,archivo2);
}
else
{
clrscr();
textcolor(15);
gotoxy(25,10);printf("Nombre");
gotoxy(25,11);printf("Apeidos");
gotoxy(25,12);printf("Carrera");
gotoxy(25,13);printf("Clave");
gotoxy(26,8);printf("Los Datos del registro eliminado");
textcolor(15);
gotoxy(33,10);printf("%s",nuevo.nombre);
gotoxy(33,11);printf("%s",nuevo.apeidos);
gotoxy(33,12);printf("%s",nuevo.carrera);
gotoxy(33,13);printf("%s",nuevo.clave);
}
}
}
fclose(archivo);
fclose(archivo2);
remove("C:Registro.txt");
rename("Registr.tmp","C:Registro.txt");
getch();
}
int submenu(void)
{
int opc;
clrscr();
do
{
gotoxy(40,10);
printf("Menu");
gotoxy(34,11);printf("1.-Baja logica");
gotoxy(34,12);printf("2.-Baja fisica");
scanf("%d",&opc);
if(opc==1)
{
break;
}
else
if(opc==2)
{
break;
}
else
{
clrscr();
gotoxy(26,12);
printf("Esta opcion no esta en el menu");
getch();
clrscr();
}
}while(1);
return opc;
}
void altas(void)
{
FILE *archivo;
long escribe;
archivo=fopen("C:Registro.txt","a");
if(archivo==NULL)
{
gotoxy(26,12);printf("ERROR: Nose puede abrir el archivo");
getch();
exit(0);
}
textcolor(15);
gotoxy(1,5);printf("Nombre :");
gotoxy(1,6);printf("Apeidos :");
gotoxy(1,8);printf("Carrera :");
gotoxy(1,9);printf("Numero de control :");
textcolor(14);
gotoxy(10,5);gets(nuevo.nombre);
gotoxy(11,6);gets(nuevo.apeidos);
getchar();
gotoxy(11,8);gets(nuevo.carrera);
gotoxy(21,9);gets(nuevo.clave);
nuevo.activo='E';
fwrite(&nuevo,sizeof(nuevo),1,archivo);
fclose(archivo);
clrscr();
}
void menu(void)
{
textcolor(15);
gotoxy(10,1);printf("ltas");
gotoxy(40,1);printf("ajas");
gotoxy(70,1);printf("alir");
gotoxy(40,10);printf("mprime");
gotoxy(21,24);printf("*** Elige una opcion del menu........[ ] ***");
textcolor(14);
gotoxy(9,1);printf("A");
gotoxy(39,1);printf("B");
gotoxy(69,1);printf("S");
gotoxy(39,10);printf("I");
}
sábado, 11 de febrero de 2012
Programación
Saludos alumnos del 2251
Espero participen y pongan aqui sus comentarios o dudas, a sí como sus aportaciones saludos
gracias
Espero participen y pongan aqui sus comentarios o dudas, a sí como sus aportaciones saludos
gracias
Suscribirse a:
Entradas (Atom)
