online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <stdio.h> #include <string.h> #include "document.h" int init_document(Document *doc, const char *name); int reset_document(Document *doc); int print_document(Document *doc); int add_paragraph_after(Document *doc, int paragraph_number); int add_line_after(Document *doc, int paragraph_number, int line_number, const char *new_line); int get_number_lines_paragraph(Document *doc, int paragraph_number, int *number_of_lines); int append_line(Document *doc, int paragraph_number, const char *new_line); int remove_line(Document *doc, int paragraph_number, int line_number); int load_document(Document *doc, char data[][MAX_STR_SIZE + 1], int data_lines); int replace_text(Document *doc, const char *target, const char *replacement); int highlight_text(Document *doc, const char *target); int remove_text(Document *doc, const char *target); int init_document(Document *doc, const char *name){ if (doc == NULL || name == NULL || strlen(name) > MAX_STR_SIZE){ return FAILURE; } strcpy(doc -> name, name); return SUCCESS; } int reset_document(Document *doc){ if (doc == NULL) { return FAILURE; } doc -> number_of_paragraphs = 0; return SUCCESS; } int print_document(Document *doc){ int i, j; if (doc == NULL) { return FAILURE; } printf("Document name: %s \n", doc -> name); printf("Number of Paragraphs: %d \n", doc -> number_of_paragraphs); for (i = 1; i <= doc -> number_of_paragraphs; i++){ if (doc -> paragraphs[i].number_of_lines == 0){ continue; } for (j = 1; j <= doc -> paragraphs[i].number_of_lines; j++ ) { printf("%s \n", doc -> paragraphs[i].lines[j]); } printf("\n"); } return SUCCESS; } int add_paragraph_after(Document *doc, int paragraph_number){ int i; if (doc == NULL || doc -> number_of_paragraphs == MAX_PARAGRAPHS || paragraph_number + 1 > doc -> number_of_paragraphs || paragraph_number < 0){ return FAILURE; } doc -> number_of_paragraphs++; paragraph_number++; if(doc->paragraphs[paragraph_number].number_of_lines > 0){ for (i = doc->number_of_paragraphs; i > paragraph_number; i--) { doc->paragraphs[i] = doc->paragraphs[i - 1]; } } doc -> paragraphs[paragraph_number].number_of_lines = 0; return SUCCESS; } int add_line_after(Document *doc, int paragraph_number, int line_number, const char *new_line){ Paragraph *paragraph = &doc->paragraphs[paragraph_number]; int i; if (doc == NULL || paragraph_number < 0 || paragraph_number >= doc->number_of_paragraphs) { return FAILURE; } if (paragraph->number_of_lines >= MAX_PARAGRAPH_LINES) { return FAILURE; } if (new_line == NULL) { return FAILURE; } paragraph->number_of_lines++; line_number++; for (i = paragraph->number_of_lines; i > line_number; i--) { strcpy(paragraph->lines[i], paragraph->lines[i - 1]); } strcpy(paragraph->lines[line_number], new_line); return SUCCESS; }

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