C语言课程设计说明书课程管理系统文档格式.docx

上传人:b****6 文档编号:21550793 上传时间:2023-01-31 格式:DOCX 页数:29 大小:95.68KB
下载 相关 举报
C语言课程设计说明书课程管理系统文档格式.docx_第1页
第1页 / 共29页
C语言课程设计说明书课程管理系统文档格式.docx_第2页
第2页 / 共29页
C语言课程设计说明书课程管理系统文档格式.docx_第3页
第3页 / 共29页
C语言课程设计说明书课程管理系统文档格式.docx_第4页
第4页 / 共29页
C语言课程设计说明书课程管理系统文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C语言课程设计说明书课程管理系统文档格式.docx

《C语言课程设计说明书课程管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计说明书课程管理系统文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

C语言课程设计说明书课程管理系统文档格式.docx

7.调用函数四(查询课程详细信息):

显示所有输入的课程信息;

8.退出;

四、调试与测试:

调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施

完成每一个函数后,进行单独调试,对测试结果有错的,逐个修改,最后合并在一起进行调试,修改,直到正确无误为止。

测试过程中,在函数四(查找课程信息)中无法将输入信息同已有信息进行比较,经同学指点顺利解决;

1主函数模块(主菜单)

是为了定义一个菜单函数,其功能在于供使用者选择输出菜单功能选择。

其运行结果如下图:

运行正常

2课程信息录入功能

是为了输入课程的详细信息包括课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息

其运行结果如下图

3课程信息浏览功能为了让使用者能浏览所有课程详细信息

4排序:

按开课学期排序为了让使用者按开课学期排序所有课程详细信息

5查询功能:

按课程名称查询是为了使用者按课程名来查询课程详细信息

6退出

是为了使用者退出程序所作的功能

♦调试方法:

先将主函数完毕,在分别加入录入函数、输出函数、查找函数、保存等模块后再调试。

无错之后编译运行。

♦遇到的主要问题及解决方法:

(1)忘记加分号。

(2)忽略了“+”与“++”的区别及\n与n的区别。

(3)scanf("

%d%d"

&

a,&

b);

输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:

6,9输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键

(4)switch语句中漏写break语句。

五、核心源程序清单和执行结果:

#include"

stdlib.h"

/*标准输入、输出头文件*/

windows.h"

/*包含字符串函数处理头文件*/

string.h"

/*包含动态存储与释放函数头文件*/

structsubinf

{

intnum;

/*定义课程编号*/

charname[20];

/*课程名称*/

charfeat[20];

/*课程性质*/

intttime;

/*定义总学时*/

intltime;

/*定义授课学时*/

intetime;

/*定义上机学时*/

floatscore;

/*学分*/

intterm;

/*开课学期*/

};

voidindex()

{

voidsub_add();

/*课程信息录入*/

voidsub_view();

/*信息浏览*/

voidtaxis();

/*排序*/

voidsearch();

/*对课程名称查询*/

voidquit();

/*退出系统*/

intinput;

/*输入*/

charinput_1;

do

{

printf("

\n\t欢迎使用课程管理系统"

);

\n\t1.课程信息录入"

\n\t2.课程信息浏览"

\n\t3.按开课学期排序"

\n\t4.按课程名称查询(修改与删除)"

\n\t5.退出本系统"

\n\t请选择服务类型(1-5):

"

scanf("

%d"

&

input);

if(input!

=1&

&

input!

=2&

=3&

=4&

=5)

printf("

\n\t输入错误!

请重输入\n"

\n\t按任意键返回..."

input_1=getchar();

}

if(input==5)

{

quit();

}

while(input!

=5&

=6);

switch(input)

case1:

sub_add();

break;

case2:

sub_view();

break;

case3:

taxis();

case4:

search();

}

voidsub_add()

voidindex();

inti=0,j;

intinp;

FILE*fp;

charinput;

structsubinfsubs;

structsubinfsub_taxis[100];

printf("

\n\t课程信息录入"

\n\n\n\t请输入课程信息\n\n"

\t课程编号:

scanf("

subs.num);

\n\t课程名称:

%s"

subs.name);

\n\t课程性质:

subs.feat);

\n\t总学时:

subs.ttime);

\n\t授课学时:

subs.ltime);

\n\t实验或上机学时:

subs.etime);

\n\t学分:

%f"

subs.score);

\n\t开课学期:

subs.term);

if((fp=fopen("

sub.dat"

"

rb"

))!

=NULL)

do

fread(&

sub_taxis[i],sizeof(structsubinf),1,fp);

i=i+1;

while(!

feof(fp));

fclose(fp);

for(j=0;

j<

=i;

j++)

if(subs.num==sub_taxis[j].num)

{

printf("

\n\n\n\t!

该编号已经被使用"

\n\t按任意键重录入..."

input=getchar();

sub_add();

break;

}

))==NULL)

fp=fopen("

wb"

else

ab"

fwrite(&

subs,sizeof(structsubinf),1,fp);

fclose(fp);

\n\n\n\t信息已经成功录入!

按任意键继续..."

input=getchar();

{

\n\n\n\t1.继续输入\n"

\t2.返回主菜单\n"

\n\t请选择服务类别(1或2):

inp);

if(inp!

inp!

=2)

{

\n\t没有这项服务!

\n"

\t按任意键重新选择..."

input=getchar();

while(inp!

=2);

switch(inp)

sub_add();

index();

voidsub_view()

intinp,i=0,n=0;

structsubinfsubview[100];

\n\n\n\t未输入任何信息,请返回进行课程信息录入!

\n\t按任意键回主菜单..."

input=getchar();

index();

else

subview[i],sizeof(structsubinf),1,fp);

while(!

do

课程信息录入

课程编号09050001

课程名称:

高数

课程性质:

必修课

总学时20

授课学时20

实验或上机学时10

学分4.0

开课学期2

*******************************************

\n\t课程信息浏览"

\t共有%d/%d条记录"

n+1,i-1);

\n\n\t课程编号:

%d\n"

subview[n].num);

%s\n"

subview[n].name);

subview[n].feat);

subview[n].ttime);

subview[n].ltime);

subview[n].etime);

%f\n"

subview[n].score);

subview[n].term);

\n\n\t1.[上一页]\t2.[下一页]\t3.[返回]\n"

\n\t请选择(1-3):

scanf("

switch(inp)

{

case1:

{

if(n==0)

{

printf("

\n\t已到达首页\n\t按任意键重新选择..."

input=getchar();

}

else

{

n=n-1;

break;

}

case2:

if(n==i-2)

\n\t已经到达尾页\n\t按任意键重新选择..."

n=n+1;

case3:

index();

default:

printf("

\n\t按任意键重新选择..."

input=getchar();

while(inp!

=3);

voidtaxis()

inti=0,m,n;

structsubinfsub_taxis[100],temp;

\n\n\t未输入任何信息,无法排序.请返回进行课程信息录入!

\t按任意键返回主菜单..."

rewind(fp);

for(m=0;

m<

i-1-1;

m++)

for(n=0;

n<

i-1-1-m;

n++)

if(sub_taxis[n].term>

sub_taxis[n+1].term)

temp=sub_taxis[n];

sub_taxis[n]=sub_taxis[n+1];

sub_taxis[n+1]=temp;

if((fp=fopen("

\n\n\n\t数据读取失败!

!

\t请按任意键退出本系统..."

exit(0);

else

for(m=0;

i-1;

m++)

fwrite(&

sub_taxis[m],sizeof(structsubinf),1,fp);

fclose(fp);

\n\n\n\t排序完成!

index();

voidsearch()

voidchange(intx);

voiddel(intx);

structsubinfsubs[100],subf[100];

charinput,feature[10];

inti=0,w,j,inp,k=0,n=0;

while(!

feof(fp))

fread(&

subs[i],sizeof(structsubinf),1,fp);

i=i+1;

\n\n\n\t请输入所查询的课程名称:

feature);

for(j=0;

=i-2;

w=strcmp(subs[j].name,feature);

if(w==0)

subf[k]=subs[j];

k=k+1;

}

elseif(k==0&

j==(i-2))

system("

cls"

\n\n\n\t没有找到符合要求的记录!

do

******************************

课程信息浏览

*******************************

system("

\n\t课程信息查询"

\t共为您查询到%d/%d条记录"

n+1,k);

\n\t课程编号:

subf[n].num);

subf[n].name);

subf[n].feat);

subf[n].ttime);

subf[n].ltime);

subf[n].etime);

subf[n].score);

subf[n].term);

\n\n\t1.[上一页]\t2.[下一页]\t3.[修改]\n\t4.[删除]\t5.[返回]\n"

\n\t请选择(1-5):

switch(inp)

case1:

if(n==0)

{

\n\t已到达首页\n\t按任意键重新选择"

else

n=n-1;

case2:

if(n==k-1)

\n\t已到达最末页\n\t按任意键重新选择"

n=n+1;

case3:

for(j=0;

if(subf[n].num==subs[j].num)

change(j);

break;

case4:

del(j);

case5:

default:

\n\t对不起,没有这项服务!

\n\t按任意键重新选择!

while(inp!

=5);

voidchange(intx)

intinp,i=0,j;

FILE*fp,*fp1;

structsubinfsubs,sub_tax

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1