学生选修课程系统设计.docx

上传人:b****5 文档编号:12671755 上传时间:2023-04-21 格式:DOCX 页数:16 大小:195.68KB
下载 相关 举报
学生选修课程系统设计.docx_第1页
第1页 / 共16页
学生选修课程系统设计.docx_第2页
第2页 / 共16页
学生选修课程系统设计.docx_第3页
第3页 / 共16页
学生选修课程系统设计.docx_第4页
第4页 / 共16页
学生选修课程系统设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

学生选修课程系统设计.docx

《学生选修课程系统设计.docx》由会员分享,可在线阅读,更多相关《学生选修课程系统设计.docx(16页珍藏版)》请在冰豆网上搜索。

学生选修课程系统设计.docx

学生选修课程系统设计

沈阳航空工业学院

课程设计

学号200604021133

班级6402104

姓名王浩

指导教师刘成

2007年9月16日

沈阳航空工业学院

课程设计任务书

院系:

电子工程系专业:

电子信息工程班级:

6402104

学号:

200604021133题目:

学生选修课程系统设计

一、课程设计时间

2007年9月10日至2007年9月14日,共计1周,20学时。

二、课程设计内容

用C语言编写软件完成以下任务:

假定有10门课程(参见file26.txt),每门课程有:

课程编号,课程名称,学分,学时。

为自己设计一个选修课程系统,并将自己选课的信息保存到自己所创建的文件myfile.txt中。

注意:

确保总学分不少于8分。

三、课程设计要求

1.程序质量:

✧贯彻结构化的程序设计思想。

✧用户界面友好,功能明确,操作方便。

✧用户界面中的菜单至少应包括“读取数据”、“输入选课信息”、“查看已选情况”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

2.课程设计说明书:

课程结束后,上交课程设计说明书和源程序。

课程设计说明书的格式和内容参见提供的模板。

四、指导教师和学生签字

指导教师:

学生签名:

五、成绩:

六、教师评语:

 

目录

一.需求分析2

二.程序流程图2

输出函数流程图错误!

未定义书签。

添加数据函数流程图5

保存函数流程图5

显示函数流程图错误!

未定义书签。

三.核心技术的实现说明及相应程序段7

四.个人总结11

五.参考文献12

六.源程序12

 

一.需求分析

通过对本次C语言程序设计题目要求的仔细分析而得知,全部程序的大体设计的实现过程主要分为四个模块,其中每个模块对应相应的一个函数,它们的功能分别是:

输出函数()、添加数据函数()、保存数据()、显示函数()和退出函数()。

而就在这几个函数之中,前四个函数的实现严格按照题目的要求,而后面的两个函数属于附加功能。

1.输出函数()是为了从系统中调出以有的文件,以便使用。

2.添加数据函数()让使用者选择自己要选的课。

3.保存函数()保存以选课程。

4.显示函数()显示以选课程。

5.退出函数()用来退出程序。

 

二.程序主体流程图

图1程序主体流程图

输出函数流程图

图2输出函数流程图

添加数据函数流程图

图3添加数据函数流程图

保存函数流程图

图4保存函数流程图

显示函数流程图

图5显示函数流程图

三.核心技术的实现说明及相应程序段

(1)输出函数()

该函数主要是输出原有数据,让使用者使用方便。

具体函数如下。

#include

inta[10],n=0;

structsubject

{

intnum;

charname[50];

floatscore;

inttime;

}sub[10]={{1,"毛泽东思想概论",2,32},{2,"思想道德修养",2,32},

{3,"法律基础",2,32},{4,"C程序",3.5,56},

{5,"计算机基础",2,32},{6,"英语",8,128},

{7,"数学",6,96},{8,"网络",2,32},

{9,"统计",4,64},{10,"经济学",2,32}

图6输出函数

voidread_data()

{

inti;

printf("课程号课程名学分学时\n");

for(i=0;i<=9;i++)

{

printf("%3d\t\t%-13s%1.1f%13d\n",sub[i].num,sub[i].name,sub[i].score,sub[i].time);

}

}

/*****************************************************/

(2)添加函数()

该函数在原数据输出后供学生选课,主要是让学生输入自己要选课的课号。

具体函数如下。

voidinput()

{

inti,j=0;

floatsum=0;

printf("进入选课阶段:

\n");

printf("请输入选修的课程号\n");

printf("(注意:

你所选科目学分不少于8分!

)\n");

for(i=0;i<=9;i++)

{

printf("第i门课程号:

",i+1);j++;

scanf("%d",&a[j]);

if(a[j]==0){break;}

n=n+1;

sum=sum+sub[a[j]-1].score;

if(sum<=7)

printf("您的学分不到8分,请继续输入");

if(sum>7)break;

}

printf("您所选课程的总学分为:

%2.1f\n",sum);

}

/******************************************************/

voidreads()

{

inti;

for(i=1;i<11;i++)

{

);printf("%3d%6s%1.1f%5d\n",sub[a[i]-1].num,sub[a[i]-1].name,sub[a[i]-1].score,sub[a[i]-1].time

);

}

}

图7添加函数

(3)保存函数()

在选课同时进行的,记录所选的课程,并在以后可以调出保存的文件。

具体函数如下。

voidreads()

{

inti;

for(i=1;i<11;i++)

{

printf("%3d%6s%1.1f%5d\n",sub[a[i]-1].num,sub[a[i]-1].name,sub[a[i]-1].score,sub[a[i]-1].time

}

}

voidsave()

{

FILE*fp;

inti;

if((fp=fopen("d:

\\myfile26txt","wb"))==NULL)

{

printf("cannotopenfile\n");

return;

}

fread(&sub,243,1,fp);

fclose(fp);

}

图8保存函数

四.个人总结

通过这次课程设计,我尝试了用C语言软件编写一个实际应用的程序,我深深的体会到编程是一个需要谨慎与严密精神的工作,同时我也感觉到做一名优秀程序员的不易。

在编程序过程中,我积极的和同学讨论,请教老师一些困难的问题和难点,最终编好和完善了程序。

使程序基本能完成编好和完善了程序,而且用户界面也比较友好,在运行过程中输出内容明了,循环顺畅,退出方便,很好的完成了任务。

五.参考文献

1谭浩强.C程序设计.北京:

清华大学出版社.2005

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社.2006

六.源程序

#include

inta[10],n=0;

structsubject

{

intnum;

charname[50];

floatscore;

inttime;

}sub[10]={{1,"毛泽东思想概论",2,32},{2,"思想道德修养",2,32},

{3,"法律基础",2,32},{4,"C程序",3.5,56},

{5,"计算机基础",2,32},{6,"英语",8,128},

{7,"数学",6,96},{8,"网络",2,32},

{9,"统计",4,64},{10,"经济学",2,32}

};

/*************************************************/

voidread_data()

{

inti;

printf("课程号课程名学分学时\n");

for(i=0;i<=9;i++)

{

printf("%3d\t\t%-13s%1.1f%13d\n",sub[i].num,sub[i].name,sub[i].score,sub[i].time);

}

}

/*****************************************************/

voidinput()

{

inti,j=0;

floatsum=0;

printf("进入选课阶段:

\n");

printf("请输入选修的课程号\n");

printf("(注意:

你所选科目学分不少于8分!

)\n");

for(i=0;i<=9;i++)

{

printf("第i门课程号:

",i+1);j++;

scanf("%d",&a[j]);

if(a[j]==0){break;}

n=n+1;

sum=sum+sub[a[j]-1].score;

if(sum<8)

printf("您的学分不到8分,请继续输入");

if(sum>=8)break;

}

printf("您所选课程的总学分为:

%3.1f\n",sum);

}

/******************************************************/

voidreads()

{

inti;

for(i=1;i<11;i++)

{

printf("%3d%6s%1.1f%5d\n",sub[a[i]-1].num,sub[a[i]-1].name,sub[a[i]-1].score,sub[a[i]-1].time

);

}

}

voidsave()

{

FILE*fp;

inti;

if((fp=fopen("d:

\\file26.txt","wb"))==NULL)

{

printf("cannotopenfile\n");

return;

}

fread(&sub,243,1,fp);

fclose(fp);

}

/*******************************************************/

voidexit1()

{

printf("谢谢您进入选课系统,再见!

\n");

}

/***********************************************************/

voids()

{

inti;

scanf("%d",&i);

switch(i)

{

case1:

read_data();

printf("!

!

!

注意:

你所选科目的学分不少于8学分!

!

!

\n");

s();break;

case2:

input();s();break;

case3:

reads();save();s();break;

case4:

exit1();break;

}

}

/********************************************************/

/**********************************************************/

main()

{

{

printf("********欢迎进入选课系统********\n");

printf("\n1读取数据;");

printf("\n2输入选课信息;");

printf("\n3查看以选信息;");

printf("\n4退出.");

}

s();

}

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

当前位置:首页 > 工程科技 > 电子电路

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

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