您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页c程序设计 学生选修课程系统

c程序设计 学生选修课程系统

来源:爱站旅游
目 录

一、 课程设计的题目和意义 .............................. 2

二、详细设计 ....................................................... 3

1、模块功能介绍 ................................................. 3 2、程序流程图 ..................................................... 4 3、程序清单 ......................................................... 5

三、系统运行结果 ............................................. 11

1

一、 课程设计的题目和意义

题目五:学生选修课程系统设计

假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能: 1、系统以菜单方式工作

2

2、课程信息录入功能(课程信息用文件保存) 3、课程信息浏览功能 4、课程信息查询功能 查询方式 按学分查询 按课程性质查询

5、学生选修课程 (可选项)

通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解,提高学生对所学内容的综合运用能力;同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力,掌握编程技巧,并可培养学生实际上机调试程序的能力。“理论与实践”相结合,使学生得到很好的锻炼,为以后学习、工作打下坚实的基础。

二、详细设计 1、模块功能介绍

题目:学生选修课程系统设计:

3

课程信息包括:课程编号、课程名称、课程性质、总学时、授课学时、实验或上机学时、学分、开课学期等。试设计一学生选课系统, 使之能提供以下功能:

选课信息录入功能(学生信息用文件保存)---输入 选课信息浏览功能---输出 查询功能---算法 按学分查询 按课程性质查询 进入选课信息操作

2、程序流程图

学生选修课程系统设计课程信息录入 课程信息浏览 查询、排序 课程信息的删除与修改 学分学时编号统计按学分查询按性质查询

4

3、程序清单

#include #include #include

struct course { int num; char name[20]; char kind[10]; int time; int ttime; int etime; int mark; int term; };

struct student { int snum; int cnum; char cname[20]; };

/*课程信息录入*/ void insert() { void main(); FILE *fp; struct course c; int count; int i; if((fp=fopen(\"course.txt\ { printf(\"cannot open file\\n\"); } printf(\"\\n请输入课程门数:\\n\"); scanf(\"%d\ printf(\"课程编号 课程名称 课程性质 总学时开课学期:\\n\"); for(i=0;i5

授课学时实验或上机学时学分 scanf(\"%d %s %s %d %d %d %d %d\e,&c.mark,&c.term); fprintf(fp,\"%d %s %s %d %d %d %d %d\\n\rk,c.term); } fclose(fp); main(); }

/*课程信息浏览*/ void browser() { void main(); FILE *fp; struct course c; int a; if((fp=fopen(\"course.txt\ { printf(\"\\nCannot open course!\\n\"); } printf(\"课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:\\n\"); for(;!feof(fp);) { fscanf(fp,\"%d %s %s %d %d %d %d %d\\n\etime,&c.mark,&c.term); printf(\"%5d%12s%9s%9d%9d%11d%11d%11d\\n\e,c.mark,c.term); } fclose(fp); printf(\"\\n1-返回主菜单;2-退出选课系统\\n\"); scanf(\"%d\ if(a==1) main(); else exit(0); }

/*课程信息查询*/ void search() {

6

void main(); FILE *fp; struct course c; int score; char kind[10]; int a; int b; printf(\"1.按学分查询,2.按课程性质查询.\\n\"); printf(\"请选择查询方式,输入选项数字:\"); scanf(\"%d\ if(b==1) { printf(\"\\n请输入您要查询的学分:\\n\"); scanf(\"%d\ if((fp=fopen(\"course.txt\ { printf(\"\\nCannot open course!\\n\"); } printf(\"课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:\\n\"); for(;!feof(fp);) { fscanf(fp,\"%d%s%s%d%d%d%d%d\\n\me,&c.mark,&c.term); if(c.mark==score) printf(\"%5d%12s%9s%9d%9d%11d%11d%11d\\n\e,c.mark,c.term); } } else if(b==2){ printf(\"\\n请输入您要查询的课程性质:\\n\"); scanf(\"%s\ if((fp=fopen(\"course.txt\ { printf(\"\\nCannot open course!\\n\"); } printf(\"课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:\\n\"); for(;!feof(fp);) {

7

fscanf(fp,\"%d%s%s%d%d%d%d%d\\n\me,&c.mark,&c.term); if(strcmp(c.kind,kind)==0) printf(\"%5d%12s%9s%9d%9d%11d%11d%11d\\n\e,c.mark,c.term); } } else{ printf(\"输入错误!\"); exit(1); } fclose(fp); printf(\"\\n1-返回主菜单;2-退出选课系统\\n\"); scanf(\"%d\ if(a==1) main(); else exit(0); }

/*统计选课情况*/

void xuanke_information() { void main(); int total=0; int a; FILE *fp; struct student s; if((fp=fopen(\"student.txt\ { printf(\"\\nCannot open student!\\n\"); } printf(\" 学号 课程编号 课程名称\\n\"); for(;!feof(fp);) { fscanf(fp,\"%d%d%s\\n\ total++; printf(\"%7d%9d%13s\\n\ } printf(\"\\n选课学生总人数为:%d 人\ fclose(fp); printf(\"\\n1-返回主菜单;2-退出选课系统\\n\"); scanf(\"%d\

8

if(a==1) main(); else exit(0); }

/*学生选修课程*/ void xuan_ke() { void main(); struct student s; struct course c; int a; FILE *fp; printf(\"\\n请输入您的学号及您要选择的课程编号:\"); scanf(\"%d%d\ if((fp=fopen(\"course.txt\ { printf(\"\\nCannot open course!\\n\"); } for(;!feof(fp);) { fscanf(fp,\"%d %s %s %d %d %d %d %d\\n\etime,&c.mark,&c.term); if(s.cnum==c.num) break; } fclose(fp); if((fp=fopen(\"student.txt\ { printf(\"\\nCannot open student!\\n\"); } fprintf(fp,\"%d %d %s\\n\ fclose(fp); printf(\"\\n1-返回主菜单;2-退出选课系统\\n\"); scanf(\"%d\ if(a==1) main(); else exit(0); }

/*主菜单*/

9

void main() { int n,w=0; printf(\"********************************************************************************\\n\"); printf(\" 学生选课系统菜单 \\n\"); printf(\"********************************************************************************\\n\"); printf(\" 1-录入选课信息 \\n\"); printf(\" 2-浏览选课信息 \\n\"); printf(\" 3-查询选课信息 \\n\"); printf(\" 4-统计选课情况 \\n\"); printf(\" 5-进入选课操作 \\n\"); printf(\" 0-退出选课系统 \\n\"); printf(\"********************************************************************************\\n\"); printf(\" 请选择输入选项前数字:\"); scanf(\"%d\ do { if(n>5||n<0) { printf(\"\\n输入错误!请重新输入!\\n\"); scanf(\"%d\ } else w=1; }while(w==0); switch(n) { case 1:insert();break; case 2:browser();break; case 3:search();break; case 4:xuanke_information();break; case 5:xuan_ke();break; case 0:exit(0);

10

} return ; }

4、系统运行结果

主菜单功能

11

选课信息录入

选课信息查询

12

选课学生统计

进入选课操作

13

14

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务