Here is the code.
Start.c
CODE
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "start.h"
#define TRUE 1
#define FALSE 0
int login() {
printf("Welcome to the Computer!\n");
printf("Type your username:\n");
printf("new-host-2:~ user$ ");
char username[256];
scanf("%s", username);
if(strcmp(username, "Hannah") != 0) {
printf("\n Wrong! Type again:\n");
printf("new-host-2:~ user$ ");
scanf("%s", username);
if(strcmp(username, "Hannah") != 0) {
printf("\n Hint: You; Type:\n");
printf("new-host-2:~ user$ ");
scanf("%s", username);
if(strcmp(username, "Hannah") != 0) {
exit(0);
}
}
}
printf("\n Great! Password, Type ~ at the end:\n");
printf("new-host-2:~ user$ ");
char password[256];
scanf("%s", password);
if(strcmp(password, "password") != 0) {
printf("Type Again:\n");
printf("new-host-2:~ user$ ");
scanf("%s", password);
if(strcmp(password, "password") != 0) {
printf("Hint: Girl; Type:\n");
printf("new-host-2:~ user$ ");
scanf("%s", password);
if(strcmp(password, "password") != 0) {
exit(0);
}
}
}
return 0;
}
char usernames[16][256];
char passwords[16][256];
void setuser(char* username, char* password, int userID)
{
int x;
int bFound = FALSE;
if(userID>15) return;
if(userID<0){
for(x=0;x<16;x++){
if(usernames[x]==0){
userID = x; bFound = TRUE; break;
}
}
if(bFound == FALSE) {
printf("Your account could not be created. Try again later.");
return;
}
}
strcpy(usernames[userID], username);
strcpy(passwords[userID], password);
}
int loadUserDatabase()
{
FILE *fp;
if(!(fp=fopen("users.dat","rb"))){
memset(usernames, 0, sizeof(usernames));
memset(passwords, 0, sizeof(passwords));
} else {
fread( usernames, sizeof(usernames), 1, fp);
fread( passwords, sizeof(passwords), 1, fp);
}
return 0;
}
int saveUserDatabase()
{
FILE* fp;
if(!(fp=fopen("users.dat","wb"))){
fwrite(usernames, sizeof(usernames), 1, fp);
fwrite(passwords, sizeof(passwords), 1, fp);
}
return 0;
}
Start.h
CODE
int login();
void setuser(char* username, char* password, int userID);
int saveUserDatabase();
int loadUserDatabase();
Main.c
CODE
#include <stdio.h>
#include <string.h>
#include "start.h"
void write() {
for(;;){
printf("Would you like to type; 4 lines only? Type Yes or No:\n");
char line1[256];
char line2[256];
char line3[256];
char line4[256];
char response[256];
printf("new-host-2:~ user$ ");
scanf("%s", response);
if(strcmp(response, "Yes") == 0) {
scanf("%s", line1);
printf("\n");
scanf("%s", line2);
printf("\n");
scanf("%s", line3);
printf("\n");
scanf("%s", line4);
} else if(strcmp(response, "No") == 0) {
break;
} else {
printf("-bash unknown command\n");
}
}
}
void ask() {
for(;;) {
char response[256];
printf("Would you like to do any of the following\n");
printf("Writing, Logout\n ");
printf("new-host-2:~ user$ ");
scanf("%s",response);
if(strcmp(response, "Writing") == 0) {
write();
} else if(strcmp(response, "Logout") == 0) {
break;
} else {
printf("-bash unkwown command\n");
}
}
}
int main (int argc, const char * argv[]) {
loadUserDatabase();
setuser("Derek", "Hannah", 1);
login();
ask();
saveUserDatabase();
return 1;
}
Comment/Reply (w/o sign-up)