index.cpp

来自「STRUCTURI DE DATE SI ALGORITMI」· C++ 代码 · 共 81 行

CPP
81
字号
  #include<string.h>
  #include "student.h"
  #include "index.h"
  #include "grupa.h"
  #include<stdio.h>

/*  typedef Student* PStudent;
  struct Index {
     PStudent* idx;
     int nr;
     char* titlu;
     }; */

  void InitIndex (Grupa g, Index &i){
	i.nr=g.nrs;
	i.titlu="";
	g.stud=g.stud-i.nr+1;
	for(int m=0;m<i.nr;m++)  {
		*(i.idx)=g.stud;
		g.stud++;
		i.idx++;
	}
		i.idx--;
  }

  void SortNume (Index &i){
	int n,k;
	 PStudent *t;
		n=1;
		while(n){
		 i.idx=i.idx-i.nr+1;
		 n=0;
		 for(k=1;k<i.nr;k++){
		 if(strcmp((*i.idx)->nume,(*(i.idx+1))->nume)>0)
		    {
		    n=1;
		    (*t)->nume=(*i.idx)->nume;
		    (*t)->nota=(*i.idx)->nota;
		    (*i.idx)->nume=(*(i.idx+1))->nume;
		    (*i.idx)->nota=(*(i.idx+1))->nota;
		    (*(i.idx+1))->nume=(*t)->nume;
		    (*(i.idx+1))->nota=(*t)->nota;
		    }
		   i.idx++;
		   }
		    }
	delete t;
  }

  void SortNota (Index &i){
	int n,k;
	 PStudent *t;
		n=1;
		while(n){
		 i.idx=i.idx-i.nr+1;
		 n=0;
		 for(k=1;k<i.nr;k++){
		 if(((*i.idx)->nota)<((*(i.idx+1))->nota))
		    {
		    n=1;
		    (*t)->nume=(*i.idx)->nume;
		    (*t)->nota=(*i.idx)->nota;
		    (*i.idx)->nume=(*(i.idx+1))->nume;
		    (*i.idx)->nota=(*(i.idx+1))->nota;
		    (*(i.idx+1))->nume=(*t)->nume;
		    (*(i.idx+1))->nota=(*t)->nota;
		    }
		   i.idx++;
		   }
		    }
	delete t;
  }

  void AfisGrupaIndexata (Grupa g,Index i){
		printf("\nNr. grupei:%d",g.nrg);
		i.idx=i.idx-i.nr+1;
		for(int m=0;m<i.nr;m++){
		    printf("\nNUME:%s\tNOTA:%d  ",(*i.idx)->nume,(*i.idx)->nota);
		    i.idx++;
		}
		}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?