C语言学生选修课程系统设计_第1页
C语言学生选修课程系统设计_第2页
C语言学生选修课程系统设计_第3页
C语言学生选修课程系统设计_第4页
C语言学生选修课程系统设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上高级语言程序设计课程设计说明书设计题目:学生选修课程系统设计目录1.设计目的.p22 .总体设计p33.详细设计.p44.调试与测试.p55.源程序清单与执行结果.p66.建议和体会.p21一.设计目的(1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题程序功能:(1)输入信息,密码保护(2)浏览信息(3)查询信息,提供两种查询方式(4)统计选课情况(5)进入选课操作(6)退出选课系统二.总体设计设计的流程图如下开始系统初始化1输入课程信息2浏览课程信息3查询课程信息5

2、进入选课操作0退出选课系统4统计选课情况1按学分查询2按课程信息查询结束 三、详细设计 1、输入初始的课程信息:课程信息用文件保存,包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等相关信息。在输入课程信息前要先输入管理员密码,从而限制权限;2、浏览模块:按照指示就可以找到课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等相关信息;3、查询模块:按照指示可以选择通过学分查询信息,或者选择课程性质来查询信息;4、选择模块:通过输入学号和课程编号来选择所修课程,并有统计功能;5、查阅模块:选择主菜单的选项,可以了解统计所选课程的人数;

3、6、退出模块:在主菜单选择“0”退出选课系统。四:调试与测试 问题一、查询模块:其中包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等相关信息;当输入学分或者课程性质后,系统进行判断时,提示“输入错误!请重新输入!” 解决办法及步骤:1、浏览所有课程中的学分是否为你所输入的值。2、浏览所有课程中的课程性质是否有存在你所输入的值。3、输出用于循环检查语句中的课程,发现乱码。4、仔细分析乱码的原因,最后发现是变量的类型错误,错将课程性质的结构体指针变量定义为了其他类型的指针变量。问题二、选择模块:从主菜单进入选课系统,通过输入学号和课程编号来选择所修课程。当输入选

4、择信息时,系统却提示“输入错误!请重新输入!”解决办法及步骤:1、检查所编写的程序代码是否完全正确,若不是,则改之,然后再继续正确输入选择信息, 2、检查当我们在输入选择信息时,看是否我们输入的信息有误,若是这样的话,我们应当仔细输入选择信息。五.源程序清单与执行结果#include<stdio.h>#include<stdlib.h>#include <string.h>struct course int num; char name20; char kind10; int time; int ttime; int etime; int mark; int

5、 term;struct student int snum; int cnum; char cname20;/*课程信息录入*/void insert() void main(); FILE *fp; struct course c; int count,secret=; int i,secret1;system("color 1f"); if(fp=fopen("E:course.txt","a+")=NULL) printf("cannot open filen"); printf("请输入系统密码:

6、"); scanf("%d",&secret1);if(secret=secret1) printf("n密码正确,请输入课程门数:n"); scanf("%d",&count); printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:n"); for(i=0;i<count;i+) scanf("%d %s %s %d %d %d %d %d",&c.num,&,&c.kind,&am

7、p;c.time,&c.ttime,&c.etime,&c.mark,&c.term); fprintf(fp,"%d %s %s %d %d %d %d %dn",c.num,,c.kind,c.time,c.ttime,c.etime,c.mark,c.term); else printf("抱歉,密码错误,您无此权限n"); fclose(fp); main();/*课程信息浏览*/void browser() void main(); FILE *fp; struct course c; int a;s

8、ystem("color 3f"); if(fp=fopen("E:course.txt","r")=NULL) printf("nCannot open course!n"); printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:n"); for(;!feof(fp);) fscanf(fp,"%d %s %s %d %d %d %d %dn",&c.num,&,&c.kind,&c.t

9、ime,&c.ttime,&c.etime,&c.mark,&c.term); printf("%5d%12s%9s%9d%9d%11d%11d%11dn",c.num,,c.kind,c.time,c.ttime,c.etime,c.mark,c.term); fclose(fp); printf("n1-返回主菜单;2-退出选课系统n"); scanf("%d",&a); if(a=1) main(); else exit(0);/*课程信息查询*/void search() v

10、oid main(); FILE *fp; struct course c; int score; char kind10; int a; int b;system("color 2f"); printf("1.按学分查询,2.按课程性质查询.n"); printf("请选择查询方式,输入选项数字:"); scanf("%d",&b); if(b=1) printf("n请输入您要查询的学分:n"); scanf("%d",&score); if(fp=fop

11、en("E:course.txt","r")=NULL) printf("nCannot open course!n"); printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:n"); for(;!feof(fp);) /*feof(fp)遇到文件结束符时返回1,否则feof(fp)返回0*/ fscanf(fp,"%d%s%s%d%d%d%d%dn",&c.num,&,&c.kind,&c.time,&am

12、p;c.ttime,&c.etime,&c.mark,&c.term); if(c.mark=score) printf("%5d%12s%9s%9d%9d%11d%11d%11dn",c.num,,c.kind,c.time,c.ttime,c.etime,c.mark,c.term); else if(b=2) printf("n请输入您要查询的课程性质:n"); scanf("%s",&kind); if(fp=fopen("E:course.txt","

13、r")=NULL) printf("nCannot open course!n"); printf("课程编号 课程名称 课程性质 总学时 授课学时 实验或上机学时 学分 开课学期:n"); for(;!feof(fp);) fscanf(fp,"%d%s%s%d%d%d%d%dn",&c.num,&,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term); if(strcmp(c.kind,kind)=

14、0) printf("%5d%12s%9s%9d%9d%11d%11d%11dn",c.num,,c.kind,c.time,c.ttime,c.etime,c.mark,c.term); else printf("输入错误!"); exit(1); fclose(fp); printf("n1-返回主菜单;2-退出选课系统n"); scanf("%d",&a); if(a=1) main(); else exit(1);/*统计选课情况*/void xuanke_information() v

15、oid main(); int total=0; int a; FILE *fp; struct student s; system("color 6f"); if(fp=fopen("E:student.txt","r")=NULL) printf("nCannot open student!n"); printf(" 学号 课程编号 课程名称n"); for(;!feof(fp);) fscanf(fp,"%d%d%sn",&s.snum,&um,&

16、;ame); total+; printf("%7d%9d%13sn",s.snum,um,ame); printf("n选课学生总人数为:%d 人",total); fclose(fp); printf("n1-返回主菜单;2-退出选课系统n"); scanf("%d",&a); if(a=1) main(); else exit(1);/*学生选修课程*/void xuan_ke() void main(); struct student s; struct course c; int a; FILE

17、*fp;system("color 5f"); printf("n请输入您的学号及您要选择的课程编号:"); scanf("%d%d",&s.snum,&um); if(fp=fopen("E:course.txt","r")=NULL) printf("nCannot open course!n"); for(;!feof(fp);) fscanf(fp,"%d %s %s %d %d %d %d %dn",&c.num,&

18、;,&c.kind,&c.time,&c.ttime,&c.etime,&c.mark,&c.term); if(um=c.num) break; fclose(fp); if(fp=fopen("E:student.txt","a+")=NULL) printf("nCannot open student!n"); fprintf(fp,"%d %d %sn",s.snum,um,); fclose(fp); printf("n1-

19、返回主菜单;2-退出选课系统n"); scanf("%d",&a); if(a=1) main(); else exit(0);/*主菜单*/void main() int n,w=0;system("color 1f"); printf("*n"); printf(" 学生选课系统菜单 n"); printf("*n"); printf(" 1-录入选课信息 n"); printf(" 2-浏览选课信息 n"); printf(&quo

20、t; 3-查询选课信息 n"); printf(" 4-统计选课情况 n"); printf(" 5-进入选课操作 n"); printf(" 0-退出选课系统 n"); printf("*n"); printf(" 请选择输入选项前数字:"); scanf("%d",&n); do if(n>5|n<0) printf("n输入错误!请重新输入!n"); scanf("%d",&n); else

21、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); return ;执行结果:1.主菜单功能2.课程信息录入或插入功能2.1密码保护2.2信息正常录入3.课程信息浏览功能4.课程信息查询功能4.1学分查询4.2课程性质查询5.学生选修课程功能6.统计选课情况功能六:建议和体会本学期我们的C语言程序设计课程的考试题目是让学生自主设计,老师为我们提供了相关课题;同时为激发同学们的创造性,同学们不仅可以对自己所选择的课题进行相关的改进,而且可以自拟课题。 C语言的实质就是以一定的语法规范为准,通过对数据量的复杂结构运算,完成一定功能的程序,是一门计算机基础语言,我们通过这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论