PDA

نسخه کامل مشاهده نسخه کامل : پروژه واقعا ضروری c



mamade_h
12-05-2010, 18:41
متن پروژه:
کاربر 10 کلید را فشار دهد برنامه اعداد و علامتهای ریاضی را تشخیص دهد وعملیات ریاضی انجام دهدو جواب را نمایش دهد
مثلا


as2f5+h-34

1) در مثال فوق اعداد 5و2 را عدد 25 در نظر بگیرد(مثل ماشین حساب)
2)وقتی دو علامت پشت سر هم داریم اولی را درنظر گیرد(اینجا +)
3) علامتها عبارتند از + -/%


اینجا خروجی میشه 59
خواهش میکنم کمکم کنین ممنون

mamade_h
13-05-2010, 10:54
یکی اینو بهم داد منتها error میده البته هینو توی محیط visual studio
نوشتم
#include <iostream>
#include <string.h>
#include<conio.h>

int main (){
int nums[2];
char op;
int i,j,d,selected;
float res=0.0;
char str[100];
printf("\n\t enter your string please: \n\t");
gets(str);
i=j=nums[0]=nums[1]=selected=res=0;
while(str[i]!='\0') {
if (str[i]>='0'&& str[i]<='9'){
d=str[i]-'0';
nums[j]=nums[j]*10+d;
}//if
else if(str[i]=='+'&& selected==0){
op='+';
selected=1;
j=1;
}
else if(str[i]=='*' && selected==0){
op='*';
selected=1;
j=1;
}
else if(str[i]=='/' && selected==0){
op='/';
selected=1;
j=1;
}
else if(str[i]=='-' && selected==0){
op='-';
selected=1;
j=1;
}

i++;

}//while
printf("\n\tyour string was : %s\n", str);
printf("\tfirst number in string was : %d\n", nums[0]);
printf("\tsecond number in string was : %d\n", nums[1]);
printf("\toperator in string was : %c\n", op);
if (op=='+')
res=nums[0]+nums[1];
else if (op=='-')
res=nums[0]-nums[1];
else if (op=='*')
res=nums[0]*nums[1];
else if (op=='/')
res=(float)nums[0]/nums[1];

printf("\tresult is %f",res);
getch();

}//main

hose
29-05-2010, 19:42
من تست زدم ... مشکلی نداشت :20: