Faulty loop (Yeah Me Again!)
Code:
#include <stdio.h>
#include <string.h>
struct create_account
{
char username[16];
char pass[16];
char conf_pass[16];
};
struct login
{
char username[16];
char pass[16];
};
int main()
{
struct create_account c;
struct login l;
FILE *fp = NULL;
char user[16];
char pass[16];
short int condition = 0;
short int i = 0;
short int j = 0;
short int k = 0;
char opt_no = 0;
while(k = 0);
{
printf("\n**************ADMISSION*PROGRAM*FOR****************");
printf("\n********************STUDENTS***********************");
printf("\n\n");
printf("\n1.LOG IN");
printf("\n2.CREATE USER");
printf("\n3.EXIT PROGRAM");
printf("\nEnter Option No.:\t");
opt_no = getchar();
switch(opt_no)
{
case '1':
printf("\nUsername:\t");
scanf("%s", l.username);
printf("\nPassword:\t");
scanf("%s", l.pass);
fp = fopen("user_account.txt", "r");
while(fscanf(fp, "%s\t%s", user, pass) == 2)
{
if(user == l.username && pass == l.pass)
{
printf("YES.");
}
}
break;
case '2':
printf("\nEnter Desired Adiminisrator User Name:\t");
scanf("%s", c.username);
FILE *fp = fopen("user_account.txt", "a");
fprintf(fp, "%s\t", c.username);
fprintf(fp, "\t");
printf("(Enter Desired Password Not Less Than 8 Characters");
printf("\nAnd Not More Than 16 Characters.)");
while(condition == 0)
{
printf("\n\nPassword:\t\t");
scanf("%s", c.pass);
j = strlen(c.pass);
if(j < 8)
{
printf("\nError.Password is less than 8 characters.");
}
if(j > 16)
{
printf("\nError.Password is more than 16 characters.");
}
if(j >= 8 && j <= 16)
{
printf("Confirm Password:\t");
scanf("%s", c.conf_pass);
i = strcmp(c.pass, c.conf_pass);
if(i != 0)
{
printf("Error! Passwords do not match");
}
if(i == 0)
{
condition = 1;
fprintf(fp, "%s\n", c.pass);
}
fclose(fp);
break;
}
case '3':
k =1;
break;
}
}
}
return 0;
}
i'm trying to make it so that the program returns back to the login screen after creating an account instead of exiting the program. I tried but so far not working.