PDA

View Full Version : مشکل در بررسی تساوی رشته(درون تابع)



mohammad6969
دوشنبه 16 مرداد 1391, 01:51 صبح
سلام دوستان من یه مشکلی داشتم.وقتی تو یه تابع خارج از بدنه اصلی دو رشته رو با هم مقایسه میکنم به مشکل برمی خورم ولی وقتی داخل بدنه اصلی مقایسه میکنم مشکلی وجود نداره..
لطفا راهنمایی کنین بگین مشکل کار کجاست؟

اینجا وقتی adad رو هم به عنوان ورودی میزنم بازم wrong میده(که نباید اینو بده!) :


#include "stdafx.h"
#include"iostream"
#include"conio.h"
#include"string"
using namespace std;

int pass(string x){
string z="adad";

if(x==z){
return 0;
}
else if(x!=z){
return 1;
}

}

void main(){
string a;
cin>>a;
pass(a);
if(0){
cout<<"correct";
}
else if(1)
{
cout<<"wrong";
}
_getch();
}



ولی وقتی توی بدنه اصلی اینکارو می کنم درست پاسخ میده و با تایپ adad به عنوان ورودی correct میده :


#include "stdafx.h"
#include"iostream"
#include"conio.h"
#include"string"
using namespace std;


int main(){
string a,b="adad";
cin>>a;
if(a==b){
cout<<"correct";
_getch();
return 0;
}
else{
cout<<"wrong";
_getch();
return 1;
}
}



مشکل کار کجاست ؟

tdkhakpur
دوشنبه 16 مرداد 1391, 02:17 صبح
مشکل کار کجاست ؟
مشکلی در بین نیست دو برنامه که اشاره کردید کدها و کارشون با هم فرق داره شما اون بالا اومدی 0 و یک رو تو شرط گزاشی که اگه نمی زاشتی هم میشد چون همیشه 1 اجرا میشه اما اون پایین با متغییر ها بررسی کردی که منتطفا از بالایی دقت و اصول برنامه نویسی بیشتری داره.