مشاهده نسخه کامل
: درخواست رمزنگاری ساده با c++
raperman
22-10-2012, 12:04
سلام دوستان
یه تمرین دارم که باید برای فردا تحویل بدم
تمرین اینه که نرم افزار 4 عدد رو بگیره و به صورت حروف رمز کنه
A = 0
B = 1
C = 2
D = 3
E = 4
F = 5
G = 6
H = 7
I = 8
J = 9
مثلا عدد 4589 رو بگیره و EFIJ رو تحویل بده
خیلی فوری هست ، ممنون می شم کمکم کنید که حلش کنم
در ضمن نباید از دستور if استفاده بشه ، یه چیز خیلی ساده لازم هست
szh_1367
22-10-2012, 12:41
سلام دوستان
یه تمرین دارم که باید برای فردا تحویل بدم
تمرین اینه که نرم افزار 4 عدد رو بگیره و به صورت حروف رمز کنه
A = 0
B = 1
C = 2
D = 3
E = 4
F = 5
G = 6
H = 7
I = 8
J = 9
مثلا عدد 4589 رو بگیره و EFIJ رو تحویل بده
خیلی فوری هست ، ممنون می شم کمکم کنید که حلش کنم
در ضمن نباید از دستور if استفاده بشه ، یه چیز خیلی ساده لازم هست
من کامپایلر سی ++ ندارم و برنامه رو هم کامل ننوشته ام تکه کد زیر رو ببین برای نمونه استفاده کن دقیقا به همین شکل باید پیاده سازی کنید
دیدی خیلی خیلی ساده است فقط باید کمی فکر و تلاش کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
raperman
22-10-2012, 13:21
ممنون از شما دوست عزیز
متاسفانه هنوز به ما array ها , string رو یاد ندادن پس من نمی تونم از این ها استفاده کنم ، از جدول اسکی نمی شه کاری کرد ؟
raperman
22-10-2012, 16:15
تمرین رو تونستم حل کنم
فقط یه سوال کوچیک دارم
ببینید من یه سری cin لازم دارم که توی یه خط و پشت سر هم باشن ، ولی من وقتی cin ها رو می نویسیم توی ویژوال استودیو ( 4 تا ) وقتی نرم افزار رو ران می کنم بعد از هر عدد باید یه اینتر بزنه کاربر، یا اینکه بین عدد ها فاصله وارد کنه یعنی 1 1 1 1 بشه
یا باید بزنه :
1
1
1
1
تا
aaaa براش چاپ بزنه
چی کار کنم که پشت سر هم وارد کنه هم مشکلی نباشه ؟
A.I.V.I.O
22-10-2012, 16:33
(من تازه کارم و درستی این چیزایی که میگم رو به هیچ عنوان تایید نمیکنم)
اینکار رو نمیتونی بکنی، چون هر بار که Enter رو بزنی برنامه 1 ورودی رو میگیره، چه عدد باشه، چه حرف چه زیاد چه کم براش فرقی نمیکنه!
ولی برای این مورد، شما میتونی این کارو بکنی:
باقیمونده عدد رو بر 10 بگیری، اون میشه آخرین عدد یا حرف، بعد باقیمونده رو بر 100 بگیری و ...
یعنی یه چنین چیزی:(و نه دقیقا خود این) (که خوب البته پیشنهاد نمیشه.)
cin>>a; h
b=a%10; h
cout<<b; h
b=a%100-a%10; h
cout<<b; h
.
.
.
که البته به همین سادگی ها هم نیست، چون باید هر بار که b رو بدست میاری بنویسیش که اینجوری کدت برعکس نوشته میشه و یا چنتا متغیر تعریف کنی (چون آرایه ها رم هنوز بهتون نگفته).
کلا این روش پیشنهاد نمیشه!
raperman
22-10-2012, 16:57
ممنون ، بله از همین روش درست هستش
szh_1367
22-10-2012, 17:09
نمیدونم چی درستون دادن به همین دلیل نمیتوانم کمک زیادی بکنم
برای چاپ باید مبنا رو کاراکتر 97 که a هست در نظر بگیرید سپس هر رقم رو با 97 جمع کنید
مثلا کد زیر حروف a b c رو چاپ میکنه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
raperman
22-10-2012, 17:11
ممنون دوست عزیز ، خودم دقیقا از همین روشی که گفتید قبلا حلش کردم ، فقط کافیه عددی که از کاربر می گیریم رو به 4 عدد مجزا تبدیل کنیم و هر کدوم رو با عدد 63 که A بزرگ هست و یا 97 که a کوچیک هست جمع بزنیم
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.