online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <unistd.h> #include <stdio.h> #ifndef COLORI #define COLORI 1 #endif //fallo diventare 0 se il terminale tuo non supporta i colori void stampa(char *a, int colore) { if (COLORI == 1) { printf("\x1b[%im", colore); printf("%s", a); printf("\x1b[0m"); } else printf("%s", a); } // 3 - inclinato // 30 - nera // 33 - beige // 34 - blu // 31 -rossa // 0 - torna normale void aiuto(int aiuto) { printf("Devi mantenerti tra 50 e 150 per stare bene, e tra 0 e 300 per sopravvivere.\n"); printf("Usa queste lettere come comandi:\n"); stampa("* [C]arboidrati (+30/+20);\n", aiuto); stampa("* [Z]uccheri (+50);\n", aiuto); stampa("* [G]rassi (+20/+30);\n", aiuto); stampa("* [P]roteine (+5/+20);\n", aiuto); stampa("* [F]ibre (-5/+5);\n", aiuto); stampa("* [D]igiuno (-10)\n", aiuto); stampa("([A]iuto stampa di nuovo questa lista)\n", 3); } int main() { unsigned int glicemia = 100; unsigned int iper = 180; unsigned int ipo = 65; char c; unsigned int riserva = 10; int ai = 33; int blu = 35; int err = 31; int problemi = 5; long long int turno = 0; printf("Inizi con %d mg/dL di glicemia e %d in riserve di grassi, %d/10 di malattia.\n", glicemia, riserva, problemi); stampa("Ogni mossa simula circa un'ora. Molto vagamente. Molto molto vagamente.\n", 0); aiuto(ai); while(glicemia > 0 && glicemia < 300 && problemi < 50) { turno++; if (c != '\n') { printf("\nTurno n.%lld: %d glicemia. %d riserve. Malattie %d/50.\n", turno, glicemia, riserva, problemi); if (glicemia > iper) stampa("\n\tIperglicemia!!\n", err); if (glicemia < ipo) stampa("\n\tIpoglicemia!!\n", err); if (glicemia > iper || glicemia < ipo) problemi++; if (problemi > 40) { stampa("\nTi stai ammalando.\n", err); } printf("Mangi: "); } c = getchar(); if (c == 'Z' || c == 'z') { stampa("\tZuccheri! +50 glicemia\n", blu); glicemia = glicemia + 50; } else if (c == 'C' || c == 'c') { stampa("\tCarboidrati! +30 glicemia, +20 riserva\n", blu); glicemia = glicemia + 30; riserva = riserva + 20; } else if (c == 'G'|| c == 'g') { stampa("\tGrassi! +20 glicemia, +30 riserva\n", blu); glicemia = glicemia + 20; riserva = riserva + 30; } else if (c == 'P' || c == 'p') { stampa("\tProteine! +5 glicemia, +10 riserva\n", blu); riserva = riserva + 10; glicemia = glicemia + 5; } else if (c == 'F' || c == 'f') { stampa("\tFibre! -5 glicemia, +5 riserva\n", blu); glicemia = glicemia - 5; riserva = riserva + 5; } else if (c == 'a' || c == 'A') { aiuto(ai); } else if (c == 'd' || c == 'D') { stampa("\tDigiuno! - 15 glicemia\n", blu); glicemia = glicemia - 15; if (riserva > 10 && glicemia < ipo) { glicemia = glicemia + 10; riserva = riserva - 10; stampa("\t+10 glicemia dalle riserve!\n", blu); } else if (glicemia < iper && riserva >= 5) { glicemia = glicemia + 5; riserva = riserva - 5; stampa("\t+5 glicemia dalle riserve!\n", blu); } } else if ((c >= 'a' && c <= 'z') || ((c >= 'A' && c <= 'Z'))) { stampa("(Lettera non valida. Premi A se hai bisogno di [A]iuto)\n", ai); turno--; } else { c = '\n'; turno--; } } if (problemi >= 50) printf("\nHai perso al turno %lld: Troppe malattie! (%d/50)\n", turno, problemi); if (glicemia <= 0 || glicemia >= 999999) printf("\nHai perso al turno %lld: Glicemia troppo bassa! (%d)\n", turno, glicemia); else if (glicemia >= 300) printf("\nHai perso al turno %lld: Glicemia troppo alta! (%d)\n", turno, glicemia); }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue