资源描述:
《C语言学生选课系统.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include#includeintN1,N2,kk1,kk2,kk3;structcouse*head1;structstudent*head2;structcouse//课程信息结构体{intnum1;charname1[20];intscore;intnelepeo;//课程已选人数intMelepeo;//课程人数上限structcouse*next;};structstudent//学生信息结构体{intnum2;charname2[20];intnelenum[50];//已选课程编号intnel
2、en;//已选课程数量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=(structcouse*)malloc(sizeof(structcouse));printf("课程编号t课程名称t学分t课程人数上限");scanf("%d%s%d%d",&p1
3、->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*)malloc(sizeof(structcouse));scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo);p1->nelepeo=0;}p2->next=NULL;}voidfi
4、lec()//录入键盘子函数(从文件录入){FILE*fp;charfilepath[20];structcouse*p1,*p2;N1=0;printf("输入要读入的文件路径:");getchar();gets(filepath);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->
5、name1,&p1->score,&p1->nelepeo,&p1->Melepeo);head1=NULL;while(!feof(fp)){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()//录
6、入课程主函数{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(structcouse*incouse)//课程管理子函数(增加课程){structcouse*p0,*p1,
7、*p2;p1=head1;p0=incouse;if(head1==NULL){head1=p0;p0->next=NULL;}else{while((p0->num1>p1->num1)&&(p1->next!=NULL)){p2=p1;p1=p1->next;}if(p0->num1<=p1->num1){if(head1==p1)head1=p0;elsep2->next=p0;p0->next=p1;}else{p1->next=p0;p0->next=NULL;}}N1=N1+1;}voiddelc(intnum1)//课程管理子函数(删
8、除课程){structcouse*p1,*p2;if(head1==NULL){printf("没有课程,无法删除!