PDA

View Full Version : مشگل در نمایش آرایه ای از کاراکترها (به همراه فضای خالی)



Mostafa_G2
چهارشنبه 11 اسفند 1389, 11:27 صبح
سلام دوستان من کد نوشتم مبنی بر اینکه از کاربر اسمش رو میگیره و بدون این که از تابع length استفاده کنه تعداد کاراکترهای اسم کاربر رو میگه و بعد اسم فرد رو نمایش میده
خوب من حالا میخوام یکم برنامم رو دست کاری کنم و میخوام کاربر هم اسم خود و هم فامیلی خود را وارد کنه بعد برنامه بگه که تعداد کاراکترهای اسم و فامیل کاربر رو هم چقدره
مشگل من اینجاست که فضای خالی یا همون اسپیس نمیزاره من کارم رو بکنم , من چطور میتونم کدی بنویسم که فضای خالی رو رد کنه و بره سراغ کاراکتر بعدی یا کلمه بعدی ؟

این هم کد من یه چک کنید , این کد رو با dev c++ نوشتم


#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
char cChar[100];
cin >> cChar;

int condition = 0;
int count = 0;
for (int i = 0; i <= 100; i++)
{
cout << endl;
condition = printf("%d", cChar[i]);
system("CLS");
if (condition == 1)
break;
else if ( condition == 2 || condition == 3)
count++;

}

for (int i = count; i <= 100; i++)
{
cChar[i] = ' ';
}

cout << "Your name have " << count << " charecters" << endl;
cout << "\nYour name is: ";

for (int i = 0; i <= 100; i++)
{
cout << cChar[i];

}

cout << "\n" << endl;

system("PAUSE");
return 0;

}


اگه کدم خوب نسیت , ممنون میشم یکی بهتر بنویسید تا اصول برنامه نویس با C دستم بیاد و اگه کد موردی نداره و فقط باید یه چیزی رو تغییر داد ممنون میشم کد خودم رو اصلاح کنید و اگه هر دو کار رو بکنید , یه دنیا ممنونتون میشم

Salar Ashgi
چهارشنبه 11 اسفند 1389, 23:27 عصر
میشه اینطوری نوشت :


#include <iostream>
#include <conio>
#include <string>
int main(){
char data[100];
cout<<"Enter fname & lname :\n";
cin.getline(data,100);
cout<<"--------------------\n";
string a="",b="";
int i;
for(i=0;data[i]!=' ';i++)
a+=data[i];
int j=i+1;
for(;data[j]!='\0';j++)
b+=data[j];
//------------------------
cout<<a<<" "<<"Len : "<<a.size()<<endl;
cout<<b<<" "<<"Len : "<<b.size()<<endl;
getch();
}


موفق باشید ./

Mostafa_G2
پنج شنبه 12 اسفند 1389, 19:09 عصر
دستت درد نکنه
میخواستم کدی رو که نوشتی یکم توضیح بدی ( مخصوصا حلقه های for )
دمت گرم