الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج التسارع المطلق

مغلق
بدأه C&DEL في 27 نوفمبر 2003 · 9 رد · 1,573 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم أجمعين

كتبت برنامج C++ من الناحية النظرية صحيح لكنني عندما عملت له Build أعطاني ثلاثة رسائل خطأ لم أفهم سببها بالرغم من اطلاعي على أرقام كودالخطأ في MSDN فأرجو من الشباب و الصبايا مساعدتي بأسرع وقت ممكن لأنني سأقدمه لأستاذ المادة بعد فترة وجيزة و أكون لكم من الشاكرين .

و كود البرنامج كاملا كالتالي :

مدونتي

http://mbnoimi.net

#2

الملف main.cpp

#include "main.h"


void main()
{
	Doing m_1;
	cout<<"\nBebo\n\n\n\n\n";

	m_1.Input();
}

مدونتي

http://mbnoimi.net

#3

الملف main.h

#include "data.h"

مدونتي

http://mbnoimi.net

#4

الملف data.cpp

#include "data.h"



void CarFalling::Calc()
{

  m_thita = (m_alfa*pi) / 180;

  m_Wax = m_Wb + (m_Wr*cos(m_thita));
  m_Way = m_Wr * sin(m_thita);
  m_Wa = pow( pow(m_Wax,2) + pow(m_Way,2) ,0.5);

  m_Va = pow( pow(m_Wax*m_t,2) + pow(m_Way*m_t,2) ,0.5);

  m_x = pow(m_t,2) * (m_Wax/2);
  m_y = m_h + (-(m_Way/2) * pow(m_t,2));

}

////////////////////////////////////////////////////////////////////////////////

void Doing::AddBody(double Wb,double h,double alfa,double Wr,double t)
{
	CarFalling *pCar = new CarFalling (Wb,h,alfa,Wr,t);
	m_MyArray.Add(pCar);
}


CarFalling *Doing::GetBody(int Index)
{
	if(Index<0 || Index>m_MyArray.GetUpperBound())
	{
  return 0;
	}

	return m_MyArray.GetAt(Index);
}


int Doing::GetNumBodies()
{
	return m_MyArray.GetSize();
}


void Doing::Input()
{
	m_BodyNum = 0;

  cout<<"\nCar Acceleration = ";
  cin>>m_Wb;

  cout<<"\nSlide Hieght = ";
  cin>>m_h;

  cout<<"\nSlide Corner (with the horizon) = ";
  cin>>m_alfa;


	while(m_Ask =='Y' || m_Ask == 'y')
	{
  m_BodyNum++;
  cout<<"\n\n\nInput Data For body ["<<m_BodyNum<<"]";
  cout<<"-----------------------------------------------------\n";


  cout<<"\nBody Acceleration = ";
  cin>>m_Wr;

  cout<<"\nTime of Body Acceleration = ";
  cin>>m_t;

  AddBody(m_Wb,m_h,m_alfa,m_Wr,m_t);

  cout<<"\n\n\nDo you want add another body?";
  cout<<"\n\n\t\t\t\t\tPress 'Y' to contiue , or another to exit";  
  
	}
}
//لم أستطع اكمال الكود لأنه ظهرت الأخطاء

/*void Doing::Output()
{
	cout<<"\n\n\n\nDo you want to See data of SLIDE BODIES (Y / N); ";
	cin>>m_ReadReport;

	if(m_ReadReport == 'Y' || m_ReadReport == 'y')
	{
  Index = GetNumBodies();
  m_BodyNum = 0;
  for(int i=0;i<Index;i++)
  {
 	 m_BodyNum++;
 	 cout<<"\n\n\nOutput Data For body ["<<m_BodyNum<<"]";
 	 cout<<"-----------------------------------------------------\n";
 	 CarFalling *GetBody(i);
  }
	}
}*/



  

  



////////////////////////////////////////////////////////////////////////////////

مدونتي

http://mbnoimi.net

#5

الملف data.h

#pragma once

#include <iostream.h>
#include <math.h>
//#include <conio.h>
//#include <stdio.h>
#include <afxtempl.h>
#include <Afxwin.h>
#define pi 3.1415926535897932384626433832795

////////////////////////////////////////////////////////////////////////////////
class CarFalling : public CObject
{
protected:

	double m_Wb, m_h, m_alfa, m_Wr, m_t;//ادخالات
	double m_Wa, m_Va, m_x, m_y;//اخراج
	double m_Wax, m_Way, m_thita;//للحساب

public:

	CarFalling()
	{
	}

	CarFalling(double Wb,double h,double alfa,double Wr,double t )
	{
  m_Wb	= Wb;
  m_h  = h;
  m_alfa	= alfa;
  m_Wr	= Wr;
  m_t  = t;
	}

	void Calc();	
};

////////////////////////////////////////////////////////////////////////////////
class Doing : public CDocument
{
protected:

	CTypedPtrArray<CObArray,CarFalling*> m_MyArray;

	double m_Wb, m_h, m_alfa, m_Wr, m_t;//ادخالات
	double m_Wa, m_Va, m_x, m_y;//اخراج
	double m_Wax, m_Way, m_thita;//للحساب

	char m_Ask,m_ReadReport;

	int m_BodyNum,Index;

public:
	Doing()
	{

	}

	void AddBody(double m_Wb,double m_h,double m_alfa,double m_Wr,double m_t);
	CarFalling *GetBody(int Index);
	int GetNumBodies();
	void Input();
	void Output();
};

////////////////////////////////////////////////////////////////////////////////

مدونتي

http://mbnoimi.net

#6

السلام عليكم ,,

أخي الكريم أولا لو استطعت أن ترسل ملف DSW أو DSP مع الملفات الستة كلها في ملف مضغوط لنستطيع المساعدة بشكل أسرع ,,,

أو يمكن أن تكتب لنا رسائل الخطأ ورقم الخطأ مع سطر الخطأ ,,,

وفقك الله ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#7

أخي HGB شكرا لك مرة أخرى على جهود و آمل من الله أن يكافئك على معونتي

كود البرنامج هنا

CarFall.rar

مدونتي

http://mbnoimi.net

#8

السلام عليكم ,,,

أخي الكريم C&DEL مشكلتك كانت سهلة جدا في حلها ,,, وصعبة في اكتشافها ,,

مستواك جيد في البرمجة ماشاء الله ,, وكنت تريد استعمال بعض فئات ال MFC في برنامج Consle عادي ,,

المشكلة هي : هذا نص المشكلة باللغة الانجليزية من الموقع :

Starting with version 3.0, all MFC classes are "thread safe" and require the multi-threaded run-time libraries to link successfully

وهي أنه لكل فئات MFC وهي الفئات الموجودة في الملفات الراسية ذات البدائة AFX***.h ,,,

عندك في المثال

afxtmpl.h و AfxWin.h ,,,

يجب أن تربط بواسطة Multy-Thraed run-time Libraries ,,,,

حيث الربط الافتراضي هو Single Thread run-time Library ,,,

لتغير ذلك فقط اذهب الى ,,

Project -> Setting -> c/c++ ->"in Category " ->Code Generation ->"Use Run Time Libraries " ->MultiThreaded

فقط ,,

وهكذا سعمل برنامجك دون أية مشاكل ,, وبدون أي تعديل على الكود مطلقا ,,

وبالمناسبة كل مشروع له اعدادات Settings منفصلة عن أي مشروع اخر ,,,

فاذا عدلت هذه التعديلات ستقوم بها كل مرة تشاهد فيها رسالة الخطأ التي واجهتك وهي ,,

nafxcwd.lib(thrdcore.obj) : error LNK2001:

unresolved external symbol "__beginthreadex"

وهي ليست من راسائل الخطأ الاعتيادية ,, لكنها من رسائل الخطأ الخاصة باعدادات المصرف ,,,

أخيرا كنت أحاول لمدة ساعة كاملة لأحل لك المشكلة ,, فالأمر ليس سهلا ,, :)

ووجدت الحل من لموقع التالي ,,,

http://support.microsoft.com/default.aspx?...kb;EN-US;126646

وخذ الكود المعدل في ال Setting ,,,

وفقك الله ,,

CarFall.zip

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#9

السلام عليكم :

مشكور أخي HGB سأطلع على الرابط و الملف المرفق

مدونتي

http://mbnoimi.net

#10

السلام عليكم

أخي HGB بالرغم من أنني كنت متأكد أن برنامجي صحيح الا انني لم أتوقع أن أقع في مثل هكذا خطأ و عزيت السبب أنه لا توجد لدي معرفة في Code Generating

الكلمات لا تسعفني لشكرك على مساعدتي الشــــــــــــــــــــكر الجزيــــــــــــــــــــل لـــــــــــــــــــك

لقد حلت المشكلة

مدونتي

http://mbnoimi.net

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…