Professional Documents
Culture Documents
Solution Multi Process
Solution Multi Process
h>
#include <string.h>
int main()
{
int condition=0;
int loop=0;
int dec=0;
char arrays[50][50];
int inputcount=0;
char array[50];
char arr[50];
while(1)
{
dec = inputcount;
condition=0;
loop=0;
printf("MyShell :");
if(!fgets(array,50,stdin)){
break;
}
else
{
if(array[0]==33)
{
if(array[1]==33)
{
if(array[2]>=49&&array[2]<=57)
{
for(int i=49;i<58;i++)
{
if(dec>=1)
{
if(array[2]==i)
{
condition=0;
system(arrays[dec-1]);
for(int i = 0; i< 40; i++)
{
arr[i]=arrays[dec-1][i];
}
break;
}
}
condition=2;
dec--;
}
if(condition==2)
{
system(array);
}
}
else if(array[2]>=97&&array[2]<=122)
{
for(int i=97;i<123;i++)
{
if(array[2]==i)
{
if(arr[0]==i)
{
condition=0;
system(arr);
break;
}
}
condition=2;
}
if(condition==2)
{
system(array);
}
}
else if(array[2]=='\n')
{
else{system(array);}
}
else if(array[1]>=49&&array[1]<=57)
{
for(int i=49;i<58;i++)
{
if(array[1]==i)
{
if(loop>=dec)
{
system(array);
}
else
{
system(arrays[loop]);
for(int i = 0; i< 50; i++)
{
arr[i]=arrays[loop][i];
}
break;
}
}
loop++;
}
}
else if(array[1]>=97&&array[1]<=122)
{
for(int i=97;i<123;i++)
{
if(array[1]==i)
{
if(arr[0]==i)
{
condition=0;
system(arr);
break;
}
}
condition=2;
}
if(condition==2)
{
system(array);
}
}
else if(array[1]=='\n')
{
for(int i = 0; i< (inputcount); i++)
{
printf("%s", arrays[i]);
}
}
else{system(array);}
}
else
{
system(array);
if(array[0]!='\n')
{
for(int i = 0; i< 40; i++)
{
arrays[inputcount][i] = array[i];
arr[i]=array[i];
}
inputcount++;
dec=inputcount;
}
}
}
}
return 0;
}