06-08-2005, 23:35
|
|
|
|
חבר מתאריך: 16.07.02
הודעות: 6,814
|
|
...
עשיתי משהו, אבל זה משהו בסיסי ביותר שרק יתן לך כיוון(הקוד חייב לעבור תיקונים ושיפוצים למיניהם).
הקוד ללא הערות על מנת שלפחות תנסה ללמוד לבד מה הקוד עושה.
ד"א
אני ממליץ לך לבנות מחלקה קטנה שתהיה אחראית על קבלת סיסמה, כך תוכל לעשות באופן
אלגנטי אפשרות לקבוע בזמן ריצה מה יהיה אורכה המרבי של המחרוזת ודברים בסגנון.
הנה הקוד:
קוד:
#include <iostream.h>
#include <conio.h>
int main(void) {
char password[10] = "",ch;
int index=0;
while(index < 10) {
ch = getch();
if(ch == 13) break;
if(ch >= 32 && ch <=255) {
password[index++] = ch;
cout << '*';
}
}
cout << endl << password;
getch();
return 0;
}
ועכשיו, לפני שכל הפורם כאן זועק על כך שהבאתי לך קוד עם conio אז יש לי בשבילך קוד תקני
לפונקצייה getch שכתבתי לפני כמה שנים.
לא שמתי את הקוד של הפונקצייה בתוכנית מהסיבה הפשוטה שהקוד הוא באסמבלי רגיל ולא
AT&T כמו שgcc תומך(וכרגע אני משתמש בgcc)...
ולצערי אני עוד לא יודע אסמבלי בצורה הזאת(אני חייב כבר ללמוד את זה )...
בכל אופן, הנה הפונקצייה(אני לא יודע עד כמה היא טובה, אבל היא עובדת)
קוד:
char getch() {
_asm {
mov ah, 0x0
int 0x16
}
return _AL;
}
בהצלחה לך... והפעם בניגוד לסיום הודעות קודמות שלי, אני לא אעזור לך עוד תמשיך לבד.
נראה לי שכבר הבאתי לך מספיק.
_____________________________________
|