Salve, dovevo creare un programmino che ti pone 3 domande su un argomento a piacere a cui l'utente possa rispondere semplicemente V/F e che, a test concluso, mostrasse il punteggio ottenuto. Sono riuscito a scrivere un codice che funzionasse senza errori per la consegna precedente (anche grazie all'aiuto di un utente del forum), ma adesso dovrei aggiungere la seguente funzione: "Se l'utente risponde bene alla prima domanda, si presentano successivamente due domande differenti da quelle che si porrebbero se rispondesse male" ed il codice che ho scritto mi da svariati problemi... sapete aiutarmi?
(ecco il codice che ho scritto)
/*Realizzare un programma che presenti 3 domande sulla musica Rock a cui l'utente possa rispondere vero o falso (v\f).*/
/*Il punteggio iniziale è 0, ogni risposta esatta vale 1 punto, ogni risposta errata vale -1 punto. Al termine si visualizzi il punteggio ottenuto dall'utente.*/
/*Se l'utente risponde bene alla prima domanda, si presentano successivamente due domande differenti da quelle che si porrebbero se rispondesse male*/
// counter = counter + 1;
#include <stdio.h>
#include "stdafx.h"
char risp1;
char risp2;
char risp2a;
char risp3;
char risp3a;
int counter = 0;
int main()
{
printf("BENVENUTO AL NOSTRO QUIZ SULLA MUSICA ROCK E SOTTOGENERI!\n\n");
//La risposta alla domanda n1. determinerà l'esecuzione di un ramo piuttosto che di un altro.
//Radice del quiz.
printf("Domanda n1. Kurt Cobain fu' lo storico leader dei Nirvana. (V\\F) ");
scanf_s("%c", &risp1);
getchar();
if (risp1 == 'v' or risp1 == 'V')
counter = counter + 1,
printf("\nESATTO! Cobain fu' chitarrista e cantante dei Nirvana dal 1987 al 1994. (+1 punto)");
else
counter = counter - 1,
printf("\nRISPOSTA SBAGLIATA. Cobain fu' chitarrista e cantante dei Nirvana dal 1987 al 1994. (-1 punto)");
//Ramo numero uno.
{if (risp1 == 'v' or risp1 == 'V')
printf("\n\n\nDomanda n2. Anthony Kiedis e' un chitarrista. (V\\F) ");
scanf_s("%c", &risp2a);
getchar();
if (risp2a == 'f' or risp2a == 'F')
counter = counter + 1,
printf("BRAVO! (+1 punto)");
else
counter = counter - 1,
printf("SBAGLIATO. Anthony Kiedis e' un cantante, storico membro dei RHCP. (-1 punto)");
if (risp1 == 'v' or risp1 == 'V')
printf("\n\n\nDomanda n3. La ballad 'I Remember You' e' una canzone degli Skid Row. (V\\F) ");
scanf_s("%c", &risp3a);
getchar();
if (risp3a == 'v' or risp3a == 'V')
counter = counter + 1,
printf("RISPOSTA ESATTA! (+1 punto)");
else
counter = counter - 1,
printf("ED INVECE E' VERO. (-1 punto)");
printf("\n\n\n\nIl tuo punteggio finale e' di: %d punti.", counter);
scanf_s("%d"); }
//Ramo numero due.
{if (risp1 == 'f' or risp1 == 'F')
printf("\n\n\n\nDomanda n2. La celeberrima traccia 'Dazed and Confused' dei Led Zeppelin e' in realta' una cover. (V\\F) ");
scanf_s("%c", &risp2);
getchar();
if (risp2 == 'v' or risp2 == 'V')
counter = counter + 1,
printf("\nRISPOSTA ESATTA! e' una rielaborazione dell'omonimo brano di Jake Holmes. (+1 punto)");
else
counter = counter - 1,
printf("\nRISPOSTA ERRATA. Dazed and Confused e' una rielaborazione dell'omonimo brano di Jake Holmes. (-1 punto)");
if (risp1 == 'f' or risp1 == 'F')
printf("\n\n\n\nDomanda n3. Brian Patrick Carroll (meglio conosciuto come 'Buckethead') fu' il chitarrista con i quali i Guns 'N Roses registrarono il loro album di debutto 'Appetite for Destruction'. (V//F) ");
scanf_s("%c", &risp3);
getchar();
if (risp3 == 'f' or risp3 == 'F')
counter = counter + 1,
printf("\nRISPOSTA CORRETTA! Buckethead registro' con i Guns 'N Roses solo l'album 'Chinese Democracy', 'Appetite for Destruction' fu' registrato con lo storico chitarrista dei G'N'R, Slash. (+1 punto)");
else
counter = counter - 1,
printf("\nRISPOSTA ERRATA. Buckethead registro' con i Guns 'N Roses solo l'album 'Chinese Democracy', 'Appetite for Destruction' fu' registrato con lo storico chitarrista dei G'N'R, Slash. (-1 punto)");
printf("\n\n\n\nIl tuo punteggio finale e' di: %d punti.", counter);
scanf_s("%d"); }
return 0;
}