online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> typedef struct cadastro{ char nome[20]; int idade; } cadastro; //faltava agora o completar do typedef cadastro *p = NULL; int num, num_novo, num_old, realoca=0; int opcao; //opcao deve ser inteiro se é utlizado como tal char op; void cadastra(); void exibe(); void menu(); void deletar(); int main() //int main completar e fazer sentido com o return 0 no fim { do{ menu(); printf("\tOpcao: "); scanf("%d",&opcao); fflush(stdin); switch(opcao){ case 0: break; case 1:{ do{ cadastra(); printf("Deseja cadastrar mais (s/n): "); scanf(" %c", &op); fflush(stdin); }while(toupper(op)!='N'); break; } case 2: exibe(); break; case 3: deletar(); break; default: printf("Opcao invalida.\n\n"); } }while(opcao!=0); //getchar(); return 0; } void menu() { printf("\t[0] Sair\n\t[1] Cadastrar\n\t[2] Exibe\n\t[3] Excluir\n"); } void cadastra() { if(p == NULL){ printf("Numero de cadastros: "); scanf("%d",&num); fflush(stdin); p = (cadastro *)calloc(num, sizeof(cadastro)); int i; for(i=0; i<num; i++){ printf("Cadastro %d\n",i+1); printf("Nome: "); scanf("%s", p[i].nome); printf("Idade: "); scanf("%d",&p[i].idade);fflush(stdin); printf("\n\n"); } }else{ num_old = num++; p = realloc(p,num); printf("Cadastro %d\n",num_old); printf("Nome: "); scanf("%s",p[num_old].nome); printf("Idade: "); scanf("%d",&p[num_old].idade);fflush(stdin); } } void deletar(){ printf("Qual a posição a excluir?"); int pos; scanf("%d", &pos); pos-- ; //para ajustar aos indices que começam em 0 if (pos >= 0 && pos < num){ //se a posição é valida int i; for (i = pos;i < num - 1; ++i){ p[i] = p[i + 1]; } p = realloc(p, --num * sizeof(cadastro)); } } void exibe() { int j; if(p==NULL) printf("\t -- Cadastro vazio. --\n\n"); else{ for(j=0; j<num;j++){ printf("Pessoa %d\n\n", j); //faltava o j aqui printf("Nome: %s\n",p[j].nome); printf("Idade: %d",p[j].idade); puts("\n\n"); } } }

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