Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Author: M05000889
- * Come funziona: Pensa ad un numero, e lasciati guidare dalle mie domande.
- * Language: C
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
- #define DICOTOMIA 2
- #define MAX 65535
- #define ZZZ 4
- #define ZERO 0
- void main(void)
- {
- unsigned inf, sup, avg;
- char ans;
- system("clear");
- printf("\n***********************************************\n* IL GRANDE MAGO ANTONIO *\n***********************************************\nCiao. Oggi proverò a leggere la tua mente.\n");
- //sleep(DICOTOMIA); //Togli il commento appena finisci il debug per dare un'aria di mistero al programma...
- iniziamo:
- printf("Scegli un numero intero positivo minore di %d... Fatto? Benissimo!\n",MAX);
- //sleep(ZZZ); //Togli il commento appena finisci il debug per dare un'aria di mistero al programma...
- printf("Ora dimmi un intervallo in cui il tuo numero è compreso. \nOvviamente il tuo numero non deve trovarsi all'estremo dell'intervallo...\nEstremo inferiore:");
- scanf("%u",&inf); //conservo il valore
- printf("\nEstremo superiore:");
- scanf("%u",&sup); //manco a dirlo...
- if (inf>sup)
- {
- printf("Attenzione, hai invertito l'ordine degli estremi: in questo modo mi fai solo confondere :(\n");
- goto iniziamo;
- }
- else if (inf==sup)
- {
- printf("Eheh, il tuo numero è per forza %u, non è così? ;)\n",inf);
- exit(1);
- }
- else if (inf<ZERO || sup<ZERO)
- {
- printf("Oh no, ti prego niente numeri negativi! :(\n");
- exit(1);
- }
- else{
- for ( ; ; )
- {
- avg = (sup + inf) / DICOTOMIA;
- printf("\nStavi per caso pensando a %u? (S/N) \n >> ",avg);
- scanf(" %c", &ans); //aspetto la risposta
- switch (ans){
- case 's':; case 'S':
- printf("\nLo so, sono il migliore!\n");
- exit(1);
- case 'n':; case 'N':
- printf("\nMmmm... Ottimo. Il tuo numero è più grande di %u? (S/N) \n >> ",avg);
- scanf(" %c", &ans);
- switch (ans){
- case 's':; case 'S':
- inf=avg;
- break;
- case 'n':; case 'N':
- sup=avg;
- inf=inf;
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement