Aunque se puede, no deberías mezclar funciones de C y C++:
Si estás en C, deberías usar:
scanf
gets
printf
Si estás en C++:
cin
cout
En C++ sería algo así:
cout<<"Por favor rellene los siguientes datos ara poder procesar su pedido\n";
cout<<"Nombre de cliente ";
cin >> cliente[x].nombre_cliente;
cout<<"Codigo postal "; //Este dato y todos los demas me salen diferentes al momento de imprimirlos
cin >> cliente[x].cod_postal;
cout<<"Distancia ";
cin >> cliente[x].distancia;
cout<<"Precio del peiddo ";
cin >> cliente[x].precio;
cout<<cliente[x].nombre_cliente<<"\n";
cout << cliente[x].cod_postal; //Aqui me saleotro valor diferente al asignado.