教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 幼儿教育 >

学生选课系统C语言代码

来源:网络收集 时间:2026-09-06
导读: 学生选课系统C语言代码实现. #includestdio.h #includestdlib.h int N1,N2,kk1,kk2,kk3; struct couse * head1; struct student * head2; struct couse//课程信息结构体 { int num1; char name1[20]; int score; int nelepeo;//课程已选人数 int Melepeo;//

学生选课系统C语言代码实现.

#include<stdio.h> #include<stdlib.h> int N1,N2,kk1,kk2,kk3; struct couse * head1; struct student * head2; struct couse//课程信息结构体 { int num1; char name1[20]; int score; int nelepeo;//课程已选人数 int Melepeo;//课程人数上限 struct couse * next; }; struct student//学生信息结构体 { int num2; char name2[20]; int nelenum[50];//已选课程编号 int nelen;//已选课程数量 struct student * next; }; void Ms() { for(kk1=0;kk1<1100;kk1++) for(kk2=0;kk2<1200;kk2++) for(kk3=0;kk3<1200;kk3++); } void keyboardc()//录入课程子函数(从键盘录入) { struct couse *p1,*p2; N1=0; p1=p2=(struct couse*)malloc(sizeof(struct couse)); printf("课程编号\t 课程名称\t 学分\t 课程人数上限\n"); 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; else p2->next=p1; p2=p1;

学生选课系统C语言代码实现.

p1=(struct couse * )malloc(sizeof(struct couse)); scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo); p1->nelepeo=0; } p2->next=NULL; } void filec()//录入键盘子函数(从文件录入) { FILE * fp; char filepath[20]; struct couse *p1,*p2; N1=0; printf("输入要读入的文件路径:"); getchar(); gets(filepath); if((fp=fopen(filepath,"r"))==NULL) { printf("找不到%s 文件!\n",filepath); exit(0); } p1=p2=(struct couse*)malloc(sizeof(struct couse)); fscanf(fp,"%d%s%d%d%d",&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1>Melepeo); head1=NULL; while(!feof(fp)) { N1=N1+1; if(N1==1)head1=p1; else p2->next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse)); fscanf(fp,"%d%s%d%d%d",&p1->num1,p1->name1,&p1->score,&p1->nelepeo,&p1>Melepeo); } p2->next=NULL; } void inputc()//录入课程主函数 { int i; printf("\t\t\t 录入课程信息\n"); printf("\n1.从键盘录入\n"); printf("2.从文件录入\n"); printf("3.返回主菜单\n");

学生选课系统C语言代码实现.

printf("请选择(1~3):\n"); scanf("%d",&i); switch(i) { case(1):keyboardc();break; case(2):filec();break; case(3):break; } } void insertc(struct couse *incouse)//课程管理子函数(增加课程) { struct couse *p0,*p1,*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; else p2->next=p0; p0->next=p1; } else { p1->next=p0; p0->next=NULL; } } N1=N1+1; } void delc(int num1)//课程管理子函数(删除课程) { struct couse *p1,*p2;

学生选课系统C语言代码实现.

if(head1==NULL) { printf("\n 没有课程,无法删除!\n"); goto end; } p1=head1; while(num1!=p1->num1 && p1->next!=NULL) { p2=p1; p1=p1->next; } if(num1==p1->num1) { if(p1==head1) head1=p1->next; else p2->next=p1->next; printf("已删除该编号课程!\n"); N1=N1-1; } else printf("无该编号的课程!\n"); end:; } void managementc()//课程管理主函数 { struct couse * incouse; int i,num1; printf("\t\t\t 课程管理\n"); printf("1.新增课程\n"); printf("2.删除课程\n"); printf("3.返回主菜单\n"); printf("请选择(1~3):\n"); scanf("%d",&i); switch(i) { case(1): { incouse=(struct couse *)malloc(sizeof(struct couse)); printf("课程编号\t 课程名称\t 学分\t 课程人数上限\n"); scanf("%d%s%d%d",&incouse->num1,incouse->name1,&incouse->score,&incouse>Melepeo); incouse->nelepeo=0; insertc(incouse); break; }

学生选课系统C语言代码实现.

case(2): { printf("请输入要删除课程的编号:\n"); scanf("%d",&num1); delc(num1); break; } case(3):break; } } void keyboards()//录入学生信息子函数(从键盘录入) { int i; struct student *p1,*p2; N2=0; p1=p2=(struct student *)malloc(sizeof(struct student)); printf("学生学号\t 学生姓名\n"); scanf("%d%s",&p1->num2,p1->name2); p1->nelen=0; for(i=0;i<20;i++) p1->nelenum[i]=0; head2=NULL; while(p1->num2!=0) { N2=N2+1; if(N2==1)head2=p1; else p2->next=p1; p2=p1; p1=(struct student * )malloc(sizeof(struct student)); scanf("%d%s",&p1->num2,p1->name2); p1->nelen=0; for(i=0;i<20;i++) p1->nelenum[i]=0; } p2->next=NULL; } void files()//录入学生信息子函数(从文件录入) { int i=0; FILE * fp; char filepath[20]; struct student *p1,*p2; N2=0; printf("输入要读入的文件路径:"); getchar();

学生选课系统C语言代码实现.

gets(filepath); if((fp=fopen(filepath,"r"))==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)head2=p1; else p2->next=p1; p2=p1; p1=(struct student * )malloc(sizeof(struct student)); fread(p1,sizeof(struct student),1,fp); } p2->next=NULL; } void inputs()//录入学生信息主函数 { int i; printf("\t\t\t 录入学生信息\n"); printf("\n1.从键盘录入\n"); printf("2.从文件录入\n"); printf("3.返回主菜单\n"); printf("请选择(1~3):\n"); scanf("%d",&i); switch(i) { case(1):keyboards();break; case(2):files();break; case(3):break; } } void inserts(struct student * incouse)//学生信息管理子函数(填加学生信息) { struct student *p0,*p1,*p2; p1=head2; p0=incouse; if(head2==NULL)

学生选课系统C语言代码实现.

{ head2=p0; p0->next=NULL; } else { while((p0->num2 > p1->num2) && (p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->num2 <= p1->num2) { if(head2==p1) head2=p0; else p2->next=p0; p0->next=p1; } else { p1->next=p0; p0->next=NULL; } } N2=N2+1; } voi …… 此处隐藏:7951字,全部文档内容请下载后查看。喜欢就下载吧 ……

学生选课系统C语言代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1487147.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)