C语言课程设计任务书

更新时间:2023-09-03 09:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

c语言报告书

C语言课程设计任务书

一、题目:成绩管理分析系统

二、目的与要求

1. 目的:

(1)基本掌握面向过程程序设计的基本思路和方法;

(2)达到熟练掌握C语言的基本知识和技能;

(3)能够利用所学的基本知识和技能,解决简单的程序设计问题

2. 要求

基本要求:

要求利用C语言面向过程的编程思想来完成系统的设计;

突出C语言的函数特征,以多个函数实现每一个子功能;

画出功能模块图;

进行简单界面设计,能够实现友好的交互;

具有清晰的程序流程图和数据结构的详细定义;

熟练掌握C语言对文件的各种操作。

创新要求:

在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同

三、信息描述

有关该系统基本信息的描述,如:学号、姓名、系别、班级和所选科目及各科成绩等。

四、功能描述

学生基本信息及成绩所选科目成绩的录入。

基本信息的查询(分系、班级;分科目)与修改。

对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率);

c语言报告书

对所开课程的成绩分析(求其平均成绩,最高分和最低分);

对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行排名,并显示各科成绩信息)

五、解决方案

分析程序的功能要求,划分程序功能模块。

画出系统流程图。

代码的编写。定义数据结构和各个功能子函数。

程序的功能调试。

完成系统总结报告以及使用说明书

六、进度安排

此次课程设计时间为一周或两周,分四个阶段完成:

分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。

编码调试阶段:根据设计分析方案编写C代码,然后调试该代码,实现课题要求的功能。

总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。

考核阶段。

七、撰写课程设计报告或课程设计总结

课程设计报告要求:

总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。

八、参考资料

《C语言》程序设计教程

c语言报告书

网上相关资料

--------------------------------------------------------------------------------

C语言课程设计任务书

一、题目:图书管理系统

二、目的与要求

1. 目的:

1)要求学生达到熟练掌握C语言的基本知识和技能;

2)掌握利用工具软件开发系统的基本思路和方法;

3)强化上机动手能力,闯过编程关,把理论知识与实际应用相结合;

2. 要求

基本要求:

1)利用C语言的基本语法和编程思想来完成系统的设计;

2)着重利用C语言的函数式语言特点设计程序;

3)使系统具有简单的可视化菜单(选择功能)和提示信息(信息输入项);

创新要求:

在基本要求达到后,可进行创新设计,如实现会员资料的查询、会员注销等等。

三、信息描述

有关该系统基本信息的描述,如:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等

四、功能描述

1. 新进图书基本信息的输入。

2. 图书基本信息的查询。

c语言报告书

3. 对撤消图书信息的删除。

4. 为借书人办理注册。

5.办理借书手续(非注册会员不能借书)。

6.办理还书手续

五、解决方案

1. 首先进行需求分析,搞清楚系统功能和任务。

2. 然后总体设计中确定模块结构,划分功能模块,将软件功能需求分配给所划分的单元模块函数。确定模块间的联系,了解整个系统的数据处理对象。

3. 详细设计中为每个模块函数确定算法,确定各个模块所需处理的数据结构和数据类型,用简单的流程图描述数据操作的详细过程。

4. 依据分析编写C语言代码,并考虑各个模块之间信息的传递,形成完整的系统。

六、进度安排

此次课程设计时间为两周,分五个阶段完成:

1. 分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。这一阶段前第1-2天完成。

2. 编码调试阶段:根据设计分析方案编写代码,然后调试该代码,实现课题要求的功能。这一阶段在第3-7天完成。

3. 总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。这一阶段在第8-9天完成。

4. 考核阶段。这一阶段在第10天完成。

七、撰写课程设计报告

课程设计报告要求

总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。

八、参考资料

c语言报告书

《C语言程序设计》

《C语言课程设计任务书》

--------------------------------------------------------------------------------

题目:学生学籍系统

目的与要求:

目的:

培养学生综合利用C语言进行程序设计的能力,主要是培养学生利用系统提供的标准函数进行创新设计。

基本要求:

学生学籍管理系统,采用数据文件存放学生的学籍,可对学生学籍进行登录.修改.删除.查找.统计.输出等操作。

学生学籍包括学号.姓名.性别.年龄.籍贯.系别.专业.班级。

创新要求:

在程序能进行的情况下,加一较好的人机对话界面。

进度安排:

数据分析及数据文件格式设计(1天);

程序编辑(5天);

写使用说明书和报告单(1天)。

设计方案:

数据分析:

学生数目<=1000名;

每个学生的学籍数据分析如下:

c语言报告书

学号 字符型

姓名 字符型

性别 字符型

年龄 整型

籍贯 字符型

系别 字符型

专业 字符型

班级 字符型

数据文件的设计:

数据文件名:s_status.txt

数据文件类型:随机文件

数据文件结构:一个记录对应一名学生,每个记录中依次存放学号,姓名,性别,年龄,籍贯,系别,专业,班级。

功能设计:

本系统功能如下:

登录学生的学号.姓名.性别.年龄. 籍贯.系别.专业.班级;

修改已知学号的学生信息;

删除已知学号的学生信息;

查找已知学号的学生信息;

按学号输出学生籍贯表。

设计一个名为status.c的程序,该程序中的主函数显示系统菜单,并读入用户的选择,然后通过调用其它五个函数来实现系统的五项功能;

下面给出主函数和其它五个函数的程序功能供参考:

c语言报告书

主函数

功能:显示功能菜单,读入用户选择,并按用户选择调用函数实现操作。

登录学籍记录的函数:

功能:以追加方式打开存放学籍的数据文件,向该文件追加若干个学生的信息。

3.修改学籍记录的函数:

功能:读入要修改成绩的学生的学号,以只读方式打开存放学籍的数据文件,找到所要修改的记录并修改。

删除学籍记录的函数:

功能:读入要删除学籍的学生的学号及其它信息,以只读方式打开文件,循环读入每个记录,并依次存入一个临时文件中,当找到要删除的学生的信息后,不将该记录记入此临时文件。

查找成绩记录的函数:

功能:读入要查找学籍的学生的学号,以只读方式打开存放学籍的数据文件,找到所要查找的记录并显示所有信息。

输出学籍表的函数:

功能:以只读方式打开文件,循环读入每个记录,并按学号进行排序输出。

--------------------------------------------------------------------------------

C语言课程设计任务书

一、题目:职工信息管理系统

二、目的与要求

1. 目的:

(1)要求学生熟练掌握C语言的基本知识和编程技能;

(2)基本掌握结构化程序设计的基本思路和方法;

2. 要求

c语言报告书

基本要求:

(1)试设计一个职工信息管理系统,使之能提供以下功能:

(2)系统以菜单方式工作

(3)职工信息录入功能(职工信息用文件保存)——输入

(4)职工信息浏览功能——输出

(5)查询或排序功能:(至少一种查询方式)——算法,按工资查询,按学历查询等

(6)系统进入画面(静态或动画)

(7)职工信息删除功能

(8)职工信息修改功能

3.创新要求

在基本要求达到后,可进行创新设计,如对菜单进行美化。

三、信息描述

职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。

四、功能描述

1. 录入职工信息并保存

2. 显示所有职工信息(以一定的格式)

3. 查询职工信息(以一种或多种方式)

4. 修改职工信息并保存

5. 删除职工信息

五、解决方案

1. 首先进行需求分析,搞清楚系统功能和任务。

c语言报告书

2. 然后总体设计中确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。

3. 详细设计中为每个模块确定采用的算法,选择适当的工具表达算法的过程(流程图),描述模块的详细过程;确定每一模块使用的数据结构;确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口。

4. 依据分析编写C语言代码。

六、进度安排

课程设计时间为两周,分五个阶段完成:

1. 分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。这一阶段前第1-2天完成。

2. 编码调试阶段:根据设计分析方案编写C语言代码,然后调试该代码,实现课题要求的功能。这一阶段在第3-7天完成。

3. 总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。这一阶段在第8-9天完成。

4. 考核阶段。这一阶段在第10天完成。

七、撰写课程设计报告或课程设计总结

课程设计报告要求

总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。

八、参考资料

《C语言程序设计教程》

《C语言大全》

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

例子:职工信息管理系统

需求分析

c语言报告书

编写目的:

通过对用户需求进行调查分析,写出需求分析文档作为项目设计的基本准则要求,以及作为系统分析员进行系统分析和测试人员进行测试时的手册

需求概述:

设计一个职工信息管理系统,使之能提供以下功能:

1) 录入职工信息并保存

2) 显示所有职工信息

3) 查询职工信息

4) 修改职工信息并保存

5) 删除职工信息

需求说明:

职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复;

录入的职工信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作;

职工信息的显式要求有一定的规范格式;

对职工信息应能够分别按工资及按学历两种方式进行,要求能返回所有符合条件的职工的信息;

对职工信息的修改应逐个地进行,一个职工信息的更改不应影响其他的职工记录;

所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况

--------------------------------------------------------------------------------

总体设计

编写目的:

根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。

总体设计:

c语言报告书

1. 该系统可以按功能进行模块划分,其模块图如下:

系统模块图

其中:

信息输入模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等;

信息浏览模块完成已录入职工信息的显示;

信息查询模块完成职工信息的查询,查询时对应有按工资查询和按学历查询两种方式;

信息修改模块完成职工信息的修改功能;

信息删除模块完成职工信息的删除功能;

菜单选择模块完成用户命令的接收,此模块也是职工信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;

2. 数据结构

本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理

3. 程序流程

系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:

程序流程图

--------------------------------------------------------------------------------

详细设计

编写目的:

根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。

c语言报告书

详细设计:

对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:

① 信息输入模块:

打开职工信息文件;

while ( 继续输入 )

{

读入职工信息;

将读入信息添加到职工信息文件中;

提示是否继续输入;

}

关闭职工信息文件;

② 信息浏览模块:

打开职工信息文件;

while ( 不到文件结束 )

{

从文件中顺序读出一个职工的信息;

按指定格式输出该职工的信息;

}

关闭职工信息文件;

③ 信息查询模块:

while ( 仍继续查询 )

{

c语言报告书

if( 按工资查询 )

{

读入查询的职工工资条件;

打开职工信息文件;

while( 不到文件结束 )

{

顺序读出一个职工的信息;

if( 该职工信息的工资符合条件 ) 输出该职工的信息;

}

关闭职工信息文件;

提示共有几条符合条件的记录;

}

else

if ( 按学历查询 )

{

读入学历查询的条件;

打开职工信息文件;

while( 不到文件结束 )

{

顺序读出一个职工的信息;

if( 该职工信息的学历符合条件 ) 输出该职工的信息;

}

c语言报告书

关闭职工信息文件;

提示符合条件的记录数;

}

else 提示输入不合适;

提示是否继续查询;

}

④ 信息修改模块:

while( 继续修改 )

从给出信息文件中所有的记录情况;

提示并读入待修改的记录的职工的职工号;

打开职工信息文件;

查找并读出该职工的信息到一个中间变量中;

提示并读入要针对该职工的哪个属性进行修改;

根据用户的选择提示并读入所要修改属性的新值;

在该职工的中间变量中修改刚刚读入的属性值;

提示是否确定要进行修改;

如果用户确定则将中间变量重新写回到原职工信息文件中;

关闭职工信息文件;

}

⑤ 信息删除模块:

while( 继续删除 )

c语言报告书

显示所有职工的信息;

提示并读入待删除的职工的职工号;

打开职工信息文件;

查找是否有符合条件的职工记录;

if( 有符合条件的记录)

{

提示是否确认该删除操作;

if (用户确认此操作)

{

创建一个新的临时文件;

打开原信息文件;

while( 原信息文件中记录未读完 )

{

读出原信息文件中的下一条记录;

if( 此条记录不是待删除记录) 写入临时文件中去;

}

关闭原信息文件;

关闭临时文件;

读方式打开临时文件;

写方式重建与原信息文件同名的新信息文件;

将临时文件中的内容写入到新信息文件中去;

c语言报告书

关闭新信息文件;

关闭临时文件;

删除临时文件;

}

}

else 提示没有符合条件的记录存在;

}

⑥ 菜单选择模块:

给出信息提示;

清屏;

绘制菜单(包含输入、显示、查询、修改、删除、退出);

提示菜单选择并读入到变量;

根据读入变量的值调用不同的模块函数;

数据结构:

性别: enum Sex{ male, female };

学历 :enum Education{ high, junior, college, master, doctor};

日期 :struct Date

{ int year;

int month;

int day;

};

职工信息:struct Info

c语言报告书

char num[5]; /* 职工号 */

char name[8]; /* 姓名 */

enum Sex sex; /* 性别 */

struct Date birthday; /* 出生年月*/

enum Education education; /* 学历 */

char duty[8]; /* 职务 */

double wage; /* 工资 */

char addr[12]; /* 地址 */

char phone[8]; /* 电话 */

};

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

enum Sex{ male, female }; /* 性别 */

enum Education{ high, junior, college, master, doctor};

struct Date /* 日期 */

{

int year;

int month; /* 学历 */

c语言报告书

int day;

};

struct Info

{

char num[5]; /* 职工号 */

char name[8]; /* 姓名 */

enum Sex sex; /* 性别 */

struct Date birthday; /* 出生年月*/

enum Education education; /* 学历 */

char duty[8]; /* 职务 */

double wage; /* 工资 */

char addr[12]; /* 地址 */

char phone[8]; /* 电话 */

};

void menu();

int load(char * a) /*计算参数所指定的文件中的记录的个数的函数*/

{

struct Info info;

FILE *fp;

int i;

c语言报告书

if((fp=fopen(a,"rb"))==NULL)

{printf("\nCannot open file\n"); getch();

return 0;

}

for(i=0;!feof(fp);i++)

fread(&info,sizeof(struct Info),1,fp);

fclose(fp);

return(i-1); /*返回记录个数*/

}

void append() /* 信息添加函数 */

{

struct Info info;

FILE * fp;

int flag = 1;

char temp[10];

if((fp=fopen("inform.txt","ab")) == NULL)

if((fp=fopen("inform.txt","wb"))==NULL)

{

printf("\tCan not open the inform file!");

getch();

本文来源:https://www.bwwdw.com/article/3ori.html

Top