السلام عليكم..
ماهي طريقة التحويل من
string
الى
int
و كيف أقرأ string كاملة و إن كان فيها مسافه..دون استخدام مصفوفة
مثلا جربت getlin(cin,str);
لكن لا تعمل دائما
وفقكم الله
السلام عليكم..
ماهي طريقة التحويل من
string
الى
int
و كيف أقرأ string كاملة و إن كان فيها مسافه..دون استخدام مصفوفة
مثلا جربت getlin(cin,str);
لكن لا تعمل دائما
وفقكم الله
تم تعديل هذه المشاركة بواسطة *cpu* في 1 مايو 2008 في 14:55
استخدم الدالة :
int sprintf( char *buffer, const char *format [, argument] ... );
int main()
{
int i;
char buffer[16];
cin >> i;
sprintf( buffer, "%ld", i );
cout << buffer << "\n";
system("pause");
return 0;
}تم تعديل هذه المشاركة بواسطة GamingMasteR في 1 مايو 2008 في 15:20
mov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
شكرا لك....
ولكن عنوان الموضوع يختلف عن ماطلبت..
انا اريد ان احول من string إلى int
تفضل
#include<iostream>
using std::cout;
using std::endl;
using std::string;
int main()
{
string x="20";
x.c_str();
int y=atoi(x.c_str());
cout<<y;
return 0;
}تم تعديل هذه المشاركة بواسطة time1 في 1 مايو 2008 في 18:27

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
شكرا لك..جزاك الله خير
لكن كيف أقرأ string كامله بما فيها من مسافات؟؟؟
getline(cin,str)
لم تصلح
قم بفلترتها في string جديد بعد حذف المسافات ...
mov eax, dword ptr ds:[0xffdf0308]
jmp dword ptr [eax+0xfc]
GamingMasteR كتب:قم بفلترتها في string جديد بعد حذف المسافات ...
بارك الله فيك..ارجو التوضيح
اقتباسشكرا لك..جزاك الله خيرلكن كيف أقرأ string كامله بما فيها من مسافات؟؟؟
getline(cin,str)
لم تصلح
تفضل اخي هذا مثال على قراءة string كاملة
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string str;
cout << "Enter your string: ";
getline(cin,str);
cout << "your string is :" << str <<endl;
return 0;
}
اشهد ان لا إله إلا الله وان محمدا ً رسول الله
نعم جربت هذه الدالة اكثر من مره لكن أحيانا لا تقرأ..فما الحل؟؟
ألا يوجد حل لتلك المشكلة؟؟
ماهي المشكلة ؟
لم افهم قصدك عندما قلت : " لا تقرأ "
جرب المثال الذي اعطيتك اياه , اذا نفذ امشي بناء عليه , واذا لم ينفذ تأكد انك مستدعي الملفات الرئيسية مثل ماانا مستدعيها , واذا سويت كل شئ ومانفع , اعرض المثال او الخطا
تحياتي
تم تعديل هذه المشاركة بواسطة time1 في 2 مايو 2008 في 07:12

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
قد تكون المشكلة بسبب كثرة استدعاء هذه الدالة في العديد من دوال مشروعي..
مع العلم أني اطبقها في برنامج صغير و تمشي
هل أحد يستخدم visual c++2008؟؟؟؟؟؟و طبق القوالب إذا كان نوع القالب structure
مثلا
queue<student>q1;
تكون غير مقبولة؟؟ما السبب
اقتباسقد تكون المشكلة بسبب كثرة استدعاء هذه الدالة في العديد من دوال مشروعي..مع العلم أني اطبقها في برنامج صغير و تمشي
هل أحد يستخدم visual c++2008؟؟؟؟؟؟و طبق القوالب إذا كان نوع القالب structure
مثلا
queue<student>q1;
تكون غير مقبولة؟؟ما السبب
لم افهم شي !! :wacko:
تم تعديل هذه المشاركة بواسطة time1 في 2 مايو 2008 في 10:06

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
فهدالشلوي كتب:استخدم الامرcin.ignore();
بعد كل cin
شكرا لك..
لكن لم يتم قراءة عباره كامله
اقصد اني لما استخدم getline(cin,str)
تضبط في البرامج القصيره لكن في البرامج الطويله ما تضبط....ربما يكون هذا هو السبب
اقتباستضبط في البرامج القصيره لكن في البرامج الطويله ما تضبط....ربما يكون هذا هو السبب
اهلين اخي الحبيب cpu
تأكد يا اخي الكريم انك تستدعي الدوال من الملفات الرئسية بنفس الطريقة التي استخدمتها انا , ثانيا اذا الخطأ مازال مستمرا , حاول تعرض لنا الكود , او الخطا الناتج وان شاء الله سنساعدك .
تم تعديل هذه المشاركة بواسطة time1 في 2 مايو 2008 في 16:37

اشهد ان لا إله إلا الله وان محمدا ً رسول الله
هل يوجد طريقة حتى يكون template مقبول في visual c++2008???
مثلا..
#include <iostream>
using namespace std;
struct x
{
int num;
};
template<class t>
class student
{
void ss(student<t>g);
};
template<class t>
void student<t>::Ss(student<t>g)
{
cout<<g.num;
}
void main()
{
x x1;
x1.num=1;
student<x> s;
s.ss(x1);
}
رسالة الخطأ..
------ Build started: Project: testisdigit, Configuration: Debug Win32 ------
Compiling...
b.cpp
c:\documents and settings\user\my documents\visual studio 2008\projects\project1\testisdigit\testisdigit\b.cpp(26) : error C2664: 'student<t>::Ss' : cannot convert parameter 1 from 'x' to 'student<t>'
with
[
t=x
]
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Build log was saved at "file://c:\Documents and Settings\user\My Documents\Visual Studio 2008\Projects\Project1\testisdigit\testisdigit\Debug\BuildLog.htm"
testisdigit - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
اهلين اخي الحبيب *cpu*
5. ممنوع طرح أكثر من سؤال فى موضوع واحد ليسهل البحث عن المواضيع لاحقا
وشكرا

اشهد ان لا إله إلا الله وان محمدا ً رسول الله