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

C语言学生选课系统(代码)

来源:网络收集 时间:2026-09-02
导读: C语言 VC++环境 #includestdio.h #includestdlib.h #includestring.h int N1,N2; struct student { int num2; char name2[20]; int nelenum[50]; //所选课程编号 int nelen; //所选课程学分和 struct student * next; }; struct course { }; struct course *

C语言 VC++环境

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

int N1,N2;

struct student

{

int num2;

char name2[20];

int nelenum[50]; //所选课程编号

int nelen; //所选课程学分和

struct student * next;

};

struct course

{

};

struct course * head1;

struct student * head2;

void zhang() //从键盘录入课程信息

{

struct course *p1,*p2; int num1; //课程编号 char name1[20]; char major[20]; char type[20]; int credit; int period; char teacher[20]; int people; //选此门课程的人数 struct course *next; //结构体指针

N1=0;

p1=p2=(struct course *)malloc(sizeof(struct course));

C语言 VC++环境

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)

{ N1=N1+1;

if(N1==1)head1=p1;

else p2->next=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->next=NULL;

}

void zhang1() //从文件录入课程信息

{

FILE * fp;

char filepath[20];

struct course *p1,*p2;

N1=0;

printf("请输入您要读取的路径:");

getchar();

gets(filepath);

if((fp=fopen(filepath,"r"))==NULL)

{

C语言 VC++环境

printf("找不到 %s 文件!\n",filepath);

exit(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->next=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->next=NULL;

}

void load() //录入课程信息函数

{

int i; printf("\t\t\t录入课程信息\n"); printf("\n1.从键盘录入"); printf("\n2.从文件录入"); printf("\n3.返回主菜单\n"); printf("请选择1-3:"); scanf("%d",&i);

C语言 VC++环境

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->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;

C语言 VC++环境

}

else

{ p1->next=p0;

p0->next=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->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;

C语言 VC++环境

}

else

printf("没有此课程\n");

end:;

}

void managementc() //课程信息管理函数

{

struct course * p1;

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:{p1=(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; insert(p1); } break; case 2:printf("请输入您要删除的课程编号:\n"); scanf("%d",&num1); delc(num1); break; case 3:break; }

C语言 VC++环境

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",&p1->num2,p1->name2); p1->nelen=0; for(i=0;i<20;i++) p1->nelenum[i]=0; head2=NULL; while(p1->num2!=0) { } p2->next=NULL;} 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;

void putin2() //从文件录入学生信息

{

int i=0; FILE * fp; char filepath[20]; struct student *p1,*p2;

C语言 VC++环境

} printf("请输入您要读取的路径:"); getchar(); gets( …… 此处隐藏:5778字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言学生选课系统(代码).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1564822.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)