18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Nel caso in cui il cliente scelga 1 il programma dovrà assegnare uno dei cinque posti (da 1 a<br />

5) nella sezione fumatori. Nel caso che il cliente digiti 2, allora il programma dovrà assegnare<br />

un posto nella sezione non fumatori (da 6 a 10). Il programma dovrà infine stampare a video la<br />

situazione di prenotazione di tutti i posti, con l’indicazione della tipologia di posto (fumatori/non<br />

fumatori).<br />

Si utilizzi un vettore unidimensionale <strong>per</strong> rappresentare la mappa dei posti sull’aereo. Si<br />

azzerino tutti gli elementi del vettore in modo da indicare che tutti i posti sono liberi. Man<br />

mano che i posti verranno assegnati si dovrà impostare a 1 l’elemento corrispondente del vettore<br />

in modo da indicare che il posto non è più disponibile.<br />

Quando la sezione richiesta dal cliente è piena si deve richiedere al cliente se sia disposto ad<br />

accettare una sistemazione nell’altra sezione.<br />

Esercizio 30<br />

Scrivere un programma che prenda in input quattro stringhe che rappresentino degli interi,<br />

le converta in interi, sommi i valori ottenuti e visualizzi i loro totali. Si usi la funzione sscanf()<br />

della libreria standard.<br />

Esercizio 31<br />

Scrivere un programma che acquisisca due stringhe da linea di comando le confronti con la<br />

funzione strcmp() e stabilisca quale delle due precede in ordine alfabetico l’altra e lo comunichi<br />

all’utente.<br />

Esercizio 32<br />

Scrivere un programma che legga da tastiera una sequenza di caratteri utilizzando la funzione<br />

getchar() e la memorizzi come stringa in un vettore. (Si ricordi di terminare la stringa con il<br />

carattere “\0”.)<br />

Il programma dovrà controllare la fine dell’input della sequenza di caratteri immessa da<br />

tastiera attraverso il valore restituito d<strong>alla</strong> funzionegetchar() (si veda sul manuale la descrizione<br />

della funzione). Se l’utente immette un numero di caratteri che su<strong>per</strong>a la dimensione del vettore<br />

allocato, si termini la lettura da tastiere e si avvisi con un messaggio l’utente.<br />

Il programma dovrà dapprima stampare a video la stringa, poi la deve convertire e stampare<br />

in maiuscolo e in minuscolo. Si scrivano a tal scopo due funzioni (una di conversione della stringa<br />

in maiuscolo e l’altra in minuscolo) che utilizzino le funzioni tolower() e toup<strong>per</strong>() della libreria<br />

standard.<br />

Esercizio 33<br />

Individuare e correggere l’errore (o gli errori) nel seguente codice C:<br />

#include <br />

int main()<br />

{<br />

int default = 0;<br />

printf("introdurre il valore di default: ");<br />

scanf("%d", &default);<br />

186

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!