ragazzi vi segnalo in rosso il while che non riesco a far iterare, praticamente l'esecuzione del programma si ferma come in attesa di un comando, ecco il codice:

codice:
#include <stdio.h>

int main()
{

    float cipolle = 0, aglio = 0, insalata = 0, carote = 0, banane = 0;
    int control;
    float quantita;
    int settimana = 1;
    int venduti = 0;
    
    do {
    printf("1 - cipolle 2.98€\n"
           "2 - aglio 4.50€\n"
           "3 - insalata 9.98€\n"
           "4 - carote 4.49€\n"
           "5 - banane 6.87€\n");
    printf("\nper chiusura giornata lavorativa digitare -1\n");
    printf("\nscegliere il prodotto desiderato = ");
    scanf("%d", &control);
    
    printf("inserire quantità venduta in Kg = ");
    scanf("%d", &quantita);
    
   while(control != -1){
    switch(control){
                    case 1 : cipolle += (2.98 * quantita); break;
                    case 2 : aglio += (4.50 * quantita); break;
                    case 3 : insalata += (9.98 * quantita); break;
                    case 4 : carote += (4.49 * quantita); break;
                    case 5 : banane += (6.87 * quantita); break;
                    }/*fine while giornata lavorativa */
                    }/*fine switch*/
    settimana++;
    printf("\n\n ***GIORNO %d DELLA SETTIMANA***\n\n", settimana);
    }while(settimana <= 7);/*fine while */
    
    venduti = cipolle + aglio + insalata + carote + banane;
    
    printf("questa settimana sono stati venduti %.2f\n", venduti);
    
    system("pause");
    return 0;
}
è proprio il comando SWITCH che non può essere iterato in quel modo?

N.B. non ridete per le variabili che ho usato