Te he preparado un código rapidillo que hace casi todo excepto la parte final del condicional si es EMPRESA o PARTICULAR, solo haría falta añadirlo en la asignación de pfinal en el segundo caso.
Está hecho en C++ pero es fácil de entender y adaptar a cualquier lenguaje.
El precio bruto se calcula sin aplicar los impuestos como el IVA (21%), el descuento según qué condiciones y por último el precio final cuando se añaden los impuestos.
#include <iostream>
using namespace std;
int main()
{
int cantidad = 0;
float precio = 0.0, pbruto = 0.0, descuento = 0.0, pfinal = 0.0;
cout << "Introduzca la cantidad de patatas (kg): ";
cin >> cantidad;
cout << "Introduzca el precio: ";
cin >> precio;
pbruto = precio * cantidad;
descuento = pbruto;
if (precio > 50.0 && precio < 100)
descuento = pbruto * 0.9;
else if (precio > 100.0)
descuento = pbruto * 0.8;
pfinal = descuento * 1.21;
cout << "Precio bruto: " << pbruto << " euros." << endl;
cout << "Precio con descuento: " << descuento << " euros." << endl;
cout << "Precio final: " << pfinal << " euros." << endl;
return 0;
}