/*************************************************************************************/
/* C program to implement stop and wait protocol*/
/* Download more programs at http://sourcecode4u.com/ */
/*************************************************************************************/
#include<stdio.h>
#include<conio.h>
#define MAXSIZE 100
typedef struct
{
unsigned char data[MAXSIZE];
}packet;
typedef enum{data,ack}frame_kind;
typedef struct
{
frame_kind kind;
int sq_no;
int ack;
packet info;
}frame;
typedef enum{frame_arrival}event_type;
typedef enum{true_false}boolean;
void frame_network_layer(packet *p)
{
printf("\n from network arrival");
}
void to_physical_layer(frame *f)
{
printf("\n to physical layer");
}
void wait_for_event(event_type *e)
{
printf("\n waiting for event n");
}
void sender(void)
{
frame s;
packet buffer;
event_type event;
printf("\n ***SENDER***");
frame_network_layer(&buffer);
s.info=buffer;
to_physical_layer(&s);
wait_for_event(&event);
}
void from_physical_layer(frame *f)
{
printf("from physical layer");
}
void to_network_layer(packet *p)
{
printf("\n to network layer");
}
void receiver(void)
{
frame r,s;
event_type event;
printf("\n ***RECEIVER***");
wait_for_event(&event);
from_physical_layer(&r);
to_network_layer(&r.info);
to_physical_layer(&s);
}
main()
{
sender();
receiver();
getch();
}
Chat with our AI personalities
/* Stop and Wait Protocol ( Flow Control ) */
#include<stdio.h>
#include<bios.h>
#include<conio.h>
#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[i]!='\0')
{
bioscom(1,msg[i],COM1);
printf("\n%c",msg[i]);
do
{
while(1)
{
status=bioscom(3,0,COM1);
if(status & DTR)
{
ack=bioscom(2,0,COM1) & 0x7F;
if(ack=='0')
{
bioscom(1,msg[i],COM1);
printf("\n%c - retransmitted ",msg[i]);
}
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;
default : printf("\n Invalid Selection");
}
}
sleep(time in seconds)(Note: your computer won't actually sleep, only wait, if that's okay with you.)
They quite often stop doing any homework, instead they just wait for someone from the net to solve their problems.
#include <iostream> using namespace std; int main() { for(int i = 0; i <= 100; i++) { if(i % 2 != 0) { cout << i << endl; } } char wait; cin >> wait; return 0; }
#include <iostream> using namespace std; int main() { int a, b; cin >> a; cin >> b; a = a * b; b = a / b; a = a / b; cout << a << " " << b; char wait; cin >> wait; return 0; }
By default an rb file is interpreted in a command console, and will open its own unless run from one. If your program doesn't wait, or has an error, it will immediately close the console window which was created for it. Usually the solution is to run 'cmd' and start your script from there, then the console window will persist.