パスワードの入力判定について自作関数を作っています
ルール
①八文字以上②大文字、小文字、記号、数字が入っていないといけない→全て当てはまるとOKが出る
実行するとどの値を入力してもOKしか出てきません
考えてみましたが何がいけないのかよくわかりません。。
#include<stdio.h> void check(char MOJI[100]) { int i=0,oomoji,komoji,suuji,kigou; while(MOJI[i]!='\0') //何文字であるか判定// { i++; } for(i=0;i;i++) //文字の種類を判定// { if(MOJI[i]>='A'||MOJI[i]<='Z') oomoji++; else if(MOJI[i]>='a'||MOJI[i]<='z') komoji++; else if(MOJI[i]>='0'||MOJI[i]<='9') suuji++; else kigou++; } //OKかNGかの判定// if((oomoji>0)||(komoji>0)||(suuji>0)||(kigou>0)||(i<=8)) { printf("OK"); } else { printf("NG\n\nREASON:"); if(i<=7) printf("word count do not have enough\n"); if(oomoji==0) printf("oomoji is not inputed\n"); if(komoji==0) printf("komoji is not inputed\n"); if(suuji==0) printf("suuzi is not inputed\n"); if(kigou==0) printf("kigou is not inputed\n"); } } //main関数の始まり// int main() { char moji[100]; printf("please input your password\n\n"); printf("password:"); scanf("%s",moji); check(moji); } ```
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。