[ Foro de C++ ]
Hola!
Estoy programando un block de notas, apenas estoy aprendiendo.
Estoy intentando que se pueda ingresar un usuario y una contraseña y el problema que tengo es con el fichero, no quiere leer completo... Si lo ejecutas te darás cuenta.
Cundo se ingresa por primera vez al programa pide registrar un usuario y contraseña, después aparece en pantalla el menú de opciones con tu dato de usuario. Ahí esta un error porque me junta el nombre de usuario y la contraseña.
Otro error es cuando salgo de programa e intento ingresar nuevamente, no quiere entrar.
Espero me puedas ayudar.
/***El programa esta diseñado para escribir NOTAS***/ //quitar useername para quecorra
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>
#include <stdlib.h> //para usar exit 0 y que cierre
#define MAX 80
void CLAVE();
void VER();
void AGREGAR();
void ELIMINAR();
void CALENDARIO();
void MENU();
FILE *fichero;
static int a,b,c;
main()
{short op=0;
int exit=0;
if((fichero=fopen("Notas2016.txt","rt"))==NULL)
{
fichero=fopen("Notas2016.txt","wt");
fclose(fichero);
printf("\n\n\n\n\n\n\n\n\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb");
printf("\n\n\t\t\t\t \"Bienvenid\x40 al Block de Notas Electronico 2016\"");
printf("\n\n\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc");
CLAVE();
}
else
{ printf("\t\t\t\t\t\t\t\t\t\t\t Por: Stephanie Tellez \xB8");
printf("\n\n\n\n\n\n\t\t\t\t\t\t BLOCK DE NOTAS 2016\n");
printf("\n\n\n\t\t\t Programa de uso personal dise\xA4\x61\x64\x6F para crear notas electronicas.\n\n\n");
CLAVE();
}
do{
clrscr();
MENU();
printf("\n\n\tEscoge una opcion: "); scanf("%s",&op);
switch(op)
{case'a': case'A': ////////ver//////
VER();
break;
case'b': case'B': /////agregar////
AGREGAR();
break;
case'c': case'C': //////////eliminar/////
ELIMINAR();
break;
case'd': case'D':
CALENDARIO();
break;
case'e': case'E':
exit=1;
break;
default:
clrscr();
break;
}
}while(exit==0);
}
//////////////////////////////////////////////////
void VER()
{char nota[MAX];
if((fichero=fopen("Notas2016.txt","rt"))==NULL)
{
printf("\n\nError al abrir el archivo ");
perror("Notas2016.txt"); //despliega el error (ventana windows)
getch();
}
else
{
clrscr();
fichero=fopen("Notas2016.txt","rt");
printf("\n\tNotas Guardadas:\n\n");
while(!feof(fichero))
{
fgets(nota,MAX,fichero); //lee
if(!feof(fichero)) //comprueba
{printf("%s",nota);} //escribe
}
printf("\n\n\tPulse cualquier tecla para continuar...");
fclose(fichero);
getch();
}
}
//////////////////////////////////////////////////
void AGREGAR() //cadena2
{char nota[MAX],resp,exit[]="exit";
int i=0;
do{
if((fichero=fopen("Notas2016.txt","rt"))==NULL)
{
printf("\n\nError al abrir el archivo ");
perror("Notas2016.txt"); //despliega el error (ventana windows)
getch();
break;
}
else
{clrscr();
fichero=fopen("Notas2016.txt","at");
printf("\n\n\t\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD");
printf("\n\tEscribe:\t\t\t\t\t\t\t\"exit\" para terminar");
do
{
printf("\n ");
gets(nota);
if(strcmp(nota,exit)==0) //compara cadena1(nota) con cadena2(exit)
break;
fprintf(fichero,"\t\xB3 %s\n",nota); //formato para guardar
}
while(strcmp(nota,exit)!=0);
fclose(fichero);
}
printf("\n\tQuieres ingresar otra nota? s/n: ");scanf("%s",&resp);
}
while((resp=='s')||(resp=='S'));
}
//////////////////////////////////////////////////todas
void ELIMINAR()
{short resp;
printf("\n\tSeguro que desea eliminar todas las notas? s/n: ");scanf("%s",&resp);
if((resp=='s')||(resp=='S'))
{fichero=fopen("Notas2016.txt","wt"); //con w se borra el archivo
if(fichero==NULL)
{printf("No se encuentra archivo.");}
else
{fclose(fichero);
printf("\n\tLas notas quedaron eliminadas con exito.");
}
printf("\n\n\n\tPulse cualquier tecla para continuar...");
getch();
}
}
//////////////////////////////////////////////////
void MENU()
{char usuario[20];
fichero=fopen("Clave.txt","rt");
printf("\n\n\tHola ");
while(!feof(fichero))
{
fgets(usuario,20,fichero); //lee
printf("%s",usuario); //escribe
}
fclose(fichero);
printf("\n\n\ta) Ver notas");
printf("\n\tb) Agregar nueva nota");
printf("\n\tc) Eliminar todas las notas");
printf("\n\td) Ver calendario 2016");
printf("\n\te) Salir");
}
//////////////////////////////////////////////////
void CALENDARIO()
{
clrscr();
printf("\n\t\t\t\t\t\t Calendario 2016\n");
printf("\n\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb");
printf("\n\xba Enero Febrero Marzo Abril \xba");
printf("\n\xba Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa.\xba");
printf("\n\xba 1 2 1 2 3 4 5 6 1 2 3 4 5 1 2 \xba");
printf("\n\xba 3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12 3 4 5 6 7 8 9 \xba");
printf("\n\xba 10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19 10 11 12 13 14 15 16 \xba");
printf("\n\xba 17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26 17 18 19 20 21 22 23 \xba");
printf("\n\xba 24 25 26 27 28 29 30 28 29 27 28 29 30 31 24 25 26 27 28 29 30 \xba");
printf("\n\xba 31 \xba\n\xba\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \xba");
printf("\n\xba Mayo Junio Julio Agosto \xba");
printf("\n\xba Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa.\xba");
printf("\n\xba 1 2 3 4 5 6 7 1 2 3 4 1 2 1 2 3 4 5 6 \xba");
printf("\n\xba 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13 \xba");
printf("\n\xba 15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20 \xba");
printf("\n\xba 22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27 \xba");
printf("\n\xba 29 30 31 26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31 \xba");
printf("\n\xba 31 \xba\n\xba\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \xba");
printf("\n\xba Septiembre Octubre Noviembre Diciembre \xba");
printf("\n\xba Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa.\xba");
printf("\n\xba 1 2 3 1 1 2 3 4 5 1 2 3 \xba");
printf("\n\xba 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10 \xba");
printf("\n\xba 11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17 \xba");
printf("\n\xba 18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24 \xba");
printf("\n\xba 25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31 \xba");
printf("\n\xba 30 31 \xba");
printf("\n\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc");
printf("\nPara regresar oprima cualquier tecla...");
getch();
clrscr();
}
void CLAVE()
{int i=0,verdadero,falso;
char usuario[20],clave[8],intento[8];
if((fichero=fopen("Clave.txt","rt"))==NULL)
{fichero=fopen("Clave.txt","w+t");
printf("\n\n\n\n\n\t\t\tPara empezar a usar el programa debe ingresar un usuario y contrase\xA4\x61.\n");
printf("\n\n\n\t\t\t\t\tUsuario: ");
gets(usuario);
fprintf(fichero,"%s",usuario);
printf("\n\t\t\t\t\tContrase\xA4\x61: ");
gets(clave);
fprintf(fichero,"%s",clave);
printf("\n\n\n\t\t\t\t\tListo, el usuario %s se ha creado.",usuario);
fclose(fichero);
getch();
}
else
{for(i=1; i<=4; i++)
{ fichero=fopen("Clave.txt","rt");
fgets(clave,20,fichero); // prueba
printf("%s",clave); //prueba
fclose(fichero);
printf("\n%s",clave); //prueba
printf("\n\n\n\n\n\n\n\n\t\t\t\t\t\tIngresa la contrase\xA4\x61: ");
gets(intento);
verdadero=1;
fichero=fopen("Clave.txt","w+t");
while(!feof(fichero)&&(verdadero))
{fscanf(fichero,"%s",&clave);
if(intento==clave) /////Se intenta comparar claves
{fclose(fichero);
verdadero=0;
i=5;
a=c;
break;
}
else
{if(i<4)
{printf("\n\n\t\t\t\t\t \"Clave incorrecta, intente de nuevo.\"");
fclose(fichero);
verdadero=0;
getch();}
else
{clrscr();
printf("\n\n\n\n\n\n\n\n\t\t\t\t\t SE EXCEDIO EL NUMERO DE INTENTOS.");
fclose(fichero);
getch();
exit(0);
}
}
clrscr();
}
}
}
}
Por cierto, para que se vea estético... cuando lo compilen deben ingresar a opciones>propiedades>diseño>tamaño del bufer de pantalla: ancho 121; tamaño de la ventana: ancho 121, alto: 50.
El diseño del programa esta para esa medida de ventana, si no lo configuran se vera desordenado, desfasado.
Saludos.
** Ahí esta un error porque me junta el nombre de usuario y la contraseña.
**Otro error es cuando salgo de programa e intento ingresar nuevamente, no quiere entrar.
Espero me puedas ayudar.
En el fichero clave.txt guardas en una única línea y sin separación tanto el usuario como su contraseña. Cuando lo abres para leerlo, al leer la línea entera, guardas en el nombre de usuario una cadena de texto que es el resultado de concatenar ambos valores. Por el mismo motivo no te permite validarte al ejecutarlo nuevamente: El valor de la variable "clave" no es lo que esperas porqué esa clave la ha leído como parte del nombre del usuario y no se asigna a la variable correcta.
Saludos.
Gracias por el aporte, lamentablemente como mi entrega fue al día siguiente tuve que hacer 3 rutas .txt para el fichero. Se que esta mal pero no sabía que más hacer.
Comparto el final de mi proyecto, es un programa sencillo.
Saludos.
/***El programa esta diseñado para escribir NOTAS***/
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <string.h>
#include <stdlib.h> //para usar exit 0 y que cierre
#define MAX 80
void CLAVE();
void VER();
void AGREGAR();
void ELIMINAR();
void CALENDARIO();
void MENU();
FILE *fichero;
static int numero;
static int a,b,c;
struct notass
{
char nota[80];
}block[100];
main()
{short op=0;
int exit=0;
if((fichero=fopen("Notas2016.txt","rt"))==NULL)
{
fichero=fopen("Notas2016.txt","wt");
fclose(fichero);
printf("\n\n\n\n\n\n\n\n\t\t\t\t\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb");
printf("\n\n\t\t\t\t \"Bienvenid\x40 al Block de Notas Electronico 2016\"");
printf("\n\n\t\t\t\t\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc");
CLAVE();
}
else
{ printf("\t\t\t\t\t\t\t\t\t\t\t Por: Stephanie Tellez \xB8");
printf("\n\n\n\n\n\n\t\t\t\t\t\t BLOCK DE NOTAS 2016\n");
printf("\n\n\n\t\t\t Programa de uso personal dise\xA4\x61\x64\x6F para crear notas electronicas.\n\n\n");
CLAVE();
}
do{
clrscr();
MENU();
printf("\n\n\tEscoge una opcion: "); scanf("%s",&op);
switch(op)
{case'a': case'A': ////////ver//////
VER();
break;
case'b': case'B': /////agregar////
AGREGAR();
break;
case'c': case'C': //////////eliminar/////
ELIMINAR();
break;
case'd': case'D':
CALENDARIO();
break;
case'e': case'E':
exit=1;
break;
default:
clrscr();
break;
}
}while(exit==0);
}
//////////////////////////////////////////////////
void VER()
{//char nota[MAX];
int i=0;
if((fichero=fopen("Notas2016.txt","rt"))==NULL)
{
printf("\n\nError al abrir el archivo ");
perror("Notas2016.txt"); //despliega el error (ventana windows)
getch();
}
else
{
clrscr();
fichero=fopen("Notas2016.txt","rt");
printf("\n\tNotas Guardadas:\n\n");
while(!feof(fichero))
{
fgets(block[numero+1].nota,MAX,fichero); //lee
if(!feof(fichero)) //comprueba
{
printf("%s",block[numero+1].nota);} //escribe
}
printf("\n\n\tPulse cualquier tecla para continuar...");
fclose(fichero);
getch();
}
}
//////////////////////////////////////////////////
void AGREGAR()
{char exit[]="exit";
short resp;
do
{
if((fichero=fopen("Notas2016.txt","rt"))==NULL)
{
printf("\n\nError al abrir el archivo ");
perror("Notas2016.txt"); //despliega el error (ventana windows)
getch();
break;
}
else
{clrscr();
fichero=fopen("Notas2016.txt","at");
printf("\n\n\t\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD");
printf("\n\t\t\t\tNOTA %d",numero+1);
printf("\n\tEscribe:\t\t\t\t\t\t\t\"exit\" para terminar");
do
{
printf("\n ");
gets(block[numero+1].nota);
if(strcmp(block[numero+1].nota,exit)==0)
break;
fprintf(fichero,"\t\xB3 %s\n",block[numero+1].nota);
}
while(strcmp(block[numero+1].nota,exit)!=0);
numero++;
fclose(fichero);
}
printf("\n\tQuieres ingresar otra nota? s/n: ");scanf("%s",&resp);
}
while((resp=='s')||(resp=='S'));
}
//////////////////////////////////////////////////todas
void ELIMINAR()
{short resp;
printf("\nSeguro que desea eliminar todas las notas? s/n: ");scanf("%s",&resp);
if((resp=='s')||(resp=='S'))
{fichero=fopen("Notas2016.txt","wt");
if(fichero==NULL)
{
printf("\n\nError al abrir el archivo ");
perror("Notas2016.txt"); //despliega el error (ventana windows)
getch();
}
else
{
fclose(fichero);
printf("\nLas notas quedaron eliminadas con exito.");
}
printf("\n\n\tPulse cualquier tecla para continuar...");
getch();
}
}
//////////////////////////////////////////////////
void MENU()
{char usuario[20];
fichero=fopen("Usuario.txt","rt");
printf("\n\n\tHola ");
fgets(usuario,20,fichero); //lee
puts(usuario); //escribe //¿Por qué solo lee con puts?
fclose(fichero);
printf("\n\n\ta) Ver notas");
printf("\n\tb) Agregar nueva nota");
printf("\n\tc) Eliminar todas las notas");
printf("\n\td) Ver calendario 2016");
printf("\n\te) Salir");
}
//////////////////////////////////////////////////
void CALENDARIO()
{
clrscr();
printf("\n\t\t\t\t\t\t Calendario 2016\n");
printf("\n\xc9\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbb");
printf("\n\xba Enero Febrero Marzo Abril \xba");
printf("\n\xba Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa.\xba");
printf("\n\xba 1 2 1 2 3 4 5 6 1 2 3 4 5 1 2 \xba");
printf("\n\xba 3 4 5 6 7 8 9 7 8 9 10 11 12 13 6 7 8 9 10 11 12 3 4 5 6 7 8 9 \xba");
printf("\n\xba 10 11 12 13 14 15 16 14 15 16 17 18 19 20 13 14 15 16 17 18 19 10 11 12 13 14 15 16 \xba");
printf("\n\xba 17 18 19 20 21 22 23 21 22 23 24 25 26 27 20 21 22 23 24 25 26 17 18 19 20 21 22 23 \xba");
printf("\n\xba 24 25 26 27 28 29 30 28 29 27 28 29 30 31 24 25 26 27 28 29 30 \xba");
printf("\n\xba 31 \xba\n\xba\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \xba");
printf("\n\xba Mayo Junio Julio Agosto \xba");
printf("\n\xba Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa.\xba");
printf("\n\xba 1 2 3 4 5 6 7 1 2 3 4 1 2 1 2 3 4 5 6 \xba");
printf("\n\xba 8 9 10 11 12 13 14 5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13 \xba");
printf("\n\xba 15 16 17 18 19 20 21 12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20 \xba");
printf("\n\xba 22 23 24 25 26 27 28 19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27 \xba");
printf("\n\xba 29 30 31 26 27 28 29 30 24 25 26 27 28 29 30 28 29 30 31 \xba");
printf("\n\xba 31 \xba\n\xba\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \xba");
printf("\n\xba Septiembre Octubre Noviembre Diciembre \xba");
printf("\n\xba Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa. Do. Lu. Ma. Mi. Ju. Vi. Sa.\xba");
printf("\n\xba 1 2 3 1 1 2 3 4 5 1 2 3 \xba");
printf("\n\xba 4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12 4 5 6 7 8 9 10 \xba");
printf("\n\xba 11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19 11 12 13 14 15 16 17 \xba");
printf("\n\xba 18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26 18 19 20 21 22 23 24 \xba");
printf("\n\xba 25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30 25 26 27 28 29 30 31 \xba");
printf("\n\xba 30 31 \xba");
printf("\n\xc8\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xbc");
printf("\nPara regresar oprima cualquier tecla...");
getch();
clrscr();
}
////////////////////////////////////////////////////////
void CLAVE()
{int i=0,verdadero,falso;
char usuario[20],clave[10],intento[10];
if((fichero=fopen("Usuario.txt","rt"))==NULL)
{fichero=fopen("Usuario.txt","w+t");
printf("\n\n\n\n\n\t\t\tPara empezar a usar el programa debe ingresar un usuario y contrase\xA4\x61.\n");
printf("\n\n\n\t\t\t\t\tUsuario: ");
gets(usuario);
fprintf(fichero,"%s",usuario);
fclose(fichero);
if((fichero=fopen("Clave.txt","rt"))==NULL)
{fichero=fopen("Clave.txt","w+t");
printf("\n\t\t\t\t\tContrase\xA4\x61: ");
gets(clave);
fprintf(fichero,"%s",clave);
printf("\n\n\n\t\t\t\t\tListo, el usuario %s se ha creado.",usuario);
fclose(fichero);
getch();}
}
else
{for(i=1; i<=4; i++)
{ fichero=fopen("clave.txt.","rt");
fgets(clave,10,fichero);
// puts(clave); //para ver la clave
fclose(fichero);
printf("\n\n\n\n\n\n\n\n\t\t\t\t\t\tIngresa la contrase\xA4\x61: ");
gets(intento);
verdadero=1;
while(verdadero)
{
if(strcmp(intento,clave)==0) //compara claves
{
verdadero=0;
i=5;
a=c;
break;
}
else
{
if(i<4)
{printf("\n\n\t\t\t\t\t \"Clave incorrecta, intente de nuevo.\"");
verdadero=0;
getch();}
else
{clrscr();
printf("\n\n\n\n\n\n\n\n\t\t\t\t\t SE EXCEDIO EL NUMERO DE INTENTOS.");
getch();
exit(0);}
}
clrscr();
}
}
}
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)