Linguaggio C: programma che insegna la moltiplicazione - Studentville

Linguaggio C: programma che insegna la moltiplicazione

esercizio svolto o teoria

A cura di: Administrator

  /*   * I computer giocano un ruolo sempre più importante nell'educazione.   * Scrivete un programma che aiuti uno studente di scuola elementare   * ad apprendere la moltiplicazione.   * Utilizzate rand per produrre due interi positivi di una cifra.   * Dovrete quindi visualizzare una domanda come:   *   *	How much is 6 times 7?   *   * In seguito lo studente digiterà la risposta. Il vostro programma   * controllerà la risposta dello studente. Qualora sia corretta,   * visualizzerete "Very good!" e sottoponete quindi un'altra domanda   * sulla moltiplicazione. Nel caso che la risposta sia sbagliata,   * visualizzate "No, Please try again." e lasciate quindi che lo   * studente provi ancora ripetutamente la stessa domanda, finché   * alla fine non avrà risposto correttamente.   *   */  #include <stdio.h>  #include <stdlib.h>  #include <time.h>  void		printResult(const unsigned int);  unsigned int	askAgain(void);  unsigned int	askTimes(void);  int  main(void)  {  	unsigned int play, times ,answer, result;  	play = 1;    /* giochiamo... */  	do {  		times = askTimes();  		/* leggi risposta */  		scanf("%u", &answer);  		result = (times == answer)? 1 : 0;  		printResult(result);  		play = askAgain();  	} while (play == 1);  	return (0);  }  /*   * Genera due numeri naturali tra 0 e 9 a caso e restituisce il prodotto   *   */  unsigned int  askTimes(void)  {  	unsigned int n1, n2;  	srandom(time(NULL));  	n1 = random() % 10;  	n2 = random() % 10;  	printf("How much is %u * %u?n", n1, n2);  	return n1*n2;  }  /*   * Stampa un messaggio di risposta corretta/sbagliata   * in base al valore 0/1 dell'argomento   *   */  void  printResult(const unsigned int r)  {  	if (0 == r)  		printf("nNo, Please try again.n");  	else  		printf("nVery good!n");  }  /*   * Chiede all'utente se vuole continuare o meno.   * Restituisce 1 in caso affermativo, 0 altrimenti   *   */  unsigned int  askAgain(void)  {  	char a;  	printf("nContinue? y/nn");  	scanf("%c", &a);  	while (a == 'n')  	    scanf("%c", &a);          if (a == 'y' || a == 'Y')      	    return 1;          else  	    return 0;  }  
  • Programmazione

Ti potrebbe interessare

Link copiato negli appunti