Buon pomeriggio a tutti.
Sono in terza informatica, programmiamo giusto da qualche mesetto, quindi le funzioni sono quelle basi, switch,if,do,while,array ...
Dovrei fare questo programma, che permette di fare una moltiplicazione tra una matrice(scritta dall utente) per un vettore.
Dal codice capirete meglio le richieste.
Ecco i miei problemi/domande.
1)Non riesco a capire come posizionare in modo corretto il do-while del menù. Nel senso, una volta scelta un opzione nel menù, mi esce del tutto e quindi questo ciclo do-while non mi funziona !
2)Devo ancora capire come si fa questa operazione, sono bloccato.
3)Come vi sembra la mia scrittura/indentazione/commenti ?
Ringrazio davvero chiunque riesce a darmi una mano, anche solo spiegarmi due cose riguardanti questo programma.
Sono in terza informatica, programmiamo giusto da qualche mesetto, quindi le funzioni sono quelle basi, switch,if,do,while,array ...
Dovrei fare questo programma, che permette di fare una moltiplicazione tra una matrice(scritta dall utente) per un vettore.
Dal codice capirete meglio le richieste.
Codice:
/* Programma per la moltiplicazione di matrici per vettori */
#include <stdio.h>
#include <stdlib.h>
int main(){
int scelta;
int righe, colonne;
int nrighe, ncolonne;
int n;
/* Menù */
do{
system("clear"); // Ripulisce lo schermo
printf("\t\t<<< Matrice x Vettore >>>\n\n"); // Titolo
printf("\t0 -> Esci dal programma\n");
printf("\t1 -> Inserire le dimensioni della matrice\n");
printf("\t2 -> Inserire valori matrice e vettori oppure inserimento automatico casuale\n");
printf("\t3 -> Visualizza matrice e vettore\n");
printf("\t4 -> Calcolo e visualizzazione del risultato\n");
scanf("%d",&scelta);
} while(scelta<0 || scelta>4);
switch(scelta){ // Scelta
/* 0 */ case 0: // Esci dal programma
system("clear");
printf("*** Programma terminato ***\n\n");
return 0;
break; // Uscire dal contesto
/* 1 */ case 1: // Inserimento dimensioni matrice
system("clear");
do{
printf("\t*** Inserimento delle dimensioni della matrice ***");
printf("\n\nInserire numero righe: ");
scanf("%d",&nrighe);
if(nrighe<0 || nrighe>10){
printf("\n** Error **\n");
printf("-> Inserire un numero di righe compreso fra 0 e 10\n\n");
}
} while(nrighe<0 || nrighe>10);
do{
// printf("\t*** Inserimento delle dimensioni della matrice ***");
printf("\nInserire numero colonne: ");
scanf("%d",&ncolonne);
if(ncolonne<0 || ncolonne>10){
printf("\n** Error **\n");
printf("-> Inserire un numero di colonne compreso fra 0 e 10\n\n");
} // Graffa if
} while(ncolonne<0 || ncolonne>10);
break;
/* 2 */ case 2: // Inserire valori matrice e vettore oppure random
printf("\t*** Inserimento dei valori della matrice e vettore ***");
/* 3 */ case 3:
printf("\t*** Visualizzazione della matrice e del vettore ***");
/* 4 */ case 4:
printf("\t*** Calcolo e visualizzazione del risultato ***");
/* While del menù */
// while(scelta<0 || scelta>4); // Grazie a questa condizione non devo usare il default alla fine
// Se il numero inserito nel menù non è compreso tra 0 e 4, non viene accettato.
} // Graffa dello switch
return 0;
}
Ecco i miei problemi/domande.
1)Non riesco a capire come posizionare in modo corretto il do-while del menù. Nel senso, una volta scelta un opzione nel menù, mi esce del tutto e quindi questo ciclo do-while non mi funziona !
2)Devo ancora capire come si fa questa operazione, sono bloccato.
3)Come vi sembra la mia scrittura/indentazione/commenti ?
Ringrazio davvero chiunque riesce a darmi una mano, anche solo spiegarmi due cose riguardanti questo programma.