资源描述:
《学生选课系统源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include#includeintN1,N2,kk1,kk2,kk3;structcouse*head1;structstudent*head2;structcouse//课程信息结构体{ intnum1; charname1[20]; intscore; intnelepeo;//课程已选人数 intMelepeo;//课程人数上限 structcouse*next;};structstudent//学生信息结构体{ intnum2; charn
2、ame2[20]; intnelenum[50];//已选课程编号 intnelen;//已选课程数量 structstudent*next;};voidMs(){ for(kk1=0;kk1<1100;kk1++) for(kk2=0;kk2<1200;kk2++) for(kk3=0;kk3<1200;kk3++);}voidkeyboardc()//录入课程子函数(从键盘录入){structcouse*p1,*p2;N1=0;p1=p2=(
3、structcouse*)malloc(sizeof(structcouse));printf("课程编号t课程名称t学分t课程人数上限");scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo);p1->nelepeo=0;head1=NULL;while(p1->num1!=0){ N1=N1+1; if(N1==1)head1=p1; elsep2->next=p1; p2=p1; p1=(structcouse*)mall
4、oc(sizeof(structcouse)); scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo); p1->nelepeo=0;}p2->next=NULL;}voidfilec()//录入键盘子函数(从文件录入){ FILE*fp; charfilepath[20]; structcouse*p1,*p2; N1=0; printf("输入要读入的文件路径:"); getchar(); gets(filepa
5、th); if((fp=fopen(filepath,"r"))==NULL) { printf("找不到%s文件!",filepath); exit(0); } p1=p2=(structcouse*)malloc(sizeof(structcouse)); fscanf(fp,"%d%s%d%d%d",&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1->Melepeo); head1=NULL; while(!feof(fp
6、)) { N1=N1+1; if(N1==1)head1=p1; elsep2->next=p1; p2=p1; p1=(structcouse*)malloc(sizeof(structcouse)); fscanf(fp,"%d%s%d%d%d",&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1->Melepeo); } p2->next=NULL;}voidinputc()//录入课程主函数{
7、 inti; printf("ttt录入课程信息"); printf("1.从键盘录入"); printf("2.从文件录入"); printf("3.返回主菜单"); printf("请选择(1~3):"); scanf("%d",&i); switch(i) { case(1):keyboardc();break; case(2):filec();break; case(3):break; }}voidinsertc(structc
8、ouse*incouse)//课程管理子函数(增加课程){ structcouse*p0,*p1,*p2; p1=head1; p0=incouse; if(head1==NULL)