Ciaoa tutti sto facendo un progetto per l'università che riguarda la costruzione di un interprete per comandi di manipolazioni bitmap. Essendo io un programmatore abbastanza basic ancora sul C, sto avendo dei problemi banali. Uno di questi riguarda il codice che vi posto qua sotto. Vi spiego brevemente come funziona: Il programma accetta in ingresso diversi comandi, identificati da una lettere e 1 o più parametri per la costruzione della bitmap, quella che vedete sotto è la prima funzione che devo costruire, ossia l'utente digita n nel case più 1 parametro n (ossia la dimensione di riga e colonna ) e poi costruisce la matrice salvandola. Siccome non voglio dilungarmi troppo per non perdermi, vi espongo il problema.
Dallo switch funziona tutto, inserisco 'n' e il parametro e invio la stringa come parametro della funzione crea_b, quando arrivo alla funzione e provo a identificare il secondo elemento della stringa per andare a limitare i for, lui lo prende si dalla stringa ma ne costruisce una di tipo 52 elementi per riga e per colonna, praticamente la codifica in decimale di 4 (ossia ciò che ho inserito dopo 'n' ), se qualcuno di voi, senza uccidermi mi sa spiegare perchè gliene sarei molto grato.
In anticipo un grazie a chiunque mi risponderà.
void crea_b(char *n)
{
for (i = 0 ; i < n[1]; i++) {
printf("\n");
for (j = 0; j < n[1]; j++)
printf("*");
}
int main(void)
{
do { // Controllo che sia stata inserita una lettera ed inserisco i parametri
for (i = 0; i < 50 ; i++ ) {
command[i] = getchar();
if (command[i] == EOF)
continue;
else if (command[i] == 'p')
break;
}
switch(command[0]) // Seleziono funzione
{
case 'n': crea_b(command); // chiamo la funzione
break;