PDA

View Full Version : جمع دوتا رشته در ++C اگر ...



مهدی رحیم زاده
سه شنبه 29 خرداد 1386, 09:53 صبح
سلام دوستان عزیز
من تا حالا با ++C برنامه نویسی نکردم . استادمون یه برنامه داده و گفته که دو تا رشته رو بگیره اگر عدد بودن با هم جمع کنه ....
من این برنامه رو میتونم با C#.NET بنویسم ، اما گفته فقط با C++ 6.0 ...
حالا می خوام یکی از دوستان لطف کنه و منو برای نوشتن این برنامه با ++C راهنمایی کنه آخه آدم که یک روزه نمیتونه ++C یاد بگیره ....
ممنون می شم اگر کمکم کنید ....

someCoder
سه شنبه 29 خرداد 1386, 10:11 صبح
برای تبدیل رشته به عدد از atoi استفاده کن.

http://www.java2s.com/Code/C/String/Convertstringtointegeratoi.htm

مهدی رحیم زاده
سه شنبه 29 خرداد 1386, 10:59 صبح
من اصلا با نوع کد نویسی در C++ 6.0 آشنا نیستم ....
حالا شما به من بگید برای اینکه یک رشته رو به صورت کاراکتر به کاراکتر بخونیم باید چکار کنیم ...

someCoder
سه شنبه 29 خرداد 1386, 11:03 صبح
من اصلا با نوع کد نویسی در C++ 6.0 آشنا نیستم ....
حالا شما به من بگید برای اینکه یک رشته رو به صورت کاراکتر به کاراکتر بخونیم باید چکار کنیم ...

این لینک که دادم رو مگه ندیدی؟ مثال همین کار بود دیگه:

#include <stdio.h>
#include <stdlib.h>

int main ()
{
int i;
char str[256];

printf ("Enter a number: ");

gets ( str );

i = atoi ( str );

printf ("i = %d, its double = %d", i, i * 2 );

return 0;
}

برای رشته هم از آرایه از کارکتر استفاده شده:

char str[256];

h_c2005
سه شنبه 29 خرداد 1386, 13:41 عصر
سلام

شما برای اینکه یه رشته را کاراکتر به کاراکتر بخونید باید از این تابع استفاده کنید و خود رشته را هم باید به صورت آرایه تعریف کنید :


char ch [128];
cin.get(ch);

mahan66
سه شنبه 29 خرداد 1386, 14:03 عصر
سلام
به نظر من اگر شما با سی شارپ آشنایی دارید نباید با الگوریتم این سوال مشکل داشته باشید .! اما من توضیحی هم در مورد الگوریتم و هم در مورد کد سی ++ برات میدم.
سوال استاد شما دو جور قابل حله :
1 - اگر محتویات رشته ها در int یا long int جا شود می توان دستی یک رشته ی کاراکتری را به int تبدیل کرد . به این صورت که ابتدا یک رشته را با استفاده از دستور cin از کاربر دریافت کرده و سپس با ارسال به تابعی که در ادامه می آید آن را به یک int تبدیل کند :
int StringToInt (char * string) {
int result=0;
int i;
for(i=0;i<strlen(string);i++){
result=result*10 + (string[i]-'0');
}
return result;
}
void main(){
char s1[100],s2[100];
int a,b,res;
cin>>s1>>s2;
a=StringToInt(s1);
b=StringToInt(s2);
res = a+b ;
}
اگه راه دیگشو میخوای بگو تا برات بذارم .

مهدی رحیم زاده
سه شنبه 29 خرداد 1386, 21:23 عصر
ببینید سئوال فرق کرد ....
سه تا textbox داریم ...
تو اول و دومی دو تا رشته رو میگیریم ....
اگر این رشته ها عدد بودن با هم جمع می کنیم و تو textbox سوم نشون میدیم اما اگر رشته ها عدد نبودن ، با استفاده از توابع API یک پیغام هشدار صادر می کنیم ...
بازم اگر لطف کنید و کمک کنید ممنون میشم ...

مهدی رحیم زاده
چهارشنبه 30 خرداد 1386, 20:36 عصر
کسی نیست جواب بده ؟؟؟

someCoder
پنج شنبه 31 خرداد 1386, 01:03 صبح
کسی نیست جواب بده ؟؟؟

اگر مشکل خاصی داری بپرس. استفاده از IDE که مثل همون #C هست که بلدی، دستورات هم که آشنا شدی.

مهدی رحیم زاده
شنبه 02 تیر 1386, 21:10 عصر
میشه یکی لطف کنه و این برنامه رو برام بنویسه ...
برای پیغام دادن هم از توابع API استفاده کنید ....
این کد باید با ++C باشه ...

someCoder
شنبه 02 تیر 1386, 21:37 عصر
میشه یکی لطف کنه و این برنامه رو برام بنویسه ...اینو از اول واضح میگفتی تا من تکلیف خودم رو بدونم!
خوش باشی

مهدی رحیم زاده
شنبه 02 تیر 1386, 22:11 عصر
دوست عزیز من سعی کردم ...
ما چون تا حالا با ++C برنامه ننوشتم ، نتونستم ...
اینم پروژه نیست یه برنامست که اگر بنویسمش خیلی خوب میشه ...
اما اگر لطف کنید و بنویسیدش ممنون میشم ...

مهدی رحیم زاده
شنبه 02 تیر 1386, 22:13 عصر
من تا فردا اینو لازمش دارم ....