赞
踩
下载源代码链接:
https://download.csdn.net/download/qq_44176343/64109300
1.本文使用C语言写的一个简单项目,学生的选课系统,主要实现对学生和课程信息管理,实现系统的管理学生和课程选课退课等信息!
2.主要实现功能菜单:
1.录入课程信息
2.课程管理
3.录入学生信息
4.学生信息管理
5.学生选课
6.系统信息查看及存储
源代码:
学生选课系统源代码实现
#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; 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"); 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; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。