[ Foro de C++ ]

Usuario y contraseña(fichero)

06-Jan-2016 22:55
Stephanie Téllez
3 Respuestas

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


 


06-Jan-2016 23:08
Stephanie Téllez

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.


08-Jan-2016 10:01
Invitado (Caranim)

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


17-Jan-2016 01:33
Stephanie Téllez

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