Разделение С кода на несколько файлов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно разделить исходный код на 5 частей.
#include <stdio.h>
#define MAXVAL 100
 
int sp=0;
 
char val[MAXVAL];

void push(char c)
{
    if (sp < MAXVAL)
        val[sp++] = c;
    else
        printf("error: stack full, can’t push %g\n", c);
}

char pop(void)
{
    if (sp > 0)
        return val[--sp];
    else
        return 0;
}

int reverse(void)
{
    int counter=0;
    char c;
 
    // first push all the values on the stack
    c = getchar();
    while (c!='\n')
    {
        counter++;
        push(c);
        c = getchar();
    }
 
    // then take them off the stack in opposite order
    while ((c=pop()) != 0)
    {
          putchar(c);
    }
     
    return counter;
}
 
void main(void)
{
    printf("\n%d\n",reverse());
    getchar();
}
Пока вот что получилось stack.h
#define MAXVAL 100
 
int sp=0;
 
char val[MAXVAL];
 
void push(char c);
void pop();
stack.c
#include "stack.h"
 
void push(char c)
{
    if (sp < MAXVAL)
        val[sp++] = c;
    else
        printf("error: stack full, can’t push %g\n", c);
}

char pop(void)
{
    if (sp > 0)
        return val[--sp];
    else
        return 0;
}
reverse.h
#include "stack.h"
int reverse();
reverse.c
#include "stack.h"
#include "reverse.h"
 
int reverse(void)
{
    int counter=0;
    char c;
 
    // first push all the values on the stack
    c = getchar();
    while (c!='\n')
    {
        counter++;
        push(c);
        c = getchar();
    }
 
    // then take them off the stack in opposite order
    while ((c=pop()) != 0)
    {
          putchar(c);
    }
     
    return counter;
}
program1.c
#include <stdio.h>
#include "stack.h"
#include "revesre.h"
 
void main(void)
{
    printf("\n%d\n",reverse());
    getchar();
}
Начал компилировать через командную строку,stack.obj получился, а вот с reverse проблемы. Выдает вот такую ошибку

Решение задачи: «Разделение С кода на несколько файлов»

textual
Листинг программы
int sp = 0;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы