درخواست رفع خطا در کد برنامه

meray

New Member
سلام من باویژوال استودیو کار میکنم واین کد رو مینویسم واین خطا ها رو میده برای تکمیلش راهنماییم کنید ممنون میشم
کد:
// Mashin.cpp : Defines the entry point for the console application.
//پروژه ماشین حساب مهندسی

#include "stdafx.h"
#include <iostream>
using namespace std;
#include<cmath>
#include<string.h>
float AmaleAsli();


int _tmain(int argc, _TCHAR* argv[])//یونیکد برای زبان فارسی
{
    cout<<"Ebteda Yek Adad Vared konid Sepas Yek Operator(+,-,*,/)Va dar Akhar Adade Dovom Ra Vared Konid.\n";
float a,b;
char Amalgar;
cin>>a>>Amalgar>>b;
switch (Amalgar)
{//start of switch
case'+':cout<< a+b<<endl;break;
case'-':cout<< a-b<<endl;break;
case'*':cout<< a*b<<endl;break;
case'/':cout<< a/b<<endl;break;
}//end of switch

    return 0;
}//end of main()


float Riazi;
int main()
{//start of main2
    
    cout<<"Baraye, Sin ,Klide, s , Ra Vared Konid \n Va Baraye,  Cos ,Klide, c ,Ra vared Konid.\nHamchenin Baraye, tg ,Klide, t ,Ra Bezanid\nVa Baraye, Jazr ,Klide, q ,Ra Vared Kardeh\n Va Sepas Adade Morede Nazar Ra Vared Konid\n";
    double a;
    char Amalgar;
    cin>>Amalgar>>a;
    switch (Amalgar)
    {//start of switch2
    case's':cout<< sin(a);break;
    case'c':cout<< cos(a);break;
    case't':cout<< tan(a);break;
    case'q':cout<< sqrt(a);break;
    }//end of switch2
return 0;

void b(double);
{//start of void
    cout<<"Baraye 4 AmaleAsli: 1 ra Vared Konid Va Baraye Mosalasat 2 Ra Vared Konid\n";
    int u;
    cin>>u;
    if(u==1)
    {//start of if
        float m=AmaleAsli();
        cout<<m;
    }//end of if
    else
    {//start of else
        double v;
        v=Riazi;
        cout<<v;
    }//end of else
}//end of void
void main();
    for (int i=0;i<100;i++)
         int a()
}//end of main2
اینم خطاها
کد:
[LEFT]1>------ Build started: Project: Mashin, Configuration: Release Win32 ------
[/LEFT]
1>Build started 2011-05-28 17:26:59.
1>ClCompile:
1>  Mashin.cpp
1>Mashin.cpp(64): error C2556: 'void main(void)' : overloaded function differs only by return type from 'int main(void)'
1>          Mashin.cpp(31) : see declaration of 'main'
1>Mashin.cpp(64): error C2371: 'main' : redefinition; different basic types
1>          Mashin.cpp(31) : see declaration of 'main'
1>Mashin.cpp(67): error C2143: syntax error : missing ';' before '}'
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.19
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 

the_king

مدیرکل انجمن
کد برنامه تون رو ریختم بهم :

کد:
// Mashin.cpp : Defines the entry point for the console application.

#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <string.h>
#include <conio.h>

using namespace std;

double ElementaryArithmetic()
{
	double a, b, result;
	char operator_;
    cout << "Please enter a number (first operand) : ";
	cin >> a;
	cout << "Please enter a operator (+, -, *, /) : ";
	cin >> operator_;
    cout << "Please enter a number (second operand) : ";
	cin >> b;
	switch (operator_)
	{
		case'+':
			result = a + b;
			break;
		case'-':
			result = a - b;
			break;
		case'*':
			result = a * b;
			break;
		case'/':
			result = a / b;
			break;
		default:
			result = 0;
	}
	return result;
}

double Trigonometric()
{    
    cout << "Please enter one of the following characters :" << endl
		 << "s: sin()" << endl
		 << "c: cos()" << endl
		 << "t: tan()" << endl
		 << "q: sqrt()" << endl;
    char operator_;
    cin >> operator_;
    double a, result;
    cout << "Please enter a number (operand) : ";
    cin >> a;
    switch (operator_)
    {
		case 's':
[B][COLOR="Blue"]			a = 3.14159265359 * a / 180;[/COLOR][/B]
			result = sin(a);
			break;
		case 'c':
[B][COLOR="Blue"]			a = 3.14159265359 * a / 180;[/COLOR][/B]
			result = cos(a);
			break;
		case 't':
[B][COLOR="Blue"]			a = 3.14159265359 * a / 180;[/COLOR][/B]
			result = tan(a);
			break;
		case 'q':
			result = sqrt(a);
			break;
		default:
			result = 0;
    }
	return result;
}

int main()
{
    int u;
	double m;
	while (1)
	{
		cout << endl << "Please enter one of the following numbers :" << endl
			 << "1: Elementary arithmetic ( + - * / )" << endl
			 << "2: Trigonometric functions (sin cos tan) & Square root function (sqrt)" << endl
			 << "3: Exit" << endl;
		cin >> u;
		switch (u)
		{
			case 1:
				m = ElementaryArithmetic();
				cout << endl << "Result = " << m << endl;
				getch();
				break;
			case 2:
				m = Trigonometric();
				cout << endl << "Result = " << m << endl;
				getch();
				break;
			default:
				return 0;
		}
	}
}
سه تا سطر آبی توی کد هست که اختیاری یه :
کد:
[B][COLOR="Blue"]			a = 3.14159265359 * a / 180;[/COLOR][/B]
اونها برای اینه که (sin(a و (cos(a و (tan(a با واحد درجه محاسبه بشه، نه رادیان. چون بصورت محاسبات داخلی cmath
با رادیان است، مثلا اگه بخواهید سینوس 90 درجه رو حساب کنید، اول باید 90 درجه رو به رادیان تبدیل کنید که
میشه 1.570796326795 و بعد (sin(1.570796326795 رو حساب کنید که قطعا مشکله. به همین دلیل اون
سه سطر رو اضافه کردم تا بتوانید 90 درجه رو بصورت همون 90 وارد کنید و خود برنامه به رادیان تبدیلش کنه.
 
آخرین ویرایش:

meray

New Member
کد برنامه تون رو ریختم بهم :

کد:
// Mashin.cpp : Defines the entry point for the console application.

#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <string.h>
#include <conio.h>

using namespace std;

double ElementaryArithmetic()
{
    double a, b, result;
    char operator_;
    cout << "Please enter a number (first operand) : ";
    cin >> a;
    cout << "Please enter a operator (+, -, *, /) : ";
    cin >> operator_;
    cout << "Please enter a number (second operand) : ";
    cin >> b;
    switch (operator_)
    {
        case'+':
            result = a + b;
            break;
        case'-':
            result = a - b;
            break;
        case'*':
            result = a * b;
            break;
        case'/':
            result = a / b;
            break;
        default:
            result = 0;
    }
    return result;
}

double Trigonometric()
{    
    cout << "Please enter one of the following characters :" << endl
         << "s: sin()" << endl
         << "c: cos()" << endl
         << "t: tan()" << endl
         << "q: sqrt()" << endl;
    char operator_;
    cin >> operator_;
    double a, result;
    cout << "Please enter a number (operand) : ";
    cin >> a;
    switch (operator_)
    {
        case 's':
[B][COLOR=Blue]            a = 3.14159265359 * a / 180;[/COLOR][/B]
            result = sin(a);
            break;
        case 'c':
[B][COLOR=Blue]            a = 3.14159265359 * a / 180;[/COLOR][/B]
            result = cos(a);
            break;
        case 't':
[B][COLOR=Blue]            a = 3.14159265359 * a / 180;[/COLOR][/B]
            result = tan(a);
            break;
        case 'q':
            result = sqrt(a);
            break;
        default:
            result = 0;
    }
    return result;
}

int main()
{
    int u;
    double m;
    while (1)
    {
        cout << endl << "Please enter one of the following numbers :" << endl
             << "1: Elementary arithmetic ( + - * / )" << endl
             << "2: Trigonometric functions (sin cos tan) & Square root function (sqrt)" << endl
             << "3: Exit" << endl;
        cin >> u;
        switch (u)
        {
            case 1:
                m = ElementaryArithmetic();
                cout << endl << "Result = " << m << endl;
                getch();
                break;
            case 2:
                m = Trigonometric();
                cout << endl << "Result = " << m << endl;
                getch();
                break;
            default:
                return 0;
        }
    }
}
سه تا سطر آبی توی کد هست که اختیاری یه :
کد:
[B][COLOR=Blue]            a = 3.14159265359 * a / 180;[/COLOR][/B]
اونها برای اینه که (sin(a و (cos(a و (tan(a با واحد درجه محاسبه بشه، نه رادیان. چون بصورت محاسبات داخلی cmath
با رادیان است، مثلا اگه بخواهید سینوس 90 درجه رو حساب کنید، اول باید 90 درجه رو به رادیان تبدیل کنید که
میشه 1.570796326795 و بعد (sin(1.570796326795 رو حساب کنید که قطعا مشکله. به همین دلیل اون
سه سطر رو اضافه کردم تا بتوانید 90 درجه رو بصورت همون 90 وارد کنید و خود برنامه به رادیان تبدیلش کنه.
ممنونم کینگ جان راستی اون
کد:
#include <conio.h>
واسه چیه؟یه مرجع آموزش سی پلاس پلاس خوب بلدی به من معرفی کنی سایتی کتابی پی دی افی .....
 

the_king

مدیرکل انجمن
ممنونم کینگ جان راستی اون
کد:
#include <conio.h>
واسه چیه؟

برای تابع های ()getch که منتظر فشار دادن یک کلید توسط کاربر می شوند، ()getch در conio.h تعریف شده :
کد:
            case 1:
                m = ElementaryArithmetic();
                cout << endl << "Result = " << m << endl;
[B][COLOR="Blue"]                getch();[/COLOR][/B]
                break;
            case 2:
                m = Trigonometric();
                cout << endl << "Result = " << m << endl;
[B][COLOR="Blue"]                getch();[/COLOR][/B]
                break;

یه مرجع آموزش سی پلاس پلاس خوب بلدی به من معرفی کنی سایتی کتابی پی دی افی .....
سوالات مجزا رو در تاپیک های مجزا بپرسید. سوالی که به موضوع تاپیک مربوط نیست رو اینجا مطرح نکنید.

cplusplus.com - The C++ Resources Network

C++ Reference

رجوع شود به : لطفا کتاب معرفی کنید

درخواست معرفی کتابی حاوی تمرین و جوابش

اگه عبارت آموزش ++C رو توی گوگل جستجو کنید یکسری pdf و منابع آموزشی پیدا میشه.
 

جدیدترین ارسال ها

بالا