PDA

View Full Version : مشکل با فاصله در آرایه



mohamnt
سه شنبه 28 اردیبهشت 1389, 13:33 عصر
توی این کد

#include <iostream>
#include <fstream>
void step1_1();
using namespace std;

int main ()
{
cout<<"\t\t\t enter your choose \n"<<"1 -create New List \n\n "<<"2 -Enter Password \n\n";
char choose;
cin>>choose;
while(choose!='1' &&choose!='2')
{
cout<<"wrong !\n"<<"re enter \n\n";
cin >>choose;
}
if (choose=='1')
{
step1_1();
}
return 0 ;
}

void step1_1()
{
cout<<"enter your list name\n";
char list_name[20];
cin>>list_name;
ofstream newlist(list_name);
char name[30] ,email[40],avrage[5];
if (newlist.is_open())
{
cout << "name:";
cin>>name;
cout<<"\n avrage:";
cin>>avrage;
cout<<"\n Email:";
cin>>email;
newlist<<"\n\n name:"<<name<<"\n\n Email:"<<email<<"\n\n avrage:"<<avrage;
newlist.close();
}
else cout << "Unable to open file";
}

وقتی موقع دادن مثلا name میون اسم فاصله ایجاد بشه اسمی که بعد از space توی avrage قرار میگیره و email رو باید cin کرد
مثلا

name: amir ali
avrage:
:email example@ ...

, ]چیزی که تو فایل نوشته میشه به اینصورته

name:amir
avrage:ali
email: .....

چطور باید این مضکل رو حل کرد ؟؟؟

Salar Ashgi
چهارشنبه 29 اردیبهشت 1389, 09:32 صبح
بهتره آرایه کاراکتری رو با دستور زیر از ورودی بگیرین :



cin.getline(char array,size);


و پیشنهاد دوم اینکه بهتره بجای آرایه کاراکتری از رشته ها (string) استفاده کنید ، چون خصوصا تو کار

با فایل ها استفاده از string ها بهمراه STL مدیریت برنامه رو خیلی راحت میکنه .

ثالثا : کاراکتر های 'n\' رو چک کنید .