| 
                                         pozz,
 duuuboko san zapela na datotekama pa ako neko ima vrimena da pogleda ovaj kod i upozori me na greske u njemu (sigurno ih ima 1001 ) :puppydogeyes: 
 
 zasto mi se odmah prozor zatvori, a stavila san system("PAUSE")? (Vjezbam na windows-u).
 hvala puuuno! 
  [size=9][color=#999999]Added after 57 seconds:[/color][/size]
   [code:1]#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
 typedef struct{
         char ime[51], prezime[51];
         int ocjena[2];
         }student;
 
 int main(){ 
     FILE *in1, *in2, *out;
     int i, j, ocjena[2];
     char ime[51], prezime[51];
     student *a=NULL;
     
     in1=fopen("ma.txt", "rt");
     if(in1==NULL){
                   fprintf(stderr, "Ne mogu otvoriti datoteku ma!\n");
                   exit(1);
                   }
     
     in2=fopen("la.txt", "rt");
     if(in2==NULL){
                   fclose(in1);
                   fprintf(stderr, "Ne mogu otvoriti datoteku la!\n");
                   exit(2);
                   }      
     
     out=fopen("sve.txt", "wt");
     if(out==NULL){
                   fclose(in1);
                   fclose(in2);
                   fprintf(stderr, "Ne mogu otvoriti datoteku za pisanje!\n");
                   exit(3);
                   }
     
     int n=0;
     while(fscanf(in1, "%[^;];%[^;];%d ", ime, prezime, ocjena[0])==3) n++;
     rewind(in1);
     
     a=(student*)malloc(n*sizeof(student));
     if(a==NULL){
                 printf("Nema mjesta za alokaciju liste studenata!!!\n");
                 exit(4);
                 }
     i=0;
     while(fscanf(in1, "%[^;];%[^;];%d ", a[i].ime, a[i].prezime, &a[i].ocjena[0])==3) i++;
     fclose(in1);
     
     i=0;
     while(fscanf(in2, "%[^;];%[^;];%d", ime, prezime, &ocjena[1])==3){
                                  if((strcmp(a[i].ime, ime)!=0) || (strcmp(a[i].prezime, prezime)!=0)){
                                                        a=(student*)realloc(a, (++n)*sizeof(student));
                                                        strcpy(a[n-1].ime, ime);
                                                        strcpy(a[n-1].prezime, prezime);
                                                        a[n-1].ocjena[1]=ocjena[1];
                                  } 
                                  else a[i].ocjena[1]=ocjena[1];
                                  i++;
                                  }
    fclose(in2);
    
    for(i=0; i<n-1; i++){
             for(j=i+1; j<n; j++){
                        if(strcmp(a[i].prezime, a[j].prezime)>0){
                                                student tmp=a[i];
                                                a[i]=a[j];
                                                a[j]=tmp;
                                                }
                        if(strcmp(a[i].prezime, a[j].prezime)==0 && strcmp(a[i].ime, a[i].ime)>0){
                                                student tmp=a[i];
                                                a[i]=a[j];
                                                a[j]=tmp;
                                                }
                        }
             }
    
    for(i=0; i<n; i++){
              fprintf(out, "%s;%s;", a[i].ime, a[i].prezime);
              if(!(a[i].ocjena[0])){
                                    a[i].ocjena[0]='-';
                                    fprintf(out, "%c;", a[i].ocjena[0]);
                                    } 
              else fprintf(out, "%d;", a[i].ocjena[0]);
              if(!(a[i].ocjena[1])){
                                    a[i].ocjena[1]='-';
                                    fprintf(out, "%c;", a[i].ocjena[1]); 
                                    }
              else fprintf(out, "%d\n", a[i].ocjena[1]);
              } 
              
    fclose(out);
    free(a);
    system("PAUSE");
    return 0;
 }
     
     
     
     
                        [/code:1] 
					
					pozz,
 
duuuboko san zapela na datotekama pa ako neko ima vrimena da pogleda ovaj kod i upozori me na greske u njemu (sigurno ih ima 1001 )   
 
 
zasto mi se odmah prozor zatvori, a stavila san system("PAUSE")? (Vjezbam na windows-u).
 
hvala puuuno! 
 
 
Added after 57 seconds:
 
 
  	  | Kod: | 	 		  #include <stdio.h>
 
#include <stdlib.h>
 
#include <string.h>
 
 
typedef struct{
 
        char ime[51], prezime[51];
 
        int ocjena[2];
 
        }student;
 
 
int main(){ 
 
    FILE *in1, *in2, *out;
 
    int i, j, ocjena[2];
 
    char ime[51], prezime[51];
 
    student *a=NULL;
 
    
 
    in1=fopen("ma.txt", "rt");
 
    if(in1==NULL){
 
                  fprintf(stderr, "Ne mogu otvoriti datoteku ma!\n");
 
                  exit(1);
 
                  }
 
    
 
    in2=fopen("la.txt", "rt");
 
    if(in2==NULL){
 
                  fclose(in1);
 
                  fprintf(stderr, "Ne mogu otvoriti datoteku la!\n");
 
                  exit(2);
 
                  }      
 
    
 
    out=fopen("sve.txt", "wt");
 
    if(out==NULL){
 
                  fclose(in1);
 
                  fclose(in2);
 
                  fprintf(stderr, "Ne mogu otvoriti datoteku za pisanje!\n");
 
                  exit(3);
 
                  }
 
    
 
    int n=0;
 
    while(fscanf(in1, "%[^;];%[^;];%d ", ime, prezime, ocjena[0])==3) n++;
 
    rewind(in1);
 
    
 
    a=(student*)malloc(n*sizeof(student));
 
    if(a==NULL){
 
                printf("Nema mjesta za alokaciju liste studenata!!!\n");
 
                exit(4);
 
                }
 
    i=0;
 
    while(fscanf(in1, "%[^;];%[^;];%d ", a[i].ime, a[i].prezime, &a[i].ocjena[0])==3) i++;
 
    fclose(in1);
 
    
 
    i=0;
 
    while(fscanf(in2, "%[^;];%[^;];%d", ime, prezime, &ocjena[1])==3){
 
                                 if((strcmp(a[i].ime, ime)!=0) || (strcmp(a[i].prezime, prezime)!=0)){
 
                                                       a=(student*)realloc(a, (++n)*sizeof(student));
 
                                                       strcpy(a[n-1].ime, ime);
 
                                                       strcpy(a[n-1].prezime, prezime);
 
                                                       a[n-1].ocjena[1]=ocjena[1];
 
                                 } 
 
                                 else a[i].ocjena[1]=ocjena[1];
 
                                 i++;
 
                                 }
 
   fclose(in2);
 
   
 
   for(i=0; i<n-1; i++){
 
            for(j=i+1; j<n; j++){
 
                       if(strcmp(a[i].prezime, a[j].prezime)>0){
 
                                               student tmp=a[i];
 
                                               a[i]=a[j];
 
                                               a[j]=tmp;
 
                                               }
 
                       if(strcmp(a[i].prezime, a[j].prezime)==0 && strcmp(a[i].ime, a[i].ime)>0){
 
                                               student tmp=a[i];
 
                                               a[i]=a[j];
 
                                               a[j]=tmp;
 
                                               }
 
                       }
 
            }
 
   
 
   for(i=0; i<n; i++){
 
             fprintf(out, "%s;%s;", a[i].ime, a[i].prezime);
 
             if(!(a[i].ocjena[0])){
 
                                   a[i].ocjena[0]='-';
 
                                   fprintf(out, "%c;", a[i].ocjena[0]);
 
                                   } 
 
             else fprintf(out, "%d;", a[i].ocjena[0]);
 
             if(!(a[i].ocjena[1])){
 
                                   a[i].ocjena[1]='-';
 
                                   fprintf(out, "%c;", a[i].ocjena[1]); 
 
                                   }
 
             else fprintf(out, "%d\n", a[i].ocjena[1]);
 
             } 
 
             
 
   fclose(out);
 
   free(a);
 
   system("PAUSE");
 
   return 0;
 
}
 
    
 
    
 
    
 
    
 
                        | 	  
					
 
  
					
					
					
				 |