PDA

View Full Version : سوال: c++ : مشکل وارد کردن کلمه به یک رشته (( Lvalue requard))



alieblice
شنبه 01 بهمن 1390, 20:49 عصر
سلام دوستان

من می خام یک کلمه وارد یک رشته 2 بعدی بکنم که اررور زیر رو میگیرم در turboC++‎‎ با C++‎‎ هم دارم برنامه رو مینویسم

Lvalue requard

رشته رو این جوری تعریف کردم
char tog2[100][6]

اینم طریقه وارد کردن کلمه به رشته

if(tog==1)
tog2[z]="hard";
else if(tog==2)
tog2[z]="easy";
else
tog2[2]="normal";

پیشاپیش ممنون

Salar Ashgi
شنبه 01 بهمن 1390, 22:22 عصر
بهتره به شکل زیر عمل کنید :

روش اول :



#include <iostream>
#include <conio>
int main(){
char* ar[5];
ar[0]="hard";
ar[1]="easy";
ar[2]="normal";
ar[3]="1234567";
//---------------
cout<<ar[0]<<" "<<ar[1]<<" "<<ar[2]<<" "<<ar[3]<<" \n";
getch();
}


روش دوم :



#include <iostream>
#include <conio>
int main(){
char ar[10][10]={"hard","easy","normal","1234567"};
//---------------
cout<<ar[0]<<" "<<ar[1]<<" "<<ar[2]<<" "<<ar[3]<<" \n";
getch();
}


روش سوم :



#include <iostream>
#include <conio>
#include <string>
int main(){
char ar[10][10];
strcpy(ar[0],"easy");
strcpy(ar[1],"hard");
strcpy(ar[2],"normal");
strcpy(ar[3],"1234567");
//--------------
cout<<ar[0]<<" "<<ar[1]<<" "<<ar[2]<<" "<<ar[3]<<" \n";
getch();
}



روش چهارم :



#include <iostream>
#include <conio>
#include <string>
using namespace std;
int main(){
string ar[5];
ar[0]="easy";
ar[1]="hard";
ar[2]="normal";
ar[3]="1234567";
//--------------
cout<<ar[0]<<" "<<ar[1]<<" "<<ar[2]<<" "<<ar[3]<<" \n";
getch();
}


البته روشها خیلی زیاده ، فعلا اینا به ذهنم رسید ، واضحه که روش چهارم اصولی تر هست .

در ضمن برای استفاده از کتابخانه STL و خیلی از مسائل پیشنهاد میکنم از کامپایلر منسوخ Turbo دست بکشید .

موفق باشید ./