PDA

View Full Version : سوال: مشکل در شمارش کلمات



ali-software
سه شنبه 25 مرداد 1390, 13:33 عصر
سلام.یک برنامه برای شمارش کلمات و کاراکتر ها نوشتم که کاراکتر ها رو به درستی می شماره اما کلمات رو که باید با هر spce زدن بشماره نمی شماره.این برنامه در زبان سی و بوسیله ی توربو سی کامپایل شده.
اینم کد:#include<stdio.h>
#include<conio.h>
int main()
{
int ch_counter=0,word_counter=0;
char ch;
clrscr();
printf("enter a sentence:\n");
while((ch=getche())!='\r')
{
ch_counter++;
if(ch=='')
word_counter++;
}
printf("\nchar:%d,word:%d",ch_counter,word_counter);
getch();
return 0;
}
ممنون از کمک هاتون

quiet_programmer
سه شنبه 25 مرداد 1390, 14:40 عصر
با سلام.

قسمت if مشکل داره مابین کوتیشن یه اسپیس بزن مثل زیر:

if(ch==' '))

یا if رو به شکل زیر بنویس

if(ch==32)


در ضمن این کد کلمه آخر رو نمیتونه تشخیص بده برای این کار میتونی در آخر برنامه به تعداد کلمه ها یکی اضافه کنی.
در ضمن اسپیلیت کلمه رو علاوه بر فاصله خالی،اینتر،ویرگول،کولون یا هر کاراکتری که باعث میشه یه کلمه ایجاد بشه، تغییر بدی بهتره.

موفق باشید.

ali-software
سه شنبه 25 مرداد 1390, 14:57 عصر
32 کد اسکی spaceهست؟
مشکل کد خودم چی بود؟
ممنون

quiet_programmer
سه شنبه 25 مرداد 1390, 15:01 عصر
32 کد اسکی spaceهست؟
بله همینطوره برای اینکه کدهای اسکی رو یه مروری داشته باشی عکس زیر رو گزاشتم.

73891


مشکل کد خودم چی بود؟

گفتم دیگه، مابین کوتیشن فاصله نزاشته بودی. البته کامپایلر Bcc32.exe از این رفتار خطا میگیره و اصلا کد رو کامپایل نمیکنه.

موفق باشید/