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

تحويل الكود من C الى C++

مغلق
بدأه auosh في 28 ديسمبر 2007 · 1 رد · 2,759 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

#include

#include

#include

#define COM1 0

#define SETTINGS 0x82

#define DTR 0x100

void main()

{

int ch,status,i=0,true=1;

char msg[100],ack,rec;

clrscr();

bioscom(0,SETTINGS,COM1);

printf("\n 1.Transmit\n 2.Receive");

printf("\n\n Enter the operation code : ");

scanf("%d",&ch);

switch(ch)

{

case 1 : printf("\n Enter the Message \n ");

scanf("%s",&msg);

while(msg!='\0')

{

bioscom(1,msg,COM1);

printf("\n%c",msg);

do

{

while(1)

{

status=bioscom(3,0,COM1);

if(status & DTR)

{

ack=bioscom(2,0,COM1) & 0x7F;

if(ack=='0')

{

bioscom(1,msg,COM1);

printf("\n%c - retransmitted ",msg);

}

break;

}

}

}while(ack!='1');

i++;

}

break;

case 2 : printf("\n Receiver \t Press Escape to quit\n\n");

do

{

status=bioscom(3,0,COM1);

if(status & DTR)

{

rec=bioscom(2,0,COM1);

printf("\n%c -- Enter ACK(1 for +ve, 0 for -ve) :",rec);

ack=getche();

bioscom(1,ack,COM1);

}

if(kbhit())

if(getch()=='\x1b')

true=0;

}while(true);

break;

 
اصدقائي منتدى برمجة  c,c++

كيفية تحويل هذا الكود من لغة c الى لفة c++ 

بجميع الاوامر في c++

والكود خاص ب 

Programming a simple simulator for stop-and-wait protocol
CODE
#2

اخي او اختي الفاضلين ..

تحويل برنامج بسيط مثل هذا لا يحتاج الى اي شئ سوى تغيير مكتبة الادخال والاخراج وكذلك الغاء الدال الخاصه بالادخال في لغة سي الى كائن الادخال الخاص بالسي ++ ، كذلك بالنسبه لدالة الاخراج .. على الشكل التالي ..

في الكود الذي وضعته .. لدينا المكتبة الخاصه بالادخال والاخراج هي

#include<stdio.h>

اما في لغة C++ فهي تتحول الى ...

#include<iostream.h>

والداله الخاصه بالادخال في الكود الذي وضعته هي

scanf()

تتحول الى كائن الادخال

cin >>

وكذلك دالة الاخراج

 printf()

تتحول الى الكائن ..

cout <<

ليصبح الكود كله بالشكل التالي ..

include#<iostream.h>
include#<conio.h>
include#
define COM1 0#
define SETTINGS 0x82#
define DTR 0x100void# 
   main() 
	 {
	   int ch,status,i=0,true=1;
	   char msg[100],ack,rec;
	   clrscr();
	   bioscom(0,SETTINGS,COM1);
		cout << "\n 1.Transmit\n 2.Receive");
		cout << "\n\n Enter the operation code : ");
		cin >> ch;
	  switch(ch)
	   {
	   case 1 : cout << "\n Enter the Message \n ";
			cin > msg;
			   while(msg!='\0')
				 {
					bioscom(1,msg,COM1);
					cout << "\n"v << msg;
					 do
					   {
						 while(1){
						   status=bioscom(3,0,COM1);
							if(status & DTR){
							  ack=bioscom(2,0,COM1) & 0x7F;
							   if(ack=='0'){
								 bioscom(1,msg,COM1);
								  cout << "\n" msgg << " - retransmitted ";
								  }break;}}
					   }while(ack!='1');
				i++;  } break;

	  case 2 : cout << "\n Receiver \t Press Escape to quit\n\n";
		   do{
			 status=bioscom(3,0,COM1);
			   if(status & DTR){
				 rec=bioscom(2,0,COM1);
				  cout << "\n" << rec <<" -- Enter ACK(1 for +ve, 0 for -ve) :";
				   ack=getche();
				   bioscom(1,ack,COM1);  } 
					if(kbhit())
					  if(getch()=='\x1b')
						 true=0;
			  }while(true);break;

هذا الكود اعلاه تم تغييره الى لغة C++ .. ولكن انا لست مسؤول اذا كان يحتوي اخطاء فقط كل ما فعلته هو تغيير ما يستحق التغيير .

واذا كان هناك شئ غير واضح انا حاضر في الخدمة ..

تحياتي العطرة ...

تم تعديل هذه المشاركة بواسطة سنان محمد صالح في 28 ديسمبر 2007 في 21:24

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

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

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