人人范文网 范文大全

C语言课程设计说明书

发布时间:2020-03-02 01:46:23 来源:范文大全 收藏本文 下载本文 手机版

一 问题描述与分析

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

1.课程信息录入功能(课程信息用文件保存) 2.课程信息浏览功能 3.排序:按总学时排序

4.查询功能:按开学学期查询 5.课程修改,删除(可选项)

二 总体设计

根据题目要求,定义结构体类型如下: struct subjects { char no[10]; char name[20]; char kind[20]; int stime;

/*总学时*/ int ttime;

/*授课学时*/ int etime;

/*实验或上机学时*/ float score; int term; }sub[N];

三 详细设计

1)存储结构的选择

在这个程序中,我们选择用结构体数组来存储课程,即顺序存储结构 Struct subjects sub[N] 2)系统初始化

这个模块的主要功能是得到初始的课程。为了实现“一次输入,多次使用”,我们用文件来保存课程。第一次运行本程序需从键盘输入所有课程并保存到文件中,以后运行就可以从文件中读取数据,直接使用了。这样既可以减少输入的麻烦,更重要的是使本程序可以连续运行,每次运行都可以使用上一次保存的结果。 void newfile() { int i; FILE *fp; if((fp=fopen(\"sub.dat\",\"wb\"))==NULL) {

printf(\"文件建立失败!请重新运行程序。\\n\");

exit(0);

} } printf(\"请输入课程门数\"); scanf(\"%d\",&num); for(i=0;i

3)课程浏览功能 按课程编号进行浏览 void read1() { FILE *fp; num=0; fp=fopen(\"sub.dat\",\"r\"); if(fp==NULL) {

printf(\"文件打开失败!请重新运行程序。\\n\");

exit(0); } while(!feof(fp)) {

fread(&sub[num],1,sizeof(struct subjects),fp);

num++; } num--; fclose(fp); printf(\"现在共有%d门课程,初始数据为:\\n\",num); output(); } 3

4)排序

按总学时排序:使用改进的起泡法排序。 void sortstime() { int i,j,flag; struct subjects temp; for(i=0;i

flag=0;

for(j=0;j

if(sub[j].stime

{

temp=sub[j];

sub[j]=sub[j+1];

sub[j+1]=temp;

flag=1;

}

if(flag==0)

break; }printf(\"排序后的课程为:\\n\"); output(); } 4

5)查找(总学时)

按开学学期查询,查找用顺序查找法。 void find() { int i,cterm; printf(\"请输入要查找课程的开学学期:\\n\"); getchar(); scanf(\"%d\",&cterm); i=findterm(cterm); if(i==-1)

printf(\"要查找的学期不存在:\\n\"); else {

printf(\"查找到的课程信息为:\\n\");

printf(\"课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,总学分,开学学期:\\n\");

printf(\"===================================\\n\");

printf(\"%s\\t%-10s\\t%s\\t%d\\t%d\\t%d\\t%.1f\\t%d\\t\",sub[i].no,sub[i].name,sub[i].kind,sub[i].stime,sub[i].ttime,sub[i].etime,sub[i].score,sub[i].term);

printf(\"\\n\"); } } int findterm(int cterm[]) {

} int i; for(i=0;i

return i; return -1;

6)参考文献

C语言指导书。 7)心得体会

通过对课程精心设计,我从中获得了不少东西:

1.我知道一些自己不太熟悉的知识,比如文件系统中的好多知识; 2.从中懂得了合作的重要性,这是以前没注意的;

3.也锻炼了自己的思维能力,可以把一整块东西分成若干个小块来处理; 4.在锻炼的同时,自己得到了一种满足感。

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

C语言课程设计

C语言英汉转换机课程设计说明书

C语言课程设计黑白棋

课程设计报告 C语言

C语言课程设计说明书
《C语言课程设计说明书.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档