C程序设计学生选修课管理系统.docx
- 文档编号:27724878
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:25
- 大小:265.05KB
C程序设计学生选修课管理系统.docx
《C程序设计学生选修课管理系统.docx》由会员分享,可在线阅读,更多相关《C程序设计学生选修课管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
C程序设计学生选修课管理系统
项目名称
学生选修课管理系统
学院
建筑工程学院
班级
统本工管1102
姓名
黄滔
组内成员……………………………………………………………………3
程序功能模块划分…………………………………………………………3
数据设计……………………………………………………………………4
主函数代码…………………………………………………………………5
程序执行后的部分效果图………………………………………………14
小组成员分工……………………………………………………………18
程序开发体会……………………………………………………………18
学生选修课系统说明书
班级:
统本工管1102班
组长:
黄滔
组员:
简利林、白云鹏、王巧云、柴建彬
系统功能模块划分
数据设计
为了方便使用结构此系统结构均为全局类型定义
structclass_type
{intid;
charname[20];
charxingzhi[20];
intztime;
intktime;
intstime;
intfen;
intxueqi;
}cla[100];
structstudent_type
{intid;
charname[20];
intkechengid;
charkechengname[20];
}stu[100];
主函数代码:
voidcaidan()
{intn;
system("cls");
printf("--------------------------------学生选修课程系统--------------------------------\n\n");
printf("1.课程信息录入");
printf("2.课程信息管理");
printf("3.课程信息查询");
printf("4.学生选修课程");
printf("5.退出系统");
printf("请输入你的选择,按回车确定:
");
scanf("%d",&n);
if(n==1)shuru();
elseif(n==2)guanli();
elseif(n==3)chaxun();
elseif(n==4)xuesheng();
elseif(n==5)
{system("cls");
save();
printf("谢谢您对本系统的支持!
\n您修改过的信息已经保存!
\n");
system("pause");
exit(0);
}
else
{system("cls");
printf("请重新输入正确的选项(1-5)!
\n");
system("pause");
caidan();
}
}
voidshuru()
{intc;
intk;
system("cls");
printf("----------------------------------课程信息录入----------------------------------");
printf("请输入你要增加的课程数,输入0则返回主菜单!
\n");
scanf("%d",&c);
while(c<0&&c>100)
{
printf("数据输入有误,请重新输入!
(输入数据为0-100)\n");
scanf("%d",&c);
}
if(c==0)
caidan();
elseif(c+i>100)
printf("储存区最多可存储100门课程,总输入个数即将超过100,我们最多只能帮您保存100个数据!
\n");
else
{system("cls");
for(k=0;k {cla[i+k].id=i+k; printf("课程编号%d",cla[i+k].id+1); printf("\n请输入课程名称: "); scanf("%s",cla[i+k].name); printf("\n请输入课程性质: "); scanf("%s",cla[i+k].xingzhi); printf("\n请输入课程总学时: "); scanf("%d",&cla[i+k].ztime); printf("\n请输入课程授课学时: "); scanf("%d",&cla[i+k].ktime); printf("\n请输入课程实验或上机学时: "); scanf("%d",&cla[i+k].stime); printf("\n请输入课程学分: "); scanf("%d",&cla[i+k].fen); printf("\n请输入课程开课学期: "); scanf("%d",&cla[i+k].xueqi); } i=i+c; save(); printf("输入完成,保存信息完成! \n"); system("pause"); caidan(); } } voidliulan() {intm; system("cls"); printf("----------------------------------课程信息浏览----------------------------------"); for(m=0;m { printf("\n课程编号%d",cla[m].id+1); printf("\n课程名称: %s",cla[m].name); printf("\n课程性质: %s",cla[m].xingzhi); printf("\n课程总学时: %d",cla[m].ztime); printf("\n课程授课学时: %d",cla[m].ktime); printf("\n课程实验或上机学时: %d",cla[m].stime); printf("\n课程学分: %d",cla[m].fen); printf("\n课程开课学期: %d",cla[m].xueqi); printf("\n\n"); } system("pause"); caidan(); } voidchaxun() {intn; system("cls"); printf("----------------------------------课程信息查询----------------------------------"); printf("1.按课程编号查询"); printf("2.按课程名称查询"); printf("3.按课程性质查询"); printf("4.按课程总学时查询"); printf("5.按课程授课学时查询"); printf("6.按课程实验或上机学时查询"); printf("7.按课程学分查询"); printf("8.按课程开课学期查询"); printf("9.返回主菜单"); printf("请输入你的选择,按回车确定: "); scanf("%d",&n); if(n==1)cxid(); elseif(n==2)cxname(); elseif(n==3)cxxz(); elseif(n==4)cxzt(); elseif(n==5)cxkt(); elseif(n==6)cxst(); elseif(n==7)cxf(); elseif(n==8)cxxq(); elseif(n==9)caidan(); else {system("cls"); printf("请重新输入正确的选项(1-9)! \n"); system("pause"); chaxun(); } } voidread() {intj,k; FILE*fp,*ap; if((fp=fopen("","rt"))==NULL) {system("cls"); printf("未找到已存数据纪录,您需要重新输入数据! \n"); i=0; system("pause"); shuru(); } else { system("cls"); printf("数据读取成功,您可以正常使用本系统! \n"); for(j=0;j<100;j++) {fread(&cla[j],sizeof(cla[j]),1,fp); if(cla[j].id==-1) break; } i=j; fclose(fp); if((ap=fopen("","rt"))==NULL) printf("\n注: 学生信息为空\n! "); for(k=0;k<100;k++) {fread(&stu[k],sizeof(stu[k]),1,fp); if(stu[k].id==-1) break; } e=k; fclose(ap); system("pause"); caidan(); } } voidsave() {FILE*fp,*ap; intl; if((fp=fopen("","wt"))==NULL) printf("打开课程文件错误! \n"); for(l=0;l if(fwrite(&cla[l],sizeof(cla[l]),1,fp)! =1) printf("课程数据写入失败! "); fclose(fp); if((ap=fopen("","wt"))==NULL) printf("打开学生文件错误! \n"); for(l=0;l if(fwrite(&stu[l],sizeof(stu[l]),1,fp)! =1) printf("学生数据写入失败! "); fclose(ap); } voidguanli() {intn; system("cls"); printf("--------------------------------学生选修课程管理--------------------------------\n\n"); printf("1.课程信息浏览"); printf("2.课程信息修改"); printf("3.课程信息删除"); printf("4.返回主菜单"); printf("请输入你的选择,按回车确定: "); scanf("%d",&n); if(n==1)liulan(); elseif(n==2)xiugai(); elseif(n==3)shanchu(); elseif(n==4)caidan(); else {system("cls"); printf("请重新输入正确的选项(1-4)! \n"); system("pause"); caidan(); } } voidshanchu() {intn,x; system("cls"); printf("请输入您要删除的课程编号,输入0为返回上一级菜单: \n"); scanf("%d",&n); if(n>i&&n<0) {printf("本编号信息为空,请重新输入! "); system("pause"); shanchu(); } elseif(n==0)guanli(); else {FILE*fp; if((fp=fopen("","wt+"))==NULL) {system("cls"); printf("打开失败\n"); system("pause"); guanli(); } else { system("cls"); printf("正在删除,请稍候...\n"); for(x=n-1;x fread(&cla[x],sizeof(cla[x]),1,fp); for(x=n-1;x {strcpy(cla[x].name,cla[x+1].name); strcpy(cla[x].xingzhi,cla[x+1].xingzhi); cla[x].ztime=cla[x+1].ztime; cla[x].ktime=cla[x+1].ktime; cla[x].stime=cla[x+1].stime; cla[x].fen=cla[x+1].fen; cla[x].xueqi=cla[x+1].xueqi; } i--; save(); fclose(fp); system("pause"); guanli(); } } } voidxiugai() {inta; system("cls"); printf("请输入您需要修改的课程编号,输入0为返回上一级菜单: "); scanf("%d",&a); if(a>i&&a<0) {printf("本编号信息为空,请重新输入! "); system("pause"); xiugai(); } elseif(a==0)guanli(); else {FILE*fp; if((fp=fopen("","wt+"))==NULL) {system("cls"); printf("打开失败\n"); system("pause"); guanli(); } printf("课程编号%d",a); printf("\n请输入课程名称: "); scanf("%s",cla[a-1].name); printf("\n请输入课程性质: "); scanf("%s",cla[a-1].xingzhi); printf("\n请输入课程总学时: "); scanf("%d",&cla[a-1].ztime); printf("\n请输入课程授课学时: "); scanf("%d",&cla[a-1].ktime); printf("\n请输入课程实验或上机学时: "); scanf("%d",&cla[a-1].stime); printf("\n请输入课程学分: "); scanf("%d",&cla[a-1].fen); printf("\n请输入课程开课学期: "); scanf("%d",&cla[a-1].xueqi); save(); fclose(fp); guanli(); } } voidcxid() {system("cls"); inta; printf("----------------------------------课程信息查询----------------------------------"); printf("\n请输入您需要查找的课程编号: \n"); scanf("%d",&a); printf("\n课程编号%d",cla[a-1].id+1); printf("\n课程名称: %s",cla[a-1].name); printf("\n课程性质: %s",cla[a-1].xingzhi); printf("\n课程总学时: %d",cla[a-1].ztime); printf("\n课程授课学时: %d",cla[a-1].ktime); printf("\n课程实验或上机学时: %d",cla[a-1].stime); printf("\n课程学分: %d",cla[a-1].fen); printf("\n课程开课学期: %d\n",cla[a-1].xueqi); system("pause"); chaxun(); } voidxuesheng() {intn; system("cls"); printf("----------------------------------学生选修课程----------------------------------\n\n"); printf("1.学生信息录入"); printf("2.学生选课察看"); printf("3.学生信息修改"); printf("4.学生信息删除"); printf("5.返回主菜单"); printf("请输入你的选择,按回车确定: "); scanf("%d",&n); if(n==1)xsshuru(); elseif(n==2)xschakan(); elseif(n==3)xsxiugai(); elseif(n==4)xsshanchu(); elseif(n==5)caidan(); else {system("cls"); printf("请重新输入正确的选项(1-5)! \n"); system("pause"); xuesheng(); } } voidxsshuru() {intc; intk; system("cls"); printf("----------------------------------学生信息录入----------------------------------"); printf("请输入你要增加的学生数,输入0则返回主菜单! \n"); scanf("%d",&c); while(c<0&&c>100) { printf("数据输入有误,请重新输入! (输入数据为0-100)\n"); scanf("%d",&c); } if(c==0) caidan(); elseif(c+e>100) printf("储存区最多可存储100门课程,总输入个数即将超过100,我们最多只能帮您保存100个数据! \n"); else {system("cls"); for(k=0;k {stu[e+k].id=e+k; printf("学生编号%d",stu[e+k].id+1); printf("\n请输入学生姓名: "); scanf("%s",stu[e+k].name); printf("\n请输入课程编号: "); scanf("%d",&stu[e+k].kechengid); strcpy(stu[e+k].kechengname,cla[stu[e+k].kechengid-1].name); } e=e+c; save(); printf("输入完成,保存信息完成! \n"); system("pause"); xuesheng(); } } voidxschakan() {intm; system("cls"); printf("----------------------------------学生信息浏览----------------------------------"); for(m=0;m { printf("\n学生编号: %d",stu[m].id+1); printf("\n学生姓名: %s",stu[m].name); printf("\n课程编号: %d",stu[m].kechengid); printf("\n课程名称: %s",stu[m].kechengname); printf("\n\n"); } system("pause"); xuesheng(); } voidxsxiugai() {inta; system("cls"); printf("请输入您需要修改的学生编号,输入0为返回上一级菜单: "); scanf("%d",&a); if(a>e&&a<0) {printf("本编号信息为空,请重新输入! "); system("pause"); xsxiugai(); } elseif(a==0)xuesheng(); else {FILE*ap; if((ap=fopen("","wt+"))==NULL) {system("cls"); printf("打开失败\n"); system("pause"); xuesheng(); } printf("学生编号: %d",a); printf("\n请输入学生姓名: "); scanf("%s",stu[a-1].name); printf("\n请输入课程编号: "); scanf("%d",&stu[a-1].kechengid); strcpy(stu[a-1].kechengname,cla[stu[a-1].kechengid-1].name); save(); fclose(ap); xuesheng(); } 程序执行后的部分效果图 封面效果: 主菜单 课程信息管理菜单 课程信息查询 课程信息查询 信息录入 信息保存 小组成员分工情况: 姓名 完成任务 占任务总工作量比例 得分(满分100) 黄滔 程序编写 20% 白云鹏 程序搜集部分编写 20% 简利林 循环程序编写 20% 柴建彬 程序编写 20% 王巧云 程序编写 20% 程序开发体会: 黄滔: 时光飞逝,弹指之间,一学年已经过去了,能和大家一起开发一个这样的程序是我的荣幸。 感觉到团队的力量和大家的热情。 白云鹏: 有一种变化叫成长;有一种力量叫坚韧;有一种责任叫付出;有一种幸福叫成功;有一种快乐叫工作。 简利林: 通过大家一段时间的努力我们组终于成功将C语言学生选修课管理系统开发出来了,在其中有很多困难,但通过不懈努力我们一一克服,最终尝到胜利的甜果。 柴建彬: 为什么我们能成功,因为我们有最好的队友,为什么我们能完成,因为我们都有付出,感谢大家共同的努力。 王巧云: 虽然在这段时间里我们有过放弃,有过懈怠,但是大家仍然一股劲坚持了下来,最终将其完成,能和大家一起工作是一种成长,我很高兴。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 学生 选修课 管理 系统