学生选课管理系统c语言程序Word文档格式.docx
- 文档编号:15394490
- 上传时间:2022-10-30
- 格式:DOCX
- 页数:27
- 大小:24.58KB
学生选课管理系统c语言程序Word文档格式.docx
《学生选课管理系统c语言程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统c语言程序Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
//开课学期
intnelepeo;
//课程已选人数
intMelepeo;
//课程上限
structcouse*next;
};
structstudent//学生信息结构体
{
intnum2;
//学号
charname2[20];
//姓名
intnelenum[50];
//已选课程编号
charnelename[10][20];
//已选名称
intnelen;
//已选课程数量
intscore;
//总学分
intgainscore;
//已获得的学分
structstudent*next;
};
voidmanger();
voidstudent();
voidmanagementc();
voidmanagements();
voidmanage();
voidmain();
voidintoc()//存储课程信息
FILE*fp;
structcouse*p;
charfilepath[30];
printf("
\t\t\t*****************************\n"
);
\n\t\t\t\t欢迎使用此系统!
\n"
\t\t\t*****************************\n"
printf(”输入路径:
”);
getchar();
gets(filepath);
if((fp=fopen(filepath,”w”))==NULL)
{
printf("
无法储存!
”);
exit(0);
}
p=head1;
while(p!
=NULL)
fprintf(fp,”%d%s%s%d%d%d%d%d%d%d\n”,p-〉num1,p—〉name1,p—〉type,p->
hour,p-〉teach,p-〉exp,p—〉credit,p—〉semester,p->
nelepeo,p->
Melepeo);
p=p->
next;
}
fclose(fp);
printf(”已储存入%s文件!
\n”,filepath);
}
voidkeyboardc()//录入课程子函数(从键盘录入)
structcouse*p1,*p2;
N1=0;
p1=p2=(structcouse*)malloc(sizeof(structcouse));
printf("
\t\t\t*****************************\n"
);
printf(”\t\t\t*****************************\n"
printf(”编号\\名称\\性质\\总学时\\上课学时\\实验上机学时\\学分\\开课学期\\已选人数\\课程上限\n”);
scanf("
%d%s%s%d%d%d%d%d%d%d"
,&p1-〉num1,p1->
name1,&p1—〉type,&
p1->
hour,&p1->
teach,&
p1—>
exp,&
p1-〉credit,&p1->
semester,&p1—>
nelepeo,&
Melepeo);
head1=NULL;
while(p1-〉num1!
=0)
N1=N1+1;
if(N1==1)head1=p1;
elsep2->
next=p1;
//对这段语句有疑问
p2=p1;
p1=(structcouse*)malloc(sizeof(structcouse));
scanf("
%d%s%s%d%d%d%d%d%d%d"
,&
p1—〉num1,p1—>
name1,p1—〉type,&p1->
hour,&p1-〉teach,&
p1—〉exp,&p1-〉credit,&
p1-〉semester,&
nelepeo,&p1—〉Melepeo);
}
p2-〉next=NULL;
}
voidfilec()//录入键盘子函数(从文件录入)
FILE*fp;
charfilepath[20];
structcouse*p1,*p2;
N1=0;
printf(”\t\t\t*****************************\n”);
printf(”\n\t\t\t\t欢迎使用此系统!
printf(”\t\t\t*****************************\n”);
printf(”输入要读入的文件路径:
"
getchar();
if((fp=fopen(filepath,”rb”))==NULL)
{
找不到%s文件!
,filepath);
exit(0);
}
p1=p2=(structcouse*)malloc(sizeof(structcouse));
fscanf(fp,"
%d%s%s%d%d%d%d%d%d%d”,&p1->
num1,p1—〉name1,p1—〉type,&
p1—〉hour,&
p1—〉teach,&
exp,&p1-〉credit,&p1—>
semester,&
p1—〉nelepeo,&p1->
head1=NULL;
while(!
feof(fp))
{
N1=N1+1;
if(N1==1)head1=p1;
elsep2-〉next=p1;
p1=(structcouse*)malloc(sizeof(structcouse));
%d%s%s%d%d%d%d%d%d%d"
,&p1-〉num1,p1-〉name1,p1—>
type,&p1->
hour,&
credit,&p1—>
semester,&p1->
nelepeo,&p1—〉Melepeo);
}
voidinputc()//录入课程主函数
inti;
printf(”\t\t\t*****************************\n"
\n\t\t\t\t欢迎使用此系统!
\n”);
\t\t\t*****************************\n"
printf(”\t\t\t录入课程信息\n”);
printf(”\n\t\t\t1.从键盘录入\n”);
printf(”\t\t\t2.从文件录入\n”);
\t\t\t3。
返回上一菜单\n”);
printf(”请选择(1~3):
%d”,&i);
switch(i)
case
(1):
system("
cls"
keyboardc();
cls”);
inputc();
break;
case
(2):
filec();
system(”cls”);
break;
case(3):
managementc();
voidinsertc(intnum2)//课程管理子函数(修改课程)
structcouse*p1,*p2;
if(head1==NULL)
printf(”\n\t\t\t没有课程,无法修改!
gotoend;
p1=head1;
while(num2!
=p1-〉num1&&p1—>
next!
p2=p1;
p1=p1->
next;
if(num2==p1—〉num1)
printf(”\t\t\t请重新输入数据进行修改\n"
课程编号\\课程名称\\课程性质\\总学时\\上课学时\\实验上机学时\\学分\\开课学期\\课程已选人数\\课程上限\n”);
scanf(”%d%s%s%d%d%d%d%d%d%d%d"
&
p1-〉num1,p1—〉name1,p1-〉type,&
p1-〉hour,&p1—>
p1—〉exp,&
p1—〉credit,&p1->
p1-〉nelepeo,&
printf(”\t\t\t已修改该课程\n"
elseprintf(”\t\t\t无该编号的课程!
\n”);
end:
;
voiddelc(intnum1)//课程管理子函数(删除课程)
structcouse*p1,*p2;
printf(”\n\t\t\t没有课程,无法删除!
p1=head1;
while(num1!
=p1—〉num1&
&
p1—〉next!
p1=p1-〉next;
if(num1==p1->
num1)
if(p1==head1)head1=p1—〉next;
elsep2—〉next=p1->
已删除该编号课程!
N1=N1-1;
elseprintf(”无该编号的课程!
end:
voidmanagementc()//课程管理主函数
inti,num1,num2=1;
\t\t\t*****************************\n"
printf(”\n\t\t\t\t欢迎使用此系统!
printf(”\t\t\t*****************************\n"
printf(”\t\t\t课程管理\n”);
printf(”\t\t\t1。
添加课程\n”);
printf(”\t\t\t2。
修改课程\n"
\t\t\t3.删除课程\n"
printf(”\t\t\t4.存储课程信息\n”);
printf(”\t\t\t5。
返回上一菜单\n"
请选择(1~5):
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 管理 系统 语言 程序