c语言课程设计报告-学生选课管理系统(编辑修改稿)内容摘要:

(struct course))。 fscanf(fp,%d%s%s%s%d%d%s%d,amp。 p1num1,p1name1,p1major,p1type,amp。 p1credit,amp。 p1period,p1teacher,amp。 p1people)。 while(!feof(fp)) { N1=N1+1。 if(N1==1) head1=p1。 else p2next=p1。 p2=p1。 p1=(struct course * )malloc(sizeof(struct course))。 18 fscanf(fp,%d%s%s%s%d%d%s%d,amp。 p1num1,p1name1,p1major,p1type,amp。 p1credit,amp。 p1period,p1teacher,amp。 p1people)。 } p2next=NULL。 } void load() //录入课程信息函数 { int i。 printf(\t\t\t 录入课程信息 \n)。 printf(\ )。 printf(\ )。 printf(\ \n)。 printf(请选择 13:)。 scanf(%d,amp。 i)。 switch(i) { case 1: zhang()。 break。 case 2:zhang1()。 break。 case 3:break。 } } void insert(struct course *incourse) //增加课程信息 { struct course *p0,*p1,*p2。 p1=head1。 p0=incourse。 if(head1==NULL) { head1=p0。 p0next=NULL。 } 19 else { while((p0num1p1num1) amp。 amp。 (p1next!=NULL)) { p2=p1。 p1=p1next。 } if(p0num1=p1num1) { if(head1==p1) head1=p0。 else p2next=p0。 p0next=p1。 } else { p1next=p0。 p0next=NULL。 } } N1=N1+1。 } void delc(int num1) //删除课程信息 { struct course *p1,*p2。 if(head1==NULL) { printf(\n 无法删除 !\n)。 goto end。 } 20 p1=head1。 while(num1!=p1num1 amp。 amp。 p1next!=NULL) { p2=p1。 p1=p1next。 } if(num1==p1num1) { if(p1==head1) head1=p1next。 else p2next=p1next。 printf(已删除 \n)。 N1=N11。 } else printf(没有此课程 \n)。 end:。 } void managementc() //课程信息管理函数 { struct course * p1。 int i,num1。 printf(\t\t\t 课程信息管理 \n)。 printf( \n)。 printf( \n)。 printf( \n)。 printf(请输入 13:\n)。 scanf(%d,amp。 i)。 switch(i) { 21 case 1:{p1=(struct course *)malloc(sizeof(struct course))。 printf(课程编号 \t 课程名称 \t 主修 \t 课程性质 \t 学分 \t 课时 \t 教师 \n)。 scanf(%d%s%s%s%d%d%s,amp。 p1num1,p1name1,p1major,p1type,amp。 p1credit,amp。 p1period,p1teacher)。 p1people=0。 insert(p1)。 } break。 case 2:printf(请输入您要删除的课程编号 :\n)。 scanf(%d,amp。 num1)。 delc(num1)。 break。 case 3:break。 } } void putin(void) //从键盘录入学生信息 { int i。 struct student *p1,*p2。 N2=0。 p1=p2=(struct student *)malloc(sizeof(struct student))。 printf(学号 \t 姓名 \n)。 scanf(%d%s,amp。 p1num2,p1name2)。 p1nelen=0。 for(i=0。 i20。 i++) p1nelenum[i]=0。 head2=NULL。 while(p1num2!=0) { N2=N2+1。 if(N2==1) head2=p1。 else 22 p2next=p1。 p2=p1。 p1=(struct student * )malloc(sizeof(struct student))。 scanf(%d%s,amp。 p1num2,p1name2)。 p1nelen=0。 for(i=0。 i20。 i++) p1nelenum[i]=0。 } p2next=NULL。 } void putin2() //从文件录入学生信息 { int i=0。 FILE * fp。 char filepath[20]。 struct student *p1,*p2。 N2=0。 printf(请输入您要读取的路径 :)。 getchar()。 gets(filepath)。 if((fp=fopen(filepath,rt))==NULL) { printf(找不到 %s 文件 !\n,filepath)。 exit(0)。 } p1=p2=(struct student*)malloc(sizeof(struct student))。 fread(p1,sizeof(struct student),1,fp)。 head2=NULL。 while(!feof(fp)) { i=0。 N2=N2+1。 if(N2==1) 23 head2=p1。 else p2next=p1。 p2=p1。 p1=(struct student * )malloc(sizeof(struct student))。 fread(p1,sizeof(struct student),1,fp)。 } p2next=NULL。 } void input() //录入学生信息函数 { int i。 printf(\t\t\t 录入学生信息 \n)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。