C语言学生选课系统代码13570.pdf
《C语言学生选课系统代码13570.pdf》由会员分享,可在线阅读,更多相关《C语言学生选课系统代码13570.pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-#include#include#include int N1,N2;struct student int num2;char name220;int nelenum50;/所选课程编号 int nelen;/所选课程学分和 struct student*ne*t;struct course int num1;/课程编号 char name120;char major20;char type20;int credit;int period;char teacher20;int people;/选此门课程的人数 struct course*ne*t;/构造体指针;struct course*h
2、ead1;struct student*head2;void zhang()/从键盘录入课程信息 struct course*p1,*p2;N1=0;p1=p2=(struct course*)malloc(sizeof(struct course);-printf(课程编号t 课程名称t 主修t 课程性质t 学分t 课时t 教师n);scanf(%d%s%s%s%d%d%s,&p1-num1,p1-name1,p1-major,p1-type,&p1-credit,&p1-period,p1-teacher);p1-people=0;head1=NULL;while(p1-num1!=0)N
3、1=N1+1;if(N1=1)head1=p1;else p2-ne*t=p1;p2=p1;p1=(struct course*)malloc(sizeof(struct course);scanf(%d%s%s%s%d%d%s,&p1-num1,p1-name1,p1-major,p1-type,&p1-credit,&p1-period,p1-teacher);p1-people=0;p2-ne*t=NULL;void zhang1()/从文件录入课程信息 FILE*fp;char filepath20;struct course*p1,*p2;N1=0;printf(请输入您要读取的路径
4、:);getchar();gets(filepath);if(fp=fopen(filepath,r)=NULL)-printf(找不到%s 文件!n,filepath);e*it(0);p1=p2=(struct course*)malloc(sizeof(struct course);fscanf(fp,%d%s%s%s%d%d%s%d,&p1-num1,p1-name1,p1-major,p1-type,&p1-credit,&p1-period,p1-teacher,&p1-people);while(!feof(fp)N1=N1+1;if(N1=1)head1=p1;else p2-
5、ne*t=p1;p2=p1;p1=(struct course*)malloc(sizeof(struct course);fscanf(fp,%d%s%s%s%d%d%s%d,&p1-num1,p1-name1,p1-major,p1-type,&p1-credit,&p1-period,p1-teacher,&p1-people);p2-ne*t=NULL;void load()/录入课程信息函数 int i;printf(ttt 录入课程信息n);printf(n1.从键盘录入);printf(n2.从文件录入);printf(n3.返回主菜单n);printf(请选择 1-3:);-s
6、canf(%d,&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;p0-ne*t=NULL;else while(p0-num1p1-num1)&(p1-ne*t!=NULL)p2=p1;p1=p1-ne*t;if(p0-num1num1)if(head1=p1)head1=p0;els
7、e p2-ne*t=p0;-p0-ne*t=p1;else p1-ne*t=p0;p0-ne*t=NULL;N1=N1+1;void delc(int num1)/删除课程信息 struct course*p1,*p2;if(head1=NULL)printf(n 无法删除!n);goto end;p1=head1;while(num1!=p1-num1&p1-ne*t!=NULL)p2=p1;p1=p1-ne*t;if(num1=p1-num1)if(p1=head1)head1=p1-ne*t;else p2-ne*t=p1-ne*t;printf(已删除n);-N1=N1-1;else
8、printf(没有此课程n);end:;void managementc()/课程信息管理函数 struct course*p1;int i,num1;printf(ttt 课程信息管理n);printf(1.添加课程n);printf(2.删除课程n);printf(3.返回n);printf(请输入 1-3:n);scanf(%d,&i);switch(i)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,&p1-nu
9、m1,p1-name1,p1-major,p1-type,&p1-credit,&p1-period,p1-teacher);p1-people=0;insert(p1);break;case 2:printf(请输入您要删除的课程编号:n);scanf(%d,&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(*tn);scanf(
10、%d%s,&p1-num2,p1-name2);p1-nelen=0;for(i=0;inelenumi=0;head2=NULL;while(p1-num2!=0)N2=N2+1;if(N2=1)head2=p1;else p2-ne*t=p1;p2=p1;p1=(struct student*)malloc(sizeof(struct student);scanf(%d%s,&p1-num2,p1-name2);p1-nelen=0;for(i=0;inelenumi=0;p2-ne*t=NULL;void putin2()/从文件录入学生信息 int i=0;FILE*fp;-char
11、filepath20;struct student*p1,*p2;N2=0;printf(请输入您要读取的路径:);getchar();gets(filepath);if(fp=fopen(filepath,rt)=NULL)printf(找不到%s 文件!n,filepath);e*it(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)head2=p1;else
12、p2-ne*t=p1;p2=p1;p1=(struct student*)malloc(sizeof(struct student);fread(p1,sizeof(struct student),1,fp);p2-ne*t=NULL;void input()/录入学生信息函数 int i;-printf(ttt 录入学生信息n);printf(n1.从键盘录入n);printf(2.从文件录入n);printf(3.返回主菜单n);printf(请输入 1-3:n);scanf(%d,&i);switch(i)case 1:putin();break;case 2:putin2();brea
13、k;case 3:break;void inserts(struct student*incouse)/增加学生信息 struct student*p0,*p1,*p2;p1=head2;p0=incouse;if(head2=NULL)head2=p0;p0-ne*t=NULL;else while(p0-num2p1-num2)&(p1-ne*t!=NULL)p2=p1;p1=p1-ne*t;if(p0-num2 num2)-if(head2=p1)head2=p0;else p2-ne*t=p0;p0-ne*t=p1;else p1-ne*t=p0;p0-ne*t=NULL;N2=N2+
14、1;void dels(int num2)/删除学生信息 struct student*p1,*p2;if(head2=NULL)printf(n 无法删除n);goto end;p1=head2;while(num2!=p1-num2&p1-ne*t!=NULL)p2=p1;p1=p1-ne*t;if(num2=p1-num2)if(p1=head2)head2=p1-ne*t;else -p2-ne*t=p1-ne*t;printf(已删除n);N2=N2-1;else printf(没有此学生编号n);end:;void managements()/学生信息管理函数 struct stu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生 选课 系统 代码 13570
限制150内