Challenge 1# Completed

+3 Aleksander Olewinski · January 11, 2015
Hello. Here is my first challenge :)


#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>

int main()
{
    char password[21];
    char rpassword[21];
    char decision;
    int i=0;
    int big=0;
    int number=0;
    int howLong=0;

    printf("Welcome. Before you type your password please read this carefully!\nPassword should have minimum length of 6 and maximum length of 20 characters.\nPassword should include one or more: capital letter and number.");
    COMEBACK:printf("\nPlease enter your password: ");
    scanf(" %s", password);
    printf("\nPlease repeat your password: ");
    scanf(" %s", rpassword);
    if(strcmp(password, rpassword) !=0){
        printf("\nPassword does not match repeated password. Please try again.");
        printf("\nPlease enter your password: ");
        scanf(" %s", password);
        printf("\nPlease repeat your password: ");
        scanf(" %s", rpassword);
    }

    while(password!='\0'){
        if(isupper(password)){
            big+=1;
            howLong+=1;
            i++;
        }
        else if(isdigit(password)){
            number+=1;
            howLong+=1;
            i++;
        }
        else{
            i++;
            howLong+=1;
        }
    }

    printf("%d %d %d",big, number, howLong); //just checking if it is working :)

    if((big>0) && (number>0) && (howLong>=6)){
        printf("\nYour password match the criteria!");
    }
    else{
        printf("\nYour password does not match the criteria! Try again!");
        printf("\nDo you want try enter your password again? (y/n): " );
        scanf(" %c", &decision);
        switch(decision){

        case 'y' : howLong=0;
        int i=0;
        int big=0;
        int number=0;
        goto COMEBACK;

        case 'n' : printf("\nSee you soon");
        break;

        default : printf("\nI do not know what does this mean. Bye!");
        break;}

    }
    
    getchar();
    return 0;
}

Post a Reply

Replies

- page 2
Oldest  Newest  Rating
0 Aleksander Olewinski · January 22, 2015
Opss! Thanks mates.
0 alexander starbuck · February 22, 2015
Aleksander, 

first of all you've got a great name! :) 

I tried compiling and running your code in my XCode and these are the warnings I got (and messages from the debugger one it broke down). Since I am a total newbie I can't interpret what my debugger is saying since it's got something to do with the memory and registers and is all in hex... maybe Bucky or some of the other more experienced guys and gals can contribute.

Cheers!
Alex

/images/forum/upload/2015-02-22/93f995f327de3b6ba14d5d0f31c2640b.png
0 Aleksander Olewinski · January 22, 2015
I have just checked my code. It is fine. Oh Gosh I will kill ya :). I tought I made mistake! Thanks again c student!
0 c student · January 14, 2015
it's not that hard, find the problem and do something about it, or completely eliminate the problem with a better alternative.
-1 Aleksander Olewinski · January 16, 2015
c student! I will give you challenge. Try to break my program now :).

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>

int main()
{
    char password[21];
    char rpassword[21];
    char decision;
    int i=0;
    int big=0;
    int number=0;
    int passwordlen;

    printf("Welcome. Before you type your password please read this carefully!\nPassword should have minimum length of 6 and maximum length of 20 characters.\nPassword should include one or more: capital letter and number.");
    COMEBACK:printf("\nPlease enter your password: ");
    scanf(" %s", password);
    passwordlen = strlen(password);
    while(passwordlen < 6){
        printf("Your password is too short! Try again!");
        printf("\nPlease enter your password: ");
        scanf(" %s", password);
    }
    while(passwordlen >20){
        printf("Your password is too long! Try again!");
        printf("\nPlease enter your password: ");
        scanf(" %s", password);
    }
    printf("\nPlease repeat your password: ");
    scanf(" %s", rpassword);
    if(strcmp(password, rpassword) !=0){
        printf("\nPassword does not match repeated password. Please try again.");
        printf("\nPlease enter your password: ");
        scanf(" %s", password);
        printf("\nPlease repeat your password: ");
        scanf(" %s", rpassword);
    }

    while(password!='\0'){
        if(isupper(password)){
            big+=1;
            i++;
        }
        else if(isdigit(password)){
            number+=1;
            i++;
        }
        else{
            i++;
        }
    }

    printf("%d %d", big, number); //just checking if it is working

    if((big>0) && (number>0)){
        printf("\nYour password match the criteria!");
    }
    else{
        printf("\nYour password does not match the criteria!\n It should have at least one big letter and one digit.\n Try again!");
        printf("\nDo you want try enter your password again? (y/n): " );
        scanf(" %c", &decision);
        switch(decision){

        case 'y' : i=0;
        big=0;
        number=0;
        goto COMEBACK;

        case 'n' : printf("\nSee you soon");
        break;

        default : printf("\nI do not know what does this mean. Bye!");
        break;}

    }

    getchar();
    return 0;
}


Good luck!
  • 1
  • 2

C

124,526 followers
About

One of the most popular languages of all time.

Links
Moderators
Bucky Roberts Administrator