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 دست بکشید .
موفق باشید ./
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.