📄 function.cpp
字号:
#include "stdafx.h"
using namespace std;
struct Item
{
int nNum;
char szName[30];
int nBaseOn[10];
int In;
};
struct Item test[15];
char text[100];
void GetData(FILE *fp,int n)
{
for(int temp=0;temp<100;temp++)
text[temp]=0;
for(int j=0;j<n;j++)
{
test[j].nNum=j+1;
cout<<test[j].nNum<<" ";//get number
fgets(text,80,fp);
char temp1[31];
for(int i=0;i<30;i++)
temp1[i]=text[i+4];
temp1[30]='\0';
strcpy(test[j].szName,temp1);
cout<<test[j].szName;//get name
int Order=0;
int t=0;
do
{
int Numbase=text[Order+34]-48;
int Numbase2=text[Order+35]-48;
int Sum=Numbase*10+Numbase2;
if(Sum<0)
{
test[j].In=t;
break;
}
test[j].nBaseOn[t]=Sum;
t++;
Order=Order+3;
}while(1);
t=0;
while(test[j].nBaseOn[t]!=0)
{
cout<<test[j].nBaseOn[t]<<" ";//get names
t++;
}
cout<<endl;
}
}
void SortData(int nFinished1[10][20],int nSumTerm,int nSumClass)
{
int count=0;//将排好的课程保持在nFinished1[10][20]中,nFinished[i][0]保存了一个学期的课程数
int nTerm=1;//nFinished1[0][0]保存了学期数
do
{
int nClass=1;
int Record[15];
int n=1;
Record[0]=0;
for(int i=0;i<15;i++)
{
if(test[i].In==0)
{
//cout<<test[i].nNum<<" "<<test[i].szName<<endl;
nFinished1[nTerm][nClass++]=test[i].nNum;
nFinished1[nTerm][0]=nClass-1;
test[i].In=-1;
count++;
Record[n++]=test[i].nNum;
Record[0]++;
}
if(nFinished1[nTerm][0]>=(nSumClass/nSumTerm+1))
break;
}
for(int g=0;g<Record[0];g++)
{
for(int j=0;j<15;j++)
{
for(int k=0;k<10;k++)
{
if(test[j].nBaseOn[k]==Record[g+1])
{
test[j].nBaseOn[k]=0;
test[j].In-=1;
}
}
}
}
cout<<endl;
nTerm++;
nFinished1[0][0]++;
}while(count<15);
}
void PrintData(int nFinished[10][20])
{
int i=1;
int j=1;
for(i=1;i<=nFinished[0][0];i++)
{
cout<<endl<<"第"<<i<<"个学期:"<<endl;
for(j=1;j<=nFinished[i][0];j++)
{
int temp=nFinished[i][j];
cout<<temp<<" "<<test[temp-1].szName<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -