这是一部分,代码太多,不能全部复制过来
void Mangers()//选修课函数
{
int n,w=1;
do{
system("cls"); //选修课信息菜单
printf(" *********************选修课菜单*********************** ");
printf(" 1---录入课程 ");
printf(" 2---浏览课程 ");
printf(" 3---查询课程 ");
printf(" 4---存取公共课课程 ");
printf(" 5---返回主菜单");
printf(" ****************************************************** ");
printf("请选择(1-5):[ ]");
scanf("%d",&n);
switch(n)
{
case 1:insert();savefile();break;
case 2:prin();break;
case 3:search();break;
case 4:GonggkInfor();break;
case 5:return;
default:;
}
} while(w==1);
}
struct student
{
long int snum;//学生学号
int cnum;//所选课程编号
char cname[20];//所选课程名称
};//定义一个学生结构体
void xuan_ke()//学生选课函数
{ struct student s;//定义学生结构体变量s
char C;
subjects *c;//定义课程结构体变量c
FILE*fp;
cout<<" 请输入您的学号及您要选择的课程编号:";
cin>>snum>>cnum;
fp=fopen("课程信息.txt","r");
if(fp==NULL) //打开选课记录文件"2.txt"
{ cout<" Cannot open course! "; }
while(!feof(fp))
{ if((C=fgetc(fp))==' ')
break; }
while(!feof(fp))
{c=new subjects;
fscanf(fp,"%d %s %s %d %d %d %d %s ",&c->num,c->name,c->kind,&c->stime,&c->ttime,&c->etime,&c->score,&c->term);
if(c->num==s.cnum) //通过学生选课输入的编号,和选修课程中的编号进行匹配,若匹配成功就结束,并带回当前指针
break;
fclose(fp);//关闭选课记录文件"课程信息.txt"
if((fp=fopen("student.txt","a+"))==NULL)
{ cout<<" Cannot open student! ";}//将学生选课信息输入student.txt文件
}
fprintf(fp,"%d %d %s ",s.snum,s.cnum,c->name);//把选课学生的学号,所选课程编号,课程名称写入文件里
fclose(fp);
cout<<" 恭喜您选课成功!信息已存入到“student.txt”中。 ";
system("pause");
}
void xuanke_information()//学生选课信息统计函数
{ int total=0;//人数统计变量
FILE *fp;
struct student s;//定义一个student结构体类型的变量s
if((fp=fopen("student.txt","r"))==NULL)//打开选课记录文件"student.txt"
{ cout<<" Cannot open student! "; }
for(;!feof(fp);)
{fscanf(fp,"%d %d %s ",&s.snum,&s.cnum,&s.cname);
total++;
printf("%22d %17d %18s ",s.snum,s.cnum,s.cname);
}
cout<<" 选课学生总人数为:"<<total<<"人";
fclose(fp);//关闭文件
system("pause");
}
void Students()//学生信息函数
{ int n,w=1;
do {
system("cls");
cout<<" *********************学生选课菜单****************** ";
cout<<" 1---浏览所有课程 ";
cout<<" 2---选择选修课程 ";
cout<<" 3---浏览我选修的课程 ";
cout<<" 4---返回主菜单";
cout<<" **************************************************** ";
cout<<"请选择(1-4):[ ]";
cin>>n;
switch(n){
case 1:prin();
break;
case 2:xuan_ke();
break;
case 3:xuanke_information();
break;
case 4:
return;
default:;
}
} while(w==1);
}
int main()
{ int n,w=1;
do{
system("cls");
cout<<" *********************学生选课系统********************* ";
cout<<" 1.选修课信息 ";
cout<<" 2.学生选课 ";
cout<<" 3.退出";
cout" ****************************************************** ";
cout<<"请选择(1-3):[ ]";
cin>>n;
switch(n){
case 1:Mangers();
break;
case 2:Students();
break;
case 3:w=0;
break;
default:; }
} while(w==1);
return 0;
}
付费偷看金额在0.1-10元之间
一周热门 更多>