PDA

View Full Version : مبتدی: نوشتن برنامه : تعداد ارقام ورودی



iran2008
یک شنبه 28 آبان 1391, 08:03 صبح
سلام خسته نباشید
من یک برنامه با ++C میخوام که یک عدد رو از ورودی دریافت میکنه و تعداد ارقامش رو در خروجی نمایش بده .

باید چجوری بنویسمش ؟
مرسی

smemamian
یک شنبه 28 آبان 1391, 09:02 صبح
مثلاً اگر ورودی 5 بود عدد 1 و اگر 10 بود عدد 2 رو نشان دهد ؟

kiarashk
یک شنبه 28 آبان 1391, 09:32 صبح
سلام خسته نباشید
من یک برنامه با ++C میخوام که یک عدد رو از ورودی دریافت میکنه و تعداد ارقامش رو در خروجی نمایش بده .

باید چجوری بنویسمش ؟
مرسی
من توی سی اینطوری نوشتم:


#include <stdio.h>

int main(void) {

int counter , number;

printf("please enten number? \n");
scanf("%d" , &number);

for (counter = 0; number > 0 ; counter++) {
number /= 10;
}

printf("the Number of digits is %d" , counter);

return 0;
}

smemamian
یک شنبه 28 آبان 1391, 09:51 صبح
و در ++C :

int counter , number;

cout <<"please enter number? \n";
cin >> number;

for (counter = 0; number > 0 ; counter++) {
number /= 10;
}

cout << " the Number of digits is:" << counter << endl ;

omidshaman
یک شنبه 28 آبان 1391, 09:58 صبح
گذاشتن کد مجاز نیست بزارین خودشون فکر کنن جواب بدن این تاپیک رو هم به محض این که مدیرای سایت ببینن پاک می کنن...

iran2008
یک شنبه 28 آبان 1391, 15:23 عصر
مرسی .
در جواب دوستان بگم که آره من میخوام اگر عددی تک رقمی ود بگه مثلا 1 و یا دو رقم بگه 2 و همینطور اگه چند رقمی باشه بازم تعداد ارقامش رو بگه .
جواب های دوستان رو چک میکنم و نتیجه رو اعلام میکنم .
با تشکر .

smemamian
یک شنبه 28 آبان 1391, 16:06 عصر
حالا سوال !

اگر 2 عدد رو با فاصله(Space) تایپ کنیم خروجی 1 می شود ! مثلاً 55 میشه 2 ولی 5 5 میشه 1 !

چگونه این مشکل رو بر طرف کنیم ؟

vistacali
یک شنبه 28 آبان 1391, 16:12 عصر
حالا سوال !

اگر 2 عدد رو با فاصله(Space) تایپ کنیم خروجی 1 می شود ! مثلاً 55 میشه 2 ولی 5 5 میشه 1 !

چگونه این مشکل رو بر طرف کنیم ؟



دوستان کد مستقیم رو نزارید بزارید خودشون حل کند


دوست گرامی کد اسکی space رو هر بار که for اجرا میشه چک کن که اگر space باشه باید عدد بعدی رو هم در نظر بگیره

vistacali
یک شنبه 28 آبان 1391, 16:13 عصر
[QUOTE=kiarashk;1629087]من توی سی اینطوری نوشتم:

دوست گرامی کد نزار فقط راهنمایی کن

maktoom
یک شنبه 28 آبان 1391, 17:48 عصر
سلام
اما نکته ای که هست دیگه فک کنم نتونی با این کد از ورودی مقدار بگیری.(بخاطر ملاحظه ای که می خوای در نظر بگیری)
این موضوع قبلا توی تاپیکای مربوط به برنامه های C بحث شده بود.
اگه دوستان اطلاعاتی دارن بگن.

kiarashk
یک شنبه 28 آبان 1391, 18:43 عصر
حالا سوال !

اگر 2 عدد رو با فاصله(Space) تایپ کنیم خروجی 1 می شود ! مثلاً 55 میشه 2 ولی 5 5 میشه 1 !

چگونه این مشکل رو بر طرف کنیم ؟

شما اجازه دارین از ارایه استفاده کنین؟
اگه بله که می تونید با یک حلقه ابتدا ورودی ها رو داخل یک ارایه بریزین بعد دونه دونه روشون کار کنیین و خروجی رو نمایش بدین.

vahid_fathi
یک شنبه 28 آبان 1391, 19:46 عصر
حالا سوال !

اگر 2 عدد رو با فاصله(Space) تایپ کنیم خروجی 1 می شود ! مثلاً 55 میشه 2 ولی 5 5 میشه 1 !

چگونه این مشکل رو بر طرف کنیم ؟

تو ++c شایدم c وقتی بین ارقام یه عدد فاصله میزاری عددت به تعداد ارقام ، عدد به حساب میاد به طور مثال وقتی بین یه عدد سه رقمی سه تا space میزنی مثل اینکه سه تا عدد وارد کردی.
از این کار بیشتر برای مقدار دادن به ارایه استفاده میشه تا هی enter نزنن و screen رو بیخودی پر نکن .

به این تاپیک هم یه سر بزنین خالی از لطف نیست (http://barnamenevis.org/showthread.php?286456-%D8%B1%D9%81%D8%AA%D8%A7%D8%B1-%D8%AF%D9%88%D8%B1-%D8%A7%D8%B2-%D8%A7%D9%86%D8%AA%D8%B8%D8%A7%D8%B1-%D9%8A%D9%87-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87)