-
.Il Linguaggio C - Funzione scanf() ed EserciziOra che siete dotati di un IDE, possiamo realizzare i nostri primi programmi in linguaggio C. Introduciamo ora la funzione scanf() (scan function).
La scanf() è una funzione utilizzata per prendere in ingresso dei dati da tastiera. Può prendere in ingresso solo predeterminati tipi di dato, stabiliti a prescindere dal programmatore, attraverso gli stessi operatori della printf(): con %d il programma si aspetterà che da tastiera venga inserito un dato di tipo int, con %c un char, ecc. L'unico problema rimane l'assegnazione del valore immesso a una variabile, così che non venga perso nella RAM. Per fare questo utilizziamo l'operatore "&" (and), che serve ad associare il valore inserito da tastiera ad una variabile; più precisamente questo operatore serve ad associare la cella della RAM dove risiede il valore della variabile.
La sintassi della scanf() è simile a quella della printf(): scanf("operatore_di_tipo",&nome_variabile);
Esempio:
#include <stdio.h>
int main (void){
int x;
printf("Quanti anni hai?\n");
scanf("%d", &x);
printf("\n Non pensavo avessi %d anni", x);
getchar();
return 0;
}
Osservazione: nell'utilizzo della scanf(), è possibile prendere in ingresso anche due, tre,..., n dati: l'importante è che vangano scritti come nella funzione. Es: se scanf("%d,%d,%d",&a,&b,&c) segue che da tastera i dati dovranno essere immessi così: 12,33,41 .Esercizi
L'esercizio costante porta al successo. Soluzioni sotto spoiler.
Esercizio 1: Si scriva un programma in C che calcoli la somma di due numeri dati da tastiera.
Soluzione:SPOILER (clicca per visualizzare)#include <stdio.h>
int main(void) {int addendo1, addendo2, add;
printf("Benvenuto su Add Maker!\n");
printf("Inserite ora le cifre da sommare algebricamente fra loro\n >");
scanf("%d", &addendo1);
printf("+");
printf("\n >");
scanf("%d", &addendo2);
add = addendo1 + addendo2;
printf("Grazie! Risulta: %d", add);
getchar();
return(0);
}Esercizio 2: Si scriva un programma in C in grado di risolvere le equazioni lineari (ax+b=c) prendendo in ingresso i coefficienti delle eqazioni.
Soluzione:SPOILER (clicca per visualizzare)#include <stdio.h>
int main (void) { int a, b, x;
printf("Welcome to E.S. (I Grade)!\n");
printf("Inserite ora i termini richiesti (equazione in forma normale)\n");
printf("Coefficente incognita_>");
scanf("%d",&a);
printf("\nTermine noto_>");
scanf("%d", &b);
x=-(b/a);
printf("\nL'equazione ha come soluzione %d", x);
getchar();
return(0);
}Esercizio 3: Si scriva un programma in C in grado di calcolare le percentuali di una votazione: vi sono favorevoli, contrari e astenuti. Ciascuna percentuale dovrà essere stampata a video.
Soluzione:SPOILER (clicca per visualizzare)#include <stdio.h>
int main(void) { int yes,no,boh,prcty,prctn,prctb,tot;
printf("Benvenuto al software di calcolo delle percentuali in una votazione a 3 scelte\n");
printf("Dovrai dichiarare ora quante persone alla votazione hanno scelto rispettivamente favorevoli, contrari e astenuti\n");
printf("Inserisci ora il numero dei favorevoli\n >");
scanf("%d", &yes);
printf("Inserisci ora il numero dei contrari\n >");
scanf("%d", &no);
printf("Inserici ora il numero degli astenuti\n >");
scanf("%d", &boh);
tot=yes+no+boh;
prcty=(yes*100)/tot;
prctn=(no*100)/tot;
prctb=(boh*100)/tot;
printf("\n I favorevoli costituiscono il %d percento dei votanti", prcty);
printf("\n I contrari costituiscono il %d percento dei votanti", prctn);
printf("\n Gli astenuti costituiscono il %d percento dei votanti", prctb);
getchar();
return(0);
}RIPRODUZIONE RISERVATA | COPYRIGHT ©Blues_Man, 2016
@Legion Errant
Edited by $imø - 5/5/2017, 19:06.