You are multiplexing a 4 digit display using 1 shift register.
That means that each digit is, in turn, displayed alone for a maximum of about 5 milliseconds to avoid noticeable flicker.
So you should have a cycle such as:
repeat forever:
switch on pin for digit 1 (all others must be off)
switch on the segments for digit 1
hold this state for, say, 2mS
switch on pin for digit 2 (all others must be off)
switch on the segments for digit 2
hold this state for, say, 2mS
switch on pin for digit 3 (all others must be off)
switch on the segments for digit 3
hold this state for, say, 2mS
switch on pin for digit 4 (all others must be off)
switch on the segments for digit 4
hold this state for, say, 2mS
Your function breakInt() makes no attempt to hold the values in the display for any useful period and in your loop() you have a delay of 1 second which is not compatible with multiplexing driven from the loop().
Don't be tempted to use delay() to hold a digit in the display but use millis() or drive the display controlling function from a timer.