كييف احول array من نوع string الى array اخر من نوع int
مثلا
عندما يدخل المستخدم 110101 يحول البرنامج ال string الى Int وو يخزنة في array a مثلا الي هوو int
مثال
CString s[6]
الى
int a[6]
علشاان تكوون المتغياارت في int a
هكذا
int a[]={1,1,0,1,0,1};كييف احول array من نوع string الى array اخر من نوع int
مثلا
عندما يدخل المستخدم 110101 يحول البرنامج ال string الى Int وو يخزنة في array a مثلا الي هوو int
مثال
CString s[6]
الى
int a[6]
علشاان تكوون المتغياارت في int a
هكذا
int a[]={1,1,0,1,0,1};تم تعديل هذه المشاركة بواسطة king101 في 14 يونيو 2005 في 14:04
هذا مثال :-
#include "stdafx.h"
#include "stdlib.h"//holds header to atoi and other good functions check
/* http://www.cplusplus.com/ref/cstdlib/ */
/* do error handling in the code its not usually
safe changing types without checking */
int main(int argc, char* argv[])
{
char xx[6],temp;//xx holds 6 chars only you may want it dynamic so change it
int a[6];//basic integer type array
printf("enter numbers : ");
scanf("%s",xx);//scans input not number by number the user enters all numbers at once
for(int i=0;i<6;i++)
{
temp = xx;//temp holds one char for example '6'
a=atoi(&temp); //atoi is [A]scii [to] nteger
printf("%d\t",a);//prints from int array
}
return 0;
}شكراا اخيي v1r05 على الكوود
بس استخدمت الكوود بس يطلع ايرور
cannot convert parameter 1 from 'class CString *' to 'const char *'
هذا الكوود الي كتبتة
int q0,q1,q2,q3,q4,q5,q6,q7;
// input text box
q0=GetDlgItemInt(IDC_EDIT6,NULL,true);
q1=GetDlgItemInt(IDC_EDIT7,NULL,true);
q2=GetDlgItemInt(IDC_EDIT8,NULL,true);
q3=GetDlgItemInt(IDC_EDIT9,NULL,true);
q4=GetDlgItemInt(IDC_EDIT10,NULL,true);
q5=GetDlgItemInt(IDC_EDIT11,NULL,true);
q6=GetDlgItemInt(IDC_EDIT12,NULL,true);
q7=GetDlgItemInt(IDC_EDIT13,NULL,true);
struct state{
state* next[2];
};
// finate state machine
state q[4]=
{
{&q[q0], &q[q4]},
{&q[q1], &q[q5]},
{&q[q2], &q[q6]},
{&q[q3], &q[q7]}
};
CString input_string[6],temp;
GetDlgItemText(IDC_EDIT16,input_string[6]); // text box for input string
int str[6],j;
//int str[]={1,1,0,1,0,0}; // input string
for(j=0;j<6;j++)
{
temp=input_string[j];
str[j]=atoi(&temp);
}
int i=0,a1,a2;
a1=GetDlgItemInt(IDC_EDIT51,NULL,true); // istial state text box
a2=GetDlgItemInt(IDC_EDIT51,NULL,true); //final state text box
state *s=&q[a1]; // start state
while(i<6)
{
s=s->next[str[i++]];
}
// if it go to end state
if(s==&q[a2])
{
MessageBox("ok");
}
else
{
MessageBox("no");
}
if (a1>3)
{
MessageBox("less than 3");
}كييف اعدل الخطأ ؟؟
عدلت في الكوود من
CString input_string[6],temp;
الى
عدلت في الكوود من
char input_string[6],temp;
وو ماحصلت ايي خطأ بس عندما اجرب البرنامج في كل الحالات يعطيني ان ال string الي ادخلتة صحيح حتى اذا ادخلت جواب خطأ يقوول الجوااب صحيح :wacko:
ويين الخطأ :(
اكتشفت الخطأ .. انيي نسييت اخذ القيمة من text box وو عدلت الكوود بس حصلت خطأ اخر :(
عملت هذا الكوود
GetDlgItemText(IDC_EDIT16,input_string[6]);
و الخطأ
error C2664: 'int __thiscall CWnd::GetDlgItemTextA(int,class CString &) const' : cannot convert parameter 2 from 'char' to 'class CString &' A reference that is not to 'const' cannot be bound to a non-lvalue
لا الخطأ انك تريد تسواي نوع كلاس أو object بـنوع char أنا ما عارف ماذا تريد أن تفعل وضحلي لأنه الـ CString يقبل char و int و هو من نوع LPCSTR
وضح أيش تريد تسوي ؟
خلاص حليييت المشلكة :)
شكراا اخيي v1r05 على المساعدة
هذا الموضوع مغلق.