Fatti:
A.
Negli anni 2006/2007 C._ ha stipulato un contratto con la B.A._ SA (ora A.A._ SA) per la fornitura e la posa di una veranda sulla terrazza di un immobile di sua proprietà a Gordola, al prezzo di fr. 68'000.--. Egli ha preso accordi separati con la D._ AG per l'esecuzione del basamento. Della procedura di rilascio del permesso di costruzione si è occupato l'architetto E._. I lavori sono iniziati nella primavera 2007.
Nel mese di maggio 2007 il committente ha segnalato la presenza di difetti, in particolare di infiltrazioni di acqua. La B.A._ SA ha contestato la propria responsabilità, ha comunicato la sospensione dei lavori fino al chiarimento della situazione e ha avvertito che le infiltrazioni le avevano causato spese supplementari. Il 23 agosto 2007 essa ha emesso una fattura di fr. 68'000.-- per la fornitura e la posa della veranda e una di fr. 3'927.40 per le prestazioni supplementari. Tenuto conto degli acconti versati il saldo a suo favore era di fr. 17'527.40.
B.
Nel frattempo C._ aveva chiesto un parere peritale. Il referto, datato 27 agosto 2007, ha accertato le infiltrazioni di acqua e attribuito la responsabilità alla B.A._ SA quale progettista ed esecutrice dei serramenti. Il 29 agosto 2007 C._ ha inviato la perizia alla B.A._ SA comunicandole che non avrebbe pagato le sue fatture, assegnandole un termine fino al 7 settembre 2007 per terminare l'opera ed eliminare i difetti e avvertendola che, se ciò non fosse avvenuto, avrebbe rescisso il contratto, incaricato del lavoro un terzo e chiesto il risarcimento di spese e danni secondo l'<ref-law>.
Il 13 settembre 2007 C._, dopo che la B.A._ SA, pur contestando le conclusioni peritali, si era dichiarata disponibile a chiarire la causa dei difetti, ha chiesto al Pretore di Locarno-Campagna l'assunzione di una perizia a futura memoria. Consegnata il 13 maggio 2008, essa ha accertato un difetto di impermeabilizzazione riconducibile al prodotto isolante inadatto utilizzato dalla D._ AG, la posa di guarnizioni difettose e di vetri diversi da quelli offerti, nonché un problema di surriscaldamento della veranda. Questo perito ha inoltre riscontrato carenze nella visione d'insieme dell'opera e nella coordinazione tra artigiani.
C.
Il 4 marzo 2009 B.A._ SA ha convenuto in giudizio C._ davanti alla Pretura di Locarno-Campagna, chiedendo il pagamento del saldo della mercede di fr. 17'527.40 e la rifusione delle spese pre-processuali di fr. 3'722.10. Il convenuto si è opposto alla petizione, asserendo che i lavori non sono stati ultimati e che i difetti sono imputabili all'attrice. In via riconvenzionale egli ha chiesto la condanna dell'attrice a pagargli fr. 81'181.05 - aumentati a fr. 116'181.05 con la replica riconvenzionale - quale risarcimento dei costi di riparazione dell'opera difettosa, degli oneri legali pre-processuali, delle spese della perizia a futura memoria e del mancato uso della terrazza.
Una nuova perizia giudiziaria del 17 agosto 2012, ordinata dal Pretore in corso di causa, ha confermato l'esistenza dei difetti, con la responsabilità preponderante della B.A._ SA, e ha rilevato che il ripristino di un'opera a regola d'arte comportava lo smantellamento e il rifacimento completo della terrazza.
Il 12 marzo 2018 il Pretore ha respinto la petizione e, in accoglimento parziale della riconvenzione, ha condannato la B.A._ SA a pagare a C._ fr. 107'372.--. Con sentenza del 9 dicembre 2019 la II Camera civile del Tribunale di appello ticinese ha confermato la reiezione della petizione e ridotto a fr. 95'372.-- la somma dovuta a C._ dalla B.A._ SA, che nel frattempo aveva cambiato la ragione sociale in A.A._ SA.
D.
La A.A._ SA insorge ora davanti al Tribunale federale con ricorso in materia civile del 29 gennaio 2020. Chiede d'un canto che C._ sia condannato a pagarle fr. 21'249.50, dall'altro la reiezione dell'azione riconvenzionale. Con risposta del 2 marzo 2020 C._ propone di respingere il ricorso. La ricorrente ha presentato brevi osservazioni di replica. L'autorità cantonale non si è pronunciata.

Diritto:
1.
Il ricorso in materia civile è ammissibile. È presentato tempestivamente (art. 46 cpv. 1 lett. c combinato con l'<ref-law>) dalla parte soccombente nella procedura cantonale (<ref-law>) ed è volto contro una sentenza finale (<ref-law>) emanata su ricorso dall'autorità ticinese di ultima istanza (<ref-law>) in una causa civile con valore litigioso superiore a fr. 30'000.-- (art. 72 cpv. 1 e 74 cpv. 1 lett. b LTF).
2.
Il Tribunale federale applica d'ufficio il diritto federale (<ref-law>). Tuttavia, tenuto conto dell'onere di allegazione e motivazione imposto dall'art. 42 cpv. 1 e 2 LTF, di regola considera solo gli argomenti proposti nell'atto di ricorso (<ref-ruling> consid. 2). La ricorrente, tuttavia, critica prevalentemente i fatti. È pertanto opportuno ricordare le regole che vigono a tale riguardo.
2.1. Il Tribunale federale fonda il proprio ragionamento giuridico sugli accertamenti di fatto svolti dall'autorità inferiore (<ref-law>), che sono vincolanti. Può scostarsene o completarli solo se sono stati effettuati in violazione del diritto ai sensi dell'<ref-law> o in modo manifestamente inesatto (<ref-law>). Il ricorrente può censurare l'accertamento dei fatti alle stesse condizioni; occorre inoltre che l'eliminazione dell'asserito vizio possa influire in maniera determinante sull'esito della causa (<ref-law>).
Se rimprovera all'autorità cantonale un accertamento dei fatti manifestamente inesatto - arbitrario (<ref-law>) - il ricorrente deve motivare la censura conformemente alle esigenze rigorose poste dall'<ref-law>. Deve indicare chiaramente i diritti costituzionali che si pretendono violati e precisare in cosa consiste la violazione. Non basta opporre il proprio punto di vista alle conclusioni del giudizio impugnato; il Tribunale federale non esamina le critiche di carattere appellatorio. Siccome il giudice cantonale fruisce di un grande potere discrezionale nel campo dell'apprezzamento delle prove (e dell'accertamento dei fatti in genere), chi invoca l'arbitrio deve dimostrare che la sentenza impugnata ignora il senso e la portata di un mezzo di prova preciso, omette senza ragioni valide di tenere conto di una prova importante suscettibile di modificare l'esito della lite, oppure ammette o nega un fatto ponendosi in aperto contrasto con gli atti di causa o interpretandoli in modo insostenibile (<ref-ruling> consid. 2.3; <ref-ruling> consid. 1.3.1).
2.2. La ricorrente non rispetta affatto le suddette regole di motivazione. Il suo ricorso è prevalentemente un atto di appello, nel quale essa discute liberamente i vari aspetti della causa, sulla base delle proprie valutazioni delle prove, per lo più senza riferirsi direttamente alle considerazioni dell'autorità cantonale. Per soddisfare le esigenze di motivazione, delle quali si è detto, non basta affermare qua e là che l'autorità cantonale, traendo conclusioni diverse da quelle auspicate, avrebbe commesso arbitrio. Argomentazioni simili, come si preciserà, sono inammissibili. Lo sono per cominciare le allegazioni del capitolo iniziale intitolato "Fattispecie", nel quale la ricorrente riassume la vicenda a modo suo, facendo ampi richiami di documenti, interrogatori e accertamenti peritali che non risultano dalla sentenza impugnata.
3.
La Corte di appello ha ricordato che il Pretore, posto che le parti erano legate da un contratto di appalto, ha stabilito che il committente si era prevalso degli art. 366 cpv. 2 e 107 cpv. 2 CO, optando per la rinuncia alle prestazioni contrattuali e il risarcimento del danno positivo. Essa ha costatato che l'appellante non ha contestato tali accertamenti, ma ha sostenuto che l'<ref-law> non fosse applicabile perché l'opera era stata ultimata. La Corte ticinese ha giudicato questo argomento irricevibile, poiché l'appellante non si è confrontata criticamente con gli accertamenti del Pretore secondo cui essa non aveva mai preteso di avere ultimato i lavori.
Questi aspetti della controversia non sembrano più litigiosi davanti al Tribunale federale.
4.
La ricorrente annuncia che, siccome il manufatto deve essere demolito, esaminerà - nell'ordine - le cause, le responsabilità, l'ammontare del risarcimento, le perizie e gli altri difetti che non comportano la demolizione. Il ricorso è tuttavia di difficile lettura. Come detto, la ricorrente espone a ruota libera le proprie tesi, senza seguire la sistematica del giudizio impugnato. Non è possibile prendere in considerazione tutte le innumerevoli allegazioni di fatto. Saranno isolate soltanto le censure individuabili con sufficiente chiarezza.
4.1. Per la ricorrente la Corte di appello avrebbe commesso arbitrio in primo luogo addebitandole l'intera responsabilità per i difetti, scaricando sia il committente sia l'architetto E._. La critica è inammissibile: la ricorrente non si avvede che la Corte ticinese non ha effettuato accertamenti propri a tale riguardo; ha semplicemente confermato quelli del Pretore, giudicando irricevibili per motivazione carente le contestazioni mosse contro di essi dall'appellante.
4.2. Gli argomenti che la ricorrente propone in merito al prodotto isolante Butyl Flexe agli "Altri difetti" sono prettamente appellatori, privi di critiche ammissibili.
In un successivo capitolo intitolato "Le perizie"essa ravvisa arbitrio nel fatto che l'autorità cantonale - come il Pretore - avrebbe fondato il proprio giudizio prevalentemente sulla perizia privata e sulla perizia giudiziaria di merito, piuttosto che sulla perizia a futura memoria a lei più favorevole. Se quest'ultima non prevalesse, conclude la ricorrente, l'istituto della prova a futura memoria previsto dagli art. 247 e segg. CPC/TI non avrebbe avuto senso.
La critica, con la quale la ricorrente sembra quindi censurare l'applicazione arbitraria del diritto cantonale, è infondata. Anzitutto la Corte di appello non ha fondato il proprio giudizio sulla perizia di parte e ha osservato che nemmeno il Pretore lo aveva fatto. Quanto alla prova a futura memoria, l'<ref-law>/TI, ancora applicabile alla procedura di prima istanza, stabiliva ch'essa "non pregiudica l'ammissibilità e rilevanza dei singoli mezzi di prova né impedisce la loro riassunzione o completazione nella procedura di merito". In altre parole, per il diritto ticinese di allora la perizia a futura memoria e quella assunta nella procedura di merito si equivalevano ed erano suscettibili di essere apprezzate liberamente dal giudice; i due mezzi di prova differivano soltanto per lo scopo diverso che perseguivano (cfr. COCCHI/TREZZINI, Codice di procedura civile ticinese massimato e commentato, 2000, art. 449 n. 1).
La Corte ticinese non ha pertanto applicato arbitrariamente il vecchio diritto processuale ticinese.
4.3. Il Tribunale di appello ha ritenuto "irricevibili per mancato confronto con la sentenza pretorile" le critiche dell'appellante contro il rimprovero di non avere "contestato gli accertamenti tecnici della perizia giudiziaria". La ricorrente taccia d'arbitrio questa conclusione, ma non specifica quando e come avrebbe contestato gli accertamenti peritali tecnici; si limita ad allegare una generica inattendibilità di tali accertamenti a causa del tempo trascorso dall'esecuzione delle opere.
La Corte cantonale si è poi soffermata sulle "asserite incertezze o negligenze" commesse dal perito, le quali, "piuttosto che a confutare direttamente la presenza dei difetti accertati dal Pretore", minerebbero l'attendibilità del referto. Ha passato in rassegna in modo articolato tali critiche dell'appellante, giudicandole di volta in volta irricevibili per l'assenza di un confronto con le motivazioni del Pretore, rispettivamente infondate nel merito. Nell'atto di ricorso non sono individuabili censure d'arbitrio precise e motivate adeguatamente contro questa parte del giudizio impugnato.
4.4. Prettamente appellatori sono il lungo capitolo intitolato "A chi la responsabilità dei due difetti" come pure quello successivo intitolato "La responsabilità solidale", nei quali la ricorrente propone semplicemente la sua interpretazione dei fatti riguardanti il ruolo avuto dai vari attori intervenuti nella progettazione e nell'esecuzione dei lavori, in particolare per la scelta del prodotto isolante Butyl Flex.
La ricorrente formula invero una censura di diritto - l'applicazione arbitraria dell'<ref-law> - ma la basa sulla suddetta sua interpretazione, non sui fatti accertati nella sentenza impugnata.
4.5. Inammissibile è anche la scarna obiezione di merito finale che la ricorrente propone contro il calcolo del risarcimento effettuato dall'autorità cantonale. Si tratta di una questione di fatto che andava contestata come tale (<ref-ruling> consid. 4a in fine).
5.
Al termine del gravame la ricorrente rivendica la ripartizione a metà delle spese giudiziarie e la compensazione delle relative indennità ripetibili delle due istanze cantonali. Non si confronta tuttavia con l'argomentazione della sentenza impugnata a tale riguardo e non fa riferimento a nessuna delle norme cantonali e federali che reggono la materia, per cui la critica è inammissibile.
6.
Ne viene che il ricorso, nella limitata misura in cui è ammissibile, è infondato. Gli oneri processuali seguono la soccombenza (art. 66 cpv. 1 e 68 cpv. 1 LTF).

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
Le spese giudiziarie di fr. 5'000.-- sono poste a carico della ricorrente, che rifonderà all'opponente fr. 6'000.-- a titolo di ripetibili per la procedura innanzi al Tribunale federale.
3.
Comunicazione ai patrocinatori delle parti e alla II Camera civile del Tribunale d'appello del Cantone Ticino.