2015-04-26 4 views
-1

Так вот мой код:Ошибки в программе гр

#include <stdio.h> 
#include <stdlib.h> 
//funkcija dodavanja u red 
void add(cvor* red, int i, cvor broj){ //Errors appear in this line 
    red[i] = broj; 
} 
// brise iz vadi iz reda clan koji je prvi usao 
cvor delete(cvor *red, int i){ 
    cvor a; 
    int e; 
    a = red[0]; 
    for (e = 1; e < i;e+=1){ 
     red[e - 1] = red[e]; 

    } 
    return a; 
} 
//definiticja strukture cvora 
typedef struct temp{ 
    double info; 
    struct temp* levi; 
    struct temp* desni; 

}cvor; 

// pravljenje novog cvora 
cvor *novi_cvor(cvor *levi_sin,cvor *desni_sin,double broj){ 
    cvor *novi = malloc(sizeof(cvor)); 
    novi->levi = levi_sin; 
    novi->desni = desni_sin; 
    novi->info = broj; 
    return novi; 

} 

void main(){ 
    int i=0,e,n; 
    cvor *red; 
    double broj; 
    // definisanje reda kao dinamcikog niza 
    red = calloc(50, sizeof(cvor)); 
    // u red unosimo clanove liste redom 

    printf("Uneti broj clanova liste"); 
    scanf_s("%d", &n); 
    while (n>0){ 
     scanf_s("%lf", &broj); 

     add(red, i, *novi_cvor(NULL,NULL,broj)); 
     i += 1; 
     n -= 1; 
    } 
    //ispis reda 
    for (e = 0; e < i; e += 1){ 
     printf("%2.lf\n\n", red[e]); 
    } 



    system("pause"); 
} 

Эти ошибки:

Error 1 error C2143: syntax error : missing ')' before '*' 
Error 2 error C2143: syntax error : missing '{' before '*' 
Error 3 error C2059: syntax error : 'type' 
Error 4 error C2059: syntax error : ')' 

Все эти появляется в строке 4.

Любые решения? Thanks

+0

* Где * вы получаете ошибки? Пожалуйста, отметьте это в опубликованном источнике. –

+3

ваш 'typedef' переместится наверх. – BLUEPIXY

ответ

2

Если вы хотите использовать struct, typedef или метод вообще в другом методе, вы должны объявить его или записать свой код вверх. Это означает, что когда вы вызываете функцию delete в основном, она не обнаруживает, что означает cvor, потому что cvor определяется ниже.

Помещенный

typedef struct temp{ 
double info; 
struct temp* levi; 
struct temp* desni; 
}cvor; 

на первой линии, прежде чем остальные.

Смежные вопросы