عملت برنامج صغير جدا وعملت له باسورد
عن طريق do whie
بس عندما يدخل المستخدم الرقم
يظهر 45211322 رقم وانا لا اريد ذلك
اريد ان يظهر *******
كيف اعملها بلغة سي
عملت برنامج صغير جدا وعملت له باسورد
عن طريق do whie
بس عندما يدخل المستخدم الرقم
يظهر 45211322 رقم وانا لا اريد ذلك
اريد ان يظهر *******
كيف اعملها بلغة سي
استخدم التابع getch الذي يقوم بقرائة محرف من غير اظهاره ومن ثم أظهر * بداله ..
هذا المثال التاي يقبل باسورد بطول 20 محرف كحد أعظمي ومن ثم يطبع الباسورد :
#include
#include
#include
int main(int argc, char* argv[])
{
int i = 0;
char str[21]; // The string that will hold the password
printf("Enter the password : ");
do {
char ch = getch();
str[i++] = ch; // get a charachter
if (isalnum(ch)) // if the charachter is alpha or number
putch('*'); // output the star instead
else
break; // else break the loop
} while (i < 20);
str = '
Coding on the Cloud and for the Cloud!
اولاً كل عام وانت بخير يا استاذ هاني
والف الف الف شكر
والله يزيدك علم لتنفع اخوانك
الي هي الباسور
وشرحها لي الاستاذ هاني بس كانت اكبر من مستواى
والمطلوب هو ان المستخدم لما يدخل كلمة المرور يطلع
**** وليس رقم1233 وهذا البرنامج المتواضع
الى احاول ان افهم عن طريقة ارجو اى احد يعرف يعل فية
او يشرحلي المضوع
#include
main ()
{
int i=999,n,c=1;
float n1,n2;
char m,s;
do { printf("Etaer password :");
scanf("%d",&n);
if(n==i) { printf("Welcome in my program");
break;}
c++; } while(c<=3);
if(n!=i) printf("wrong password");
return 0;
}
استاذى/ هاني العزيز
ممكن تعدلي على البرنامج الذي انا وضعتة
وعلى موضوع scanf كيف استقبل رقم بغير scanf
واشرحلي الدالة if (isalnum(ch وكيف استفيد منها
واخيراً
الله يعطيك الصحة والعافية
بالنسبة إلى الscanf فهنا لا تفيدك لأنك تريد استقبال محرف بعد محرف أما ال scanf فيجب أن تضغط مسافة بعد كل محرف أو enter أو tab و الscanf سوف تظهر الحرف المكتوب ..
الطريقة الأخرى للادخال هي ادخال محرف محرف وتخزيتهم في مصفوفة ومن ثم تحوبل هذه المصفوفة إلى رقم .
الدالة isalnum ترجع true إذا كان المحرف هو عبارة عن رقم أو حرف أي ضمن المجال 0 إلى 9 أو a إلى z أو A إلى Z .. ويمكن كنت تكتبها كالتالي :
if ( (ch >= '0' && ch <= '9') ||
(ch >= 'a' && ch <= 'z') ||
(ch >= 'z' && ch <= 'Z') )
putch('*'); // output the star instead
else
break; // else break the loopوهذا هو البرنامج كما تريد :
#include
#include
#include
#include
void GetPassword(char *str, int nMax)
{
int i = 0;
do {
char ch = getch();
str = ch; // get a charachter
if (isalnum(ch)) // if the charachter is alpha or number
putch('*'); // output the star instead
else
break; // else break the loop
} while (++i < nMax);
str = '
Coding on the Cloud and for the Cloud!
انا عــــــــــــــــــــــــــــــــــــــــــــــــــــــــاجز عن الشكر
ماادري ايش اقول
سرعة ردك تبهرني
الله لا يحرمنا منك
ويعطيك الف الف الف الف الف الف الف الف الف عـــــــــــــافية
واسمحلى اعتبرك استاذى الاول في برمجة c اذا ماعندك مانع
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…