Witam,
na wstępie zaznaczę, że jestem lajkiem, a więc robiłem program, który mam jako zadanie, siedziałem z książką nad nim pełno czasu, jednak w Visual Studio zaznaczyłem precompiled header zamiast empty project. Tak zrobiony program działa, aczkolwiek jak stwierdziono jest w jezyku c++, jak go teraz przerobić? Gdy zaznaczam tym razem empty project i robie rozszerzenie .c wyskakuje masa błędów.
Oto program:
/*Zadanie 14 - odwraca kolejność łańcuchu*/
#define _CRT_SECURE_NO_WARNINGS
#define MAXLENGTH 1000
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Element
{
char *Text;
struct Element *next;
};
int main()
{
Element *stack = NULL;
char buf[MAXLENGTH];
for(;;)
{
if(fgets(buf, (int)sizeof(buf), stdin)==NULL)
{
break;
}
if(buf[0] == '\n')
{
break;
}
struct Element *temp = (Element*)malloc(sizeof(struct Element));
temp->Text = (char*)malloc(MAXLENGTH);
strcpy(temp->Text, buf);
temp->next = stack;
stack = temp;
}
while(stack != NULL)
{
printf("%s", stack->Text);
struct Element *temp = stack->next;
free(stack->Text);
free(stack);
stack = temp;
}
system("PAUSE");
return 0;
}
a Oto błędy:
1> Zadanie14.c
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(16): error C2065: 'Element' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(16): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(16): warning C4047: '=' : 'int' differs in levels of indirection from 'void *'
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(16): error C2106: '=' : left operand must be l-value
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(17): error C2143: syntax error : missing ';' before 'type'
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(21): error C2065: 'buf' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(21): warning C4047: 'function' : 'char *' differs in levels of indirection from 'int'
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(21): warning C4024: 'fgets' : different types for formal and actual parameter 1
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(21): error C2065: 'buf' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(29): error C2065: 'buf' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(29): error C2109: subscript requires array or pointer type
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(37): error C2143: syntax error : missing ';' before 'type'
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(38): error C2065: 'temp' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(38): error C2223: left of '->Text' must point to struct/union
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(39): error C2065: 'temp' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(39): error C2223: left of '->Text' must point to struct/union
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(39): error C2065: 'buf' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(39): warning C4047: 'function' : 'char *' differs in levels of indirection from 'int'
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(39): warning C4024: 'strcpy' : different types for formal and actual parameter 1
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(39): error C2198: 'strcpy' : too few arguments for call
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(40): error C2065: 'temp' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(40): error C2223: left of '->next' must point to struct/union
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(40): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(41): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(41): error C2065: 'temp' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(47): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(47): warning C4047: '!=' : 'int' differs in levels of indirection from 'void *'
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(49): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(49): error C2223: left of '->Text' must point to struct/union
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(51): error C2143: syntax error : missing ';' before 'type'
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(53): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(53): error C2223: left of '->Text' must point to struct/union
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(53): error C2198: 'free' : too few arguments for call
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(54): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(54): warning C4022: 'free' : pointer mismatch for actual parameter 1
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(56): error C2065: 'stack' : undeclared identifier
1>c:\users\conte\documents\visual studio 2010\projects\zadanie14\zadanie14.c(56): error C2065: 'temp' : undeclared identifier
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Może ktoś mi powiedzieć co z tym zrobić?