Está en la página 1de 33

FUNDAMENTOS DE PROGRAMACION

PROYECTO FINAL
TERCER PARCIAL

ING. FAUSTO MENESES

INTEGRANTES
CHUGA JHONNY

BRAVO JONATHAN

USHIÑA ALEX
OBJETIVOS
OBJETIVO GENERAL

 Diseño de un programa en Borland C++ en el cual se apliquen todos los


conocimientos adquiridos en el transcurso del curso de FUNDAMENTOS DE
PROGRAMACION.

OBJETIVO ESPECFICO

 Comprender adecuadamente el lenguaje de programación en C++


 Aprender a ejecutar óptimamente programas borlan-C++
 Aplicar los conocimientos adquiridos para la elaboración del presente programa.

FUNDAMENTACION TEORICA.-
QUÉ ES UN LENGUAJE DE PROGRAMACIÓN

Un lenguaje de programación es un lenguaje artificial que se puede usar para definir o


preparar instrucciones que luego serán ejecutadas por la PC.

QUE ES UN ENTORNO DE DESARROLLO INTEGRADO

Permite manipular instrucciones y compilar codigo de cierto lenguaje de programacion en


este caso del LENGUAJE C++, en este IDE te permetie manejar tanto el clasico C o su
version siguiente C++(c mas, mas o c plus plus).

EL LENGUAJE C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne
Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de
programación C con mecanismos que permitan la manipulación de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un
lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los


otros dos paradigmas que ya estaban admitidos (programación estructurada y la
programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de
programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría
de los fabricantes de compiladores más modernos. Existen también algunos intérpretes,
tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear
nuevos tipos que se comporten como tipos fundamentales.

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue
utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el
nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere
a que C++ es una extensión de C.

CÓDIGO FUENTE:

Es cualquier escrito que se hace en base a ciertas reglas (sintaxis) de un determinado


lenguaje de programación

COMPILACIÓN:

Es la actividad de traducir las instrucciones contenidas en un archivo fuente, en


instrucciones máquina.

VARIABLES

Una variable en informátca al igual que en matemáticas viene a ser cualquier letra (a, e, X,
b, c, Y, etc.) o palabra (pedro_1, numero, Juan15, fido, variable, etc.) que nosotros
escogeremos para que almacene algo interior.

DEFINICIÓN DE UNA VARIABLE

Definir una variable es buscar la variable que necesitemos para luego darle un nombre. En
Borland C++ dicho nombre no puede empezar nunca con cualquer caracter especial
excepto el _. Por ejemplo sí definiera una variable con el nombre 4auto sería rápidamente
detectado como error en la sintaxis por el compilador. Pero sí podría definir así: _auto.
Además tampoco se puede definir el nombre de una variable con las palabras reservadas
del lenguaje, puesto que estas palabras junto con la sintaxis conforman al lenguaje
Borland C++.

ESTRUCTURA DE UN PROGRAMA

Todo programa en Borland C++ deberá especificar las bibliotecas que se usarán en el
programa. Para eso se seguirá la sintaxis: #include<NombreDeLaBiblioteca>

Todo programa en Borland C++ tiene una función principal llamada main. Para eso se
seguirá la siguiente estructura: tipoDeDato main(tipoDeDato){ }
LIBRERIAS

Una librería es un conjunto de recursos (algoritmos) prefabricados, que pueden ser


utilizados por el programador para realizar determinadas operaciones.
Dispone de utilidades o funciones para entrada o salida implementadas en el propio
lenguaje, de modo que estas y otras muchas, como manejo de cadenas de caracteres
(strings), manejo de ficheros, funciones matemáticas Etc.

FUNCIONES

Una función es un conjunto de líneas de código que realizan una tarea específica y puede
retornar un valor. Las funciones pueden tomar parámetros que modifiquen su
funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en
tareas simples y para implementar operaciones que son comúnmente utilizadas durante
un programa y de esta manera reducir la cantidad de código. Cuando una función es
invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control
es devuelto al punto desde el cual la función fue llamada.

VARIABLE PUNTERO

Es una variable qu almacena una dirección dememoria deotra variable siendo esta
dirección la posición interna de la variable en la memoria RAM del computador. Es decir,
una variable apuntando a otra.

ANÁLISIS Y DISEÑO DEL PROYECTO.


El proyecto está orientado a aplicar todos los conocimientos adquiridos durante el tiempo
que duro el curso de FUNDAMENTOS DE PROGRAMACION. En el cual aprendimos
diferentes formas de realizar programas de manera eficiente y correcta.

En el programa ocupamos diferentes opciones de programar como son funciones y


punteros las cuales nos ayudan a ahorrarnos tiempo y líneas de código

El programa tiene la siguiente finalidad.-

Almacenar los datos de registro de una persona los mismos q podrán ser eliminados o
editados, por otra parte se puede buscar a los datos de un usuario mediante el ingreso de
su número de cedula, seguidamente para q el usuario pueda ingresar a un juego deberá
pasar una serie de pasos y requisitos como son la validación de sus datos identificando su
número de cedula y una contraseña.
Una vez accedido puede elegir el juego q desea jugar y el programa empezara a ejecutar el
juego hasta q el usuario gane o pierda, en cualquiera de los dos casos se preguntara si
desea continuar con una nueva partida o si desea salir.

La esencia del programa en general es el uso de funciones ademas también del uso de
parámetros, para el diseño final y la posterior codificación del programa es necesario
ampliar nuestro conocimiento.

Esto implica una consulta sobre librerías como es la DOS la cual nos permite una mejor
visualización con lo que consecuentemente el programa se torna más agradable
convirtiéndose así en un programa de estructura sencilla de nivel medio en lenguaje C++
que no requiere la utilización de herramientas o de conocimientos muy avanzados ni
complicados.

PARA LA ELABORACION DEL PRESENTE PROGRAMA SE UTILIZO LAS SIGUIENTES


LIBRERIAS.

< stdio.h >

Que significa "standard input-output header" (cabecera estandar E/S), es la biblioteca


estándar del lenguaje de programación C, el archivo de cabecera que contiene las
definiciones de macros, las constantes, las declaraciones de funciones y la definición de
tipos usados por varias operaciones estándar de entrada y salida.

< stdlib.h >

Es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de


programación C. Contiene los prototipos de funciones de C para gestión de memoria
dinámica, control de procesos y otras. Es compatible con C++ donde se conoce como
cstdlib.

< iostream.h >

Es un componente de la biblioteca estándar (STL) del lenguaje de programación C++ que


es utilizado para operaciones de entrada/salida. Su nombre es un acrónimo de
Input/Output Stream. El flujo de entrada y salida de datos en C++ (y su predecesor C) no
se encuentra definida dentro de la sintaxis básica y se provee por medio de librerias de
funciones especializadas como iostream.

< String.h >

Es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene la


definición de macros, constantes, funciones y tipos de utilidad para trabajar con cadenas
de caracteres y algunas operaciones de manipulación de memoria (el nombre string
puede ser algo inapropiado).

<conio.h>

La librería conio se utiliza más que nada por sus comandos: getch(), clrscr(), gotoxy(),
textcolor(), y textbackground(), los cuales usamos para darle mejor presentación a
nuestros programas. Pero pensandolo bien, ¿en verdad necesitamos que los programas en
consola se vean bien? La verdad es que no, lo que importa es que funcionen.

<math.h>

Es un archivo de cabecera de la biblioteca estándar del lenguaje de programación C


diseñado para operaciones matemáticas básicas. Muchas de sus funciones incluyen el uso
de números en coma flotante. C++ también implementa estas funciones por razones de
compatibilidad y las declara en la cabecera cmath

<ctype.h>

Es un archivo de cabecera de la biblioteca estándar del lenguaje de programación C


diseñado para operaciones básicas con caracteres. Contiene los prototipos de las
funciones y macros para clasificar caracteres

<dos.h>

Archivo de cabecera dos.h del lenguaje C contiene funciones para el manejo de las
interrupciones, la producción de funciones de sonido, fecha y hora, etc

Funciones de <dos.h>

 delay

 getdate

 gettime

 nosound

 setdate

 sleep

 sound
FUNCIONES
gotoxy(int x, int y)
Mueve el cursos a la posicion indicada, si se ingresa coordenadas no validas, esta funcion
es ignorada

textcolor(int newcolor)
Esta funcion da color al texto, el parametro ingresado puede ser un numero, los cuales se
encuentran tabulados o se puede escribir el nombre del color en ingles.

cprintf
Esta funcion sirve para imprimir texto en pantalla, con la diferencia que acepta una serie
de argumentos.

delay
Utiliza la biblioteca <dos.h>, con la llamada a esta funcion el programa se suspende la
contidad de milisegundos que se ingrese como argumento.

randomize
Con la llamada a esta función, el programa devuelve números enteros generados al azar.

tolower
Esta función convierte un tipo de dato a minúscula, se basa en la tabla ASCII

Para la aclaración de cualquier duda acerca de las bibliotecas y sus correspondientes


funciones, Borland C++ cuenta con una opción que nos permite visualizar la forma
correcta en que se debe utilizar determinada función.

Para ellos realizamos en siguiente Proceso:

 Nos dirigimos a la Pestaña “Help”


 Seleccionamos “Contents”
 Nos dirigimos al botón “Buscar”
 Ingresamos cualquier biblioteca o función que genere inquietud sobre su uso
IMPLEMENTACIÓN DEL PROYECTO EN BORLAND C++
/*LAS LIBRERIAS DEL PROGRAMA*/
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
#include <ctype.h>
#include <string.h>
#include <dos.h>

#define TRUE 1
#define FALSE 0

void menu();
void guardar_c();
void buscar_c();
void modificar_c();
void eliminar_c();
void usuario(void);
void imprimir(void);
char verificar(void);
char matriz[3][3];
void juego(void);
void maquina(void);
void creditos();

//VARIABLES GLOBALES
int i,h,j;
char cod[5],telefono[15],pago_form[50],nom_con[100];
char nomb[30],ape[30],ced[9];
char var = 'x';
char pass[100];

void main()

// AQUI COMIENZA EL PROGRAMA


{
clrscr();
menu();
}
/*FUNCION MENU PRINCIPAL*/
void menu(){
char opcion,op;
int bandera,num;

do{
clrscr();
gotoxy(19,2); printf("イイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイ
");
gotoxy(21,4); printf("*-* BIENVENIDOS A LOS JUEGOS ONORATO *-*");
gotoxy(19,6); printf("イイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイイ
");
gotoxy(19,9); printf("A. INGRESAR A JUGAR");
gotoxy(19,11); puts("B. REGISTRARSE");
gotoxy(19,13); puts("C. APAGAR");
gotoxy(19,15); printf("ヘ> ");
do{opcion=toupper(getch());
if(!strchr("ABC",opcion))
putchar('\a');
else
break;
}while(TRUE);
switch(opcion){
case'A':
do{
buscar_c();

gotoxy(9,17);printf("\n\tINGRESE PASS? ");


fflush(stdin);

scanf("%s",&pass);

if( strcmp(pass,nom_con)==0)

break;
else {

gotoxy(9,19);printf("PASS MAL INGRESADO!!!!");


getch();
menu();
}
}while(TRUE);
//SUBMENU
do{
clrscr();
gotoxy(23,2);puts("ヘヘヘヘヘヘヘヘヘヘヘ
ヘヘヘヘヘヘヘヘヘヘヘヘ");
gotoxy(23,3);puts("イイ SECCION
DE JUEGOS イイ");
gotoxy(17,8);puts("-> A.EN
RAYA");
gotoxy(43,8);puts("->
B.BINGO");
gotoxy(17,11);puts("->
C.AHORCADO");

gotoxy(43,11);printf("R.REGRESAR");

do{
op=toupper(getch());
if(!strchr("ABCR",op))
putchar('\a');
else
break;
}while(TRUE);

bandera=TRUE;
switch(op){
case 'A'://EN RAYA

{clrscr();
char
hecho;

gotoxy(30,2);

printf("Tres en raya");
gotoxy(29,4);

printf("Jugaremos con X \n\n");


hecho =
' ';
juego();
do{

imprimir();

usuario();

clrscr();

hecho=verificar(); /*Ver si gana*/

if(hecho!=' ') break; /*Ganador*/

maquina();

hecho=verificar(); /*Ganador*/}

while(hecho==' ');

if(hecho=='X') {

for(int q=1;q<16;q++){

textcolor(q);

clrscr();

gotoxy(18,12); cprintf("GANASTE"); delay(200); }

else printf("\n\t\t\tUSTED PERDIO!!\n");

imprimir();

//Fin

}break;
case 'B': //BINGO
int
B[4],I[4],N[4],G[4],O[4],a,r,q,y,m,w,p,e,s,t,re,ve;

char u;

{ clrscr();
do{
q=0;
a=0; m=0; p=0; w=0;

clrscr();
randomize();
e=7;
re=0;

for(y=5;y<=20;y++){

while (a<=4) {

r=random(100);
if
((r>0)&&(r<=20)){

B[a]=r;

gotoxy(18,e);cout<<r;

re=r;

a=a++;

e=e+3; }}}

randomize();

e=4;

for(y=5;y<=20;y++){

while (q<=4)
{
r=random(100);

if ((r>20)&&(r<=40)){

I[q]=r;

e=e+3;

q++;

gotoxy(29,e);cout<<r;}}}

randomize();

e=4;

for(y=5;y<=20;y++)
{

while (m<=4)
{

r=random(100);

if ((r>40)&&(r<=60)){
N[m]=r;

e=e+3;

m++;

gotoxy(40,e);cout<<r; }}}

randomize();

e=4;

for(y=5;y<=20;y++){

while (p<=4){

r=random(100);

if ((r>60)&&(r<=80)){

G[p]=r;

e=e+3;

p++;

gotoxy(51,e);cout<<r;}}}

randomize();

e=4;

for(y=5;y<=20;y++){

while (w<=4){

r=random(100);

if ((r>80)&&(r<=100)){

O[w]=r;

e=e+3;

w++;

gotoxy(62,e);cout<<r;
}
}}gotoxy(37,13); cout<<" 0 ";

for(ve=13; ve<=68; ve++){

gotoxy(ve,2);printf("ヘ");

gotoxy(ve,4);printf("ヘ");
gotoxy(15,3);cout<<" B I N G O";}

int jo;

for(jo=3; jo<=3; jo++){

gotoxy(13,jo);printf("イ");

gotoxy(68,jo);printf("イ"); }

gotoxy(13,2);printf("ノ");

gotoxy(13,4);printf("ネ");

gotoxy(68,2);printf("サ");

gotoxy(68,4);printf("シ");

for(int x=13; x<=68; x++){

gotoxy(x,21);printf("ヘ");

gotoxy(x,5);printf("ヘ");}

for(int x1=13; x1<=68; x1++){

gotoxy(x1,17);printf("ヘ");

gotoxy(x1,8);printf("ヘ");}

for(int x2=13; x2<=68; x2++){

gotoxy(x2,14);printf("ヘ");

gotoxy(x2,11);printf("ヘ");}

for(int y2=6;y2<=20; y2++){

gotoxy(35,y2);printf("イ");

gotoxy(56,y2);printf("イ");}

for(int y=6;y<=20; y++){

gotoxy(13,y);printf("イ");

gotoxy(68,y);printf("イ");}

for(int y1=6;y1<=20; y1++){

gotoxy(25,y1);printf("イ");

gotoxy(45,y1);printf("イ");}

gotoxy(13,5);printf("ノ"); gotoxy(68,5);printf("サ
"); gotoxy(13,21);printf("ネ");
gotoxy(68,21);printf("シ");gotoxy(25,5);printf("ヒ
"); gotoxy(35,5);printf("ヒ");

gotoxy(45,5);printf("ヒ"); gotoxy(56,5);printf("ヒ
"); gotoxy(25,21);printf("ハ");

gotoxy(35,21);printf("ハ");gotoxy(45,21);printf("
ハ");gotoxy(56,21);printf("ハ");

gotoxy(25,22);printf("desea crear otra tabla


S/N: ");cin>>u;

}while(toupper(u)=='S');

}
if(toupper(u)=='N')

break;
case 'C':
{char
palabra[20],letra,auxcad[20],c[20];
int
termino=0,contador=0,flat,error = 0,s,k,r,i,j;
clrscr();

gotoxy(25,1);printf("EL AHORCADO");

gotoxy(6,6);printf("Ingrese palabra: ");


fflush(stdin);
gets(palabra);

strcpy(auxcad,palabra);
clrscr();
for( s = 0; s <
strlen(palabra);s++){
c[s] = '-'; //
Pasa de a minuscula
palabra[s] =
tolower(palabra[s]);
auxcad[s] =
tolower(auxcad[s]);}
do{ clrscr();
printf("[");
flat = 0;
for(k = 0; k <
strlen(palabra);k++){
if(letra ==
auxcad[k]){
c[k] =
auxcad[k]; }}
for(r = 0; r <
strlen(palabra);r++){

printf("%c",c[r]);}
printf("]
Ingrese letra:");
fflush(stdin);
scanf("%c",&letra);
letra =
tolower(letra);
for(i = 0;
i < strlen(palabra); i++){
if(letra
== palabra[i]){
palabra[i]
= '0';
flat = 1;
contador+
+;}}
if(flat ==
0){
error +=
1;

printf("Error numero %d de 6\n",error);


if(error
== 6)break;

getch();} }while(contador < strlen(palabra));


for(j = 0;
j < strlen(palabra); j++){

if(palabra[j] == '0'){
termino +=
1;}} if(termino == strlen(palabra))
for(int
q=1;q<16;q++){

textcolor(q);

clrscr();

gotoxy(18,12);

printf(" イ [%s] palabra correcta イ ",auxcad);

cprintf("GANASTE"); delay(200); }
else
printf("\n イ イ Perdiste la palabra era [%s] イ イ",auxcad);

delay(200); break; }
case 'R':
bandera=FALSE;

puts("\n");

break;
}//swich

}while(bandera);
break;

case'B':do{ clrscr();
gotoxy(23,3);puts("ヘヘヘヘヘヘヘヘヘヘヘ
ヘヘヘヘヘヘヘヘヘヘヘヘヘヘ");
gotoxy(27,4); printf("PROCESO
DE REGISTRO");
gotoxy(23,5);puts("ヘヘヘヘヘヘヘヘヘヘヘ
ヘヘヘヘヘヘヘヘヘヘヘヘヘヘ");
gotoxy(15,8); printf("A-
REGISTRAR CLIENTE");
gotoxy(41,8); printf("B-BUSCAR
CLIENTE");
gotoxy(15,11); printf("C-
MODIFICAR CLIENTE");
gotoxy(41,11); printf("D-
ELIMINAR DE REGISTRO");
gotoxy(15,15); printf("R-
REGRESAR");
gotoxy(15,17); printf("Ingrese
opcion: ");
do{

op=toupper(getch());
if(!
strchr("ABCDR",op))

putchar('\a');
else

break;

}while(TRUE);

bandera=TRUE;
switch(op){

case 'A': guardar_c(); break;

case 'B': buscar_c(); break;

case 'C': modificar_c(); break;

case 'D': eliminar_c(); break;

case 'R': bandera=FALSE;

puts("\n");

break;}

} while(bandera);

break;
case 'C': creditos();
exit(0);}
}while(TRUE);
}

//FUNCION PARA GUARDAR CLIENTES

void guardar_c()
{
FILE *pt;
pt=fopen("clientes.dat","a");

if(fopen==NULL)
{
clrscr();
printf("Error al Abrir El ARCHIVO...");
getch();
}

else
{
clrscr();
gotoxy(20,5); printf("JUGADOR");
gotoxy(10,10); printf("Nombre o <Alias>: ");
scanf("%s",nomb);
gotoxy(10,13); printf("Apellido: ");
scanf("%s",ape);
gotoxy(10,16); printf("Cedula: ");
scanf("%s",ced);
gotoxy(10,18); printf("Telefono: ");
scanf("%s",telefono);
gotoxy(10,20); printf("Forma de pago: ");
scanf("%s",pago_form);
gotoxy(10,22); printf("Contrase: ");
scanf("%s",nom_con);
fprintf(pt,"%s %s %s %s %s
%s\n",nomb,ape,ced,telefono,pago_form,nom_con);
}

fclose(pt);
clrscr();
gotoxy(15,19);printf("DATOS GUARDADOS");
getch();
}

// FUNCION PARA BUSCAR

void buscar_c()
{
FILE *pt;
int aux=0;
char cedt[15];

if(!(pt=fopen("clientes.dat","r")))
{
clrscr();
printf("No existen Datos Almacenados");
getch();
}

else
{
clrscr();
gotoxy(20,5); printf("Jugador");
gotoxy(6,10); printf("Ingrese cedula para buscar en registro:
");
scanf("%s",cedt);
aux=0;
fscanf(pt,"%s %s %s %s %s
%s",nomb,ape,ced,telefono,pago_form,nom_con);

while(!feof(pt))
{
if(strcmp(ced,cedt)==0)
{
clrscr();
gotoxy(20,5); printf("Jugador");
gotoxy(15,10); printf("Cliente Registrado:");
gotoxy(9,13); printf("Nombre:\t
%s",strupr(nomb));
gotoxy(9,14); printf("Apellido:\t
%s",strupr(ape));
gotoxy(9,15); printf("Cedula:\t %s",ced);
gotoxy(9,16); printf("Telefono:\t
%s",telefono);
gotoxy(9,17); printf("Tipo de pago:
%s",pago_form);
aux=1;
break;
}

else
{
fscanf(pt,"%s %s %s %s %s
%s",nomb,ape,ced,telefono,pago_form,nom_con);
}
}
fscanf(pt,"%s %s %s %s %s
%s",nomb,ape,ced,telefono,pago_form,nom_con);
}

if(aux==0)
{
clrscr();
gotoxy(12,3);printf("POSIBLEMENTE NO SE ENCUENTRA
REGISTRADO!!!...");
}

getch();
fclose(pt);
return;
}

//FUNCION PARA MODIFICAR DATOS

void modificar_c()
{
FILE *pt1,*temp;
char cedt[20];
int op4,ax1=0;
temp=fopen("temporal.dat","w");

if(!(pt1=fopen("clientes.dat","r")))
{
clrscr();
printf(" Imposible Abrir archivo..");
getch();
exit(0);
}
else
{
clrscr();
gotoxy(20,5); printf("Jugador");
gotoxy(10,10); printf("ingrese Cedula Del Cliente a Modificar: ");
scanf("%s",cedt);
fscanf(pt1,"%s %s %s %s %s
%s",nomb,ape,ced,telefono,pago_form,nom_con);
ax1=0;

while(!feof(pt1))
{
if(strcmp(ced,cedt)==0)
{
clrscr();
gotoxy(20,5); printf("Jugador");
gotoxy(5,9); printf("Cedula Encontrada");
gotoxy(10,11); printf("Que Desea Modificar?");
gotoxy(12,13); printf("Pulse (n) para modificar NOMBRE");
gotoxy(12,14); printf("Pulse (a) para modificar
APELLIDO");
gotoxy(12,15); printf("Pulse (c) para modificar CEDULA");
gotoxy(12,16); printf("Pulse (t) para modificar TODO");
gotoxy(14,18); printf("Datos del Cliente:");
gotoxy(16,20); printf("Nombre: %s",strupr(nomb));
gotoxy(16,21); printf("Apellido: %s",strupr(ape));
gotoxy(16,22); printf("Cedula: %s",ced);
gotoxy(16,23); printf("Telefono: %s",telefono);
gotoxy(16,24); printf("Tipo de pago: %s",pago_form);
gotoxy(16,25); printf("Contrase:\t******");
gotoxy(19,27); printf("\nIntruduzca campo a modificar:
");

op4=getche();

if(op4!='n'&&op4!='a'&&op4!='c'&&op4!='t')
{
getch();
menu();
}

switch(op4)
{
case'n':
{
clrscr();
gotoxy(20,5); printf("Jugador");
printf("\n\n\n %s %s %s",nomb,ape,ced);
printf("\n Ingrese Nuevo Nombre para el Jugado: ");
scanf("%s",nomb);
printf("\n\n\n\n Nuevos Datos Son:");
printf("\n\n\n %s %s
%s",strupr(nomb),strupr(ape),ced);
fprintf(temp,"%s %s %s %s %s
%s\n",nomb,ape,ced,telefono,pago_form,nom_con);
ax1=1;
printf("\n\n NOMBRE EDITADO");
getch();
break;
}

case'a':
{
clrscr();
gotoxy(20,5); printf("Jugador");
printf("\n\n\n %s %s %s",nomb,ape,ced);
printf("\n Ingrese Nuevo Apellido para el Cliente: ");
scanf("%s",ape);
printf("\n\n\n\n Nuevos Datos Son:");
printf("\n\n\n %s %s
%s",strupr(nomb),strupr(ape),ced);
fprintf(temp,"%s %s %s %s %s
%s\n",nomb,ape,ced,telefono,pago_form,nom_con);
ax1=1;
printf("\n\n APELLIDO EDITADO");
getch();
break;
}

case'c':
{
clrscr();
gotoxy(20,5); printf("Jugador");
printf("\n\n\n %s %s %s",nomb,ape,ced);
printf("\n Ingrese Nueva CEDULA: ");
scanf("%s",ced);
printf("\n\n\n\n Nuevos Datos Son:");
printf("\n\n\n %s %s %s",nomb,ape,ced);
fprintf(temp,"%s %s %s %s %s
%s\n",nomb,ape,ced,telefono,pago_form,nom_con);
ax1=1;
printf("\n\n CEDULA EDITADA");
getch();
break;
}

case't':
{
clrscr();
gotoxy(20,5); printf("Jugador");
printf("\n\n\n %s %s %s",nomb,ape,ced);
printf("\n\n\nModificara todo el campo...");
guardar_c();
ax1=1;
printf("\n\n EDITADO TODO EL CAMPO");
getch();
break;
}
}
}

else
{
fprintf(temp,"%s %s %s %s %s
%s\n",nomb,ape,ced,telefono,pago_form,nom_con);}
fscanf(pt1,"%s %s %s %s %s
%s",nomb,ape,ced,telefono,pago_form,nom_con);
}
if(ax1==0)
{ clrscr();
printf("\n NO EXISTE NINGUN");
printf("\n REGISTRO CON ESE NUMERO DE CEDULA");
getch();
}
}

fclose(pt1);
fclose(temp);
remove("clientes.dat");
rename("temporal.dat","clientes.dat");
return;
}

void eliminar_c()
{
FILE *pt1,*temp;
char cedt[20],con[20];
int ax1=0;
temp=fopen("temporal.dat","w");

if(!(pt1=fopen("clientes.dat","r")))
{
clrscr();
printf(" Imposible Abrir archivo..");
getch();
exit(0);
}
else
{
clrscr();
gotoxy(20,5); printf("Jugador");
gotoxy(10,10); printf("ingrese cedula para buscar en Registro: ");
scanf("%s",cedt);
gotoxy(10,12); printf("ingrese contase para para proceder a
eliminar: ");
scanf("%s",con);
fscanf(pt1,"%s %s %s %s %s
%s",nomb,ape,ced,telefono,pago_form,nom_con);
ax1=0;

while(!feof(pt1))
{
if(strcmp(ced,cedt)==0&&strcmp(nom_con,con)==0)
{
clrscr();
gotoxy(20,5); printf("Jugador");
gotoxy(5,9); printf("CLIENTE ENCONTRADO");
gotoxy(14,11); printf("Datos del Cliente:");
gotoxy(16,12); printf("Nombre: %s",strupr(nomb));
gotoxy(16,13); printf("Apellido: %s",strupr(ape));
gotoxy(16,14); printf("Cedula: %s",ced);
gotoxy(16,15); printf("Telefono: %s",telefono);
gotoxy(16,16); printf("Tipo de pago: %s",pago_form);
gotoxy(16,17); printf("Contrase: %s",nom_con);
gotoxy(16,19); printf("ELIMINADO DEL REGISTRO");
gotoxy(16,20); printf("PULSE CUALQUIER TECLA PARA VOLVER AL MENU");
ax1=1;
getch();
}

else
{
fprintf(temp,"%s %s %s %s %s
%s\n",nomb,ape,ced,telefono,pago_form,nom_con);}
fscanf(pt1,"%s %s %s %s %s
%s",nomb,ape,ced,telefono,pago_form,nom_con);
}

if(ax1==0)
{ clrscr();
printf("\n NO EXISTE NINGUN REGISTRO");
printf("\n CON ESOS DATOS INGRESADOS");
getch();
}

fclose(pt1);
fclose(temp);
remove("clientes.dat");
rename("temporal.dat","clientes.dat");
return;
}
//FUNCIONES PARA 3 EN RAYA

/*Inicializar la matriz*/
void juego(void){
int i, j;
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
matriz[i] [j] = ' ';
}
}
}

/*Obtener un movimiento del jugador*/


void usuario(void)
{
int x, y ;
printf("\t\tIntroduzca sus coordenadas (ej. 2 3): ");
scanf("%d%d", &x, &y);

x=x-1; y=y-1;

if(matriz[x][y]!= ' ')


{
printf("Movimiento invalido, pruebe de
nuevo.\n\n");
usuario();
}
else matriz[x][y] = 'X';

//Fin
}
/*Obtener un movimiento de la computadora*/
void maquina(void)
{
int i, j;

for(i=0; i<3; i++)


{
for(j=0; j<3; j++)
if(matriz[i] [j]==' ') break;
if(matriz[i] [j]==' ') break;
}

if(i*j==9)
{
printf ("EMPATE.\n");
exit(0);
}
else matriz[i] [j] = 'O';

//Fin
}

/*Mostrar la matriz en la pantalla*/


void imprimir(void)
{
int t;
for(t=0; t<3; t++)
{
printf(" %c | %c | %c ", matriz[t] [0],
matriz[t] [1], matriz[t] [2]);
if(t!=2) printf("\n---|---|---\n");
}
printf("\n");
}

/*Ver si hay un ganador*/

char verificar(void)
{
int i;
for(i=0; i<3; i++) /*verificar filas*/
{
if(matriz[i][0] == matriz[i][1] && matriz[i][0]
== matriz[i][2]) return matriz[i][0];

for(i=0; i<3; i++)


{
if(matriz[0][i]==matriz[1][i]
&& matriz[0][i] ==matriz[2][i]) return matriz[0][i];
/*verificar diagonales*/
if(matriz[0][0]==matriz[1][1]
&& matriz[1][1]==matriz[2][2]) return matriz[0][0];
if(matriz[0][2]==matriz[1][1]
&& matriz[1][1]==matriz[2][0]) return matriz[0][2];
}
return ' ';
}

}
void creditos()
{ // efecto letra por letra y cambio de color en creditos
int i;
char nombre[1000]="INTEGRANTES:BRAVO JONATHAN \nCHUGA
JHONNY \nUSHINA ALEX";
textmode(C40);
textcolor(CYAN);
gotoxy(5,18);
cprintf("DOCENTE: Ing. MENESES");
gotoxy(2,2);
textcolor(BROWN);
cprintf("]]ESUELA POLITECNICA DEL EJERCITO[[\n\n \t\t\t\tFUNDAMENTOS DE
PROGRAMACION\t\t\t");
gotoxy(2,10);
textcolor(GREEN);
delay(750);
for(i=0;i<=strlen(nombre);i++)
{
cprintf("%c",nombre[i]);
delay(100);
}
delay(2000);
return;
}
PRUEBAS Y ANÁLISIS DE RESULTADOS.
Después de realizar la respectiva compilación del presente programa se ha podido
comprobar q no presenta ningún tipo de error en su síntesis ni en su ejecución.

El programa presenta los resultados esperados por lo que el proyecto ha sido todo un
éxito.
CONCLUSIONES
 Se logró una comprensión profunda de lo que es realizar programas utilizando el
lenguaje de programación C++.

 Se aplicó todos los conocimientos obtenidos en el curso de FUNDAMENTOS DE


PROGRAMACION

 La utilización de funciones facilita el proceso de programación y nos ahorra líneas


de código.

 Si se escribe el código de forma correcta y ordenada no se presentara ningún tipo


de errores al compilar el mismo.

RECOMENDACIONES.
 Declarar todas las variables q se van a utilizar siempre teniendo en cuenta de que
tipo son para que al momento de compilar no nos produzca error.

 Recordar siempre cerrar todas las llaves, paréntesis o corchetes ocupadas al


escribir el código.

También podría gustarte