ورود

View Full Version : مشکل این کد چیه؟ (دریافت کد از کاربر)



aeolus
شنبه 07 دی 1387, 01:20 صبح
سلام به همه عزیزان

به نظر شما مشکل این برنامه که با ++C نوشتم چیه؟
من می خوام که کاربر یک پاسورد 10 رقمی وارد کنه و سپس اون را وریفای کنه اگه درست بود پیغام True و اگه غلط بود پیغام False را چاپ کنه.(البته با آرایه ها و بدون حلقه for).

برنامه را که ران میکنم چه رمز را هر دو بار درست وارد کنی چه غلط بازم پیغام False را چاپ می کنه !!!


#include <stdio.h>
#include <conio.h>
int main()
{
char k,pass[10],re_pass[10];
int i,flag;
flag=0;
i=0;
printf("Enter the password:");
while (i<10)
{
scanf("%c",&pass[i]);
i++;
}
i=0;
printf("\nVerify your password:");
while (i<10)
{
scanf("%c",&re_pass[i]);
i++;
}
i=0;
while (i<10)
{
if (pass[i] != re_pass[i])
flag=1;
i++;
}
if (flag==0)
printf("\nTrue");
printf("\nFalse");
getch();
return 0;
}

Saeed_m_Farid
شنبه 07 دی 1387, 09:51 صبح
سلام دوست عزیز لطف کنید کدتون رو تو تگ CODE بذارید تا قابل فهم بشه؛ اشکال شما اینه که else یادتون رفته!

//---------------------------------------------------------------------------
#include <stdio.h>
#include <conio.h>
int main()
{
char k,pass[10]="",re_pass[10]="";
int i=0,flag=true;
printf("Enter the password:");
while (i++<=10)
scanf("%c",&pass[i-1]);
printf("\nVerify your password:");
i=0;
while (i++<=10)
scanf("%c",&re_pass[i-1]);
i=0;
while (i++<10)
if (pass[i] != re_pass[i])
flag=false;

if (flag)
printf("\nTrue");
else
printf("\nFalse");
getch();
return 0;
}
//---------------------------------------------------------------------------

aeolus
سه شنبه 10 دی 1387, 22:48 عصر
ممنون از شما
حالا یه سوال دیگه: اگه کاربر هر دو رمز را مثل هم وارد کرد هیچی ولی اگه اشتباه وارد کرد بخوام اندیس عناصری از رمز که با هم فرق میکنند را چاپ کنه باید چکار کنم؟

ممنون که به منه تازه وارد کمک می کنید...

Saeed_m_Farid
سه شنبه 10 دی 1387, 23:05 عصر
ممنون از شما
حالا یه سوال دیگه: اگه کاربر هر دو رمز را مثل هم وارد کرد هیچی ولی اگه اشتباه وارد کرد بخوام اندیس عناصری از رمز که با هم فرق میکنند را چاپ کنه باید چکار کنم؟

ممنون که به منه تازه وارد کمک می کنید...

خواهش ميكنم؛ شما هم منو ببخشيد كه يه مقدار ركم ولي قراره فقط يه خط كد بنويسيد تا اون انديس رو تو كنسول چاپ كنيد عوضش اينقدر تايپ فارسي ميكنيد ولي اون يه خط رو نمينويسين! اينطوري قوه خلاقيتتون بالقوه ميمونه...


int main()
{
char k,pass[10]="",re_pass[10]="";
int i=0,flag=true;
printf("Enter the password:");
while (i++<=10)
scanf("%c",&pass[i-1]);
printf("\nVerify your password:");
i=0;
while (i++<=10)
scanf("%c",&re_pass[i-1]);
i=0;
while (i++<10)
if (pass[i] != re_pass[i])
{
printf(",Wrong ch> %d", i+1);
flag=false;
}

if (flag)
printf("\n\nResult: True");
else
printf("\n\nResult: False");
getch();
return 0;
}