الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

String to int

مغلق
بدأه king101 في 14 يونيو 2005 · 8 رد · 720 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#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

#2

هذا مثال :-

#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;
}
#3

استخدم atoi

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#4

شكراا اخيي 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");

  }
#5

كييف اعدل الخطأ ؟؟

#6

عدلت في الكوود من

CString input_string[6],temp;

الى

عدلت في الكوود من

char input_string[6],temp;

وو ماحصلت ايي خطأ بس عندما اجرب البرنامج في كل الحالات يعطيني ان ال string الي ادخلتة صحيح حتى اذا ادخلت جواب خطأ يقوول الجوااب صحيح :wacko:

ويين الخطأ :(

#7

اكتشفت الخطأ .. انيي نسييت اخذ القيمة من 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
#8

لا الخطأ انك تريد تسواي نوع كلاس أو object بـنوع char أنا ما عارف ماذا تريد أن تفعل وضحلي لأنه الـ CString يقبل char و int و هو من نوع LPCSTR

وضح أيش تريد تسوي ؟

#9

خلاص حليييت المشلكة :)

شكراا اخيي v1r05 على المساعدة

هذا الموضوع مغلق.

مواضيع مشابهة