搜档网
当前位置:搜档网 › C语言课程设计-学生成绩管理系统

C语言课程设计-学生成绩管理系统

课程设计

学院:计算机工程学院

班级:计算机科学与技术1班

姓名:王 定 龙

学号:2013404010114

课程:C 语言设计

题目:学生成绩管理系统

2013年6月1日

目录

一、设计任务书 (2)

二、功能设计 (3)

三、程序介绍 (3)

四、程序代码设计 (4)

五、运行结果图 (7)

六、C语言程序设计总结 (13)

七、源程序代码 (15)

参考书目 (15)

一、设计任务书

题目背景

在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。但是,我们看到,其实我们学校的学生成绩管理系统在很多方面做的并不是很完善,功能方面也有欠缺,用户界面不够直观。

成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领中。

因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。这不但能使教务人员从复

杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。

学校学生成绩管理工作都是采用传统的手工管理,这各传统人工的管理方式存在着许多缺点,如:率低,保密性差,一方面导致教师,学生成绩情况不了解,教师对成绩管理工作倍感头痛,因为时间一长将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误

的产生。

题目要求

有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能:

(1)主菜单

学生成绩管理系统

1、成绩录入

2、成绩查询

3、成绩统计

4、成绩排名

5、退出

(2)各菜单项功能

①成绩录入:输入学生的学号、姓名及三门课的成绩;

②成绩查询:

查询不及格学生的记录。

③成绩统计:

l 计算学生的平均分;

2 根据学生的平均分高低,对学生的数据进行排序后输出;

(3)设计要求

1、用C语言实现系统;

2、利用结构体数组实现学生成绩统计管理的数据结构设计;

3、系统具有增加,查询,排序等基本功能;

4、系统的各个功能模块要求用函数的形式实现;

二、功能设计

程序是数值计算型算法设计,设计出了学生成绩管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是结构体的相关操作,包括结构体数组的输入、输出、查找、删除、修改、计算等。这个学生成绩管理系统也初步实现了学生成绩信息的显示、删除、查找、添加、修改等必要的功能。

三、程序介绍

学生成绩管理系统由8个函数组成,包括main函数、input函数、display函数、look 函数、delete函数,其中change函数又包括一个sumandave子函数,paixu函数。

main函数主要是打印选择界面,选择并调用其他几个函数。

input函数是输入学生信息函数(包括姓名、学号、性别、5门学科的成绩)。完成后调用display函数并返回界面选择。。

display函数的功能是对输入学生的信息进行界面输出。完成后返回main函数进行下一个功能的选择。并返回界面选择。

look函数的功能是查找。按提示信息输入学号和姓名两种方式可实现查找。完成后调用display函数输出结果。并返回界面选择。

delete函数的功能是删除学生的信息,根据想删除的学号进行删除功能,删除的结果会显示在屏幕上。然后再调用display函数显示结果。并返回界面选择。

Change函数功能是实现学生成绩的修改,其中对于每个想修改的项目(学号、性别、名字、分数)都有是否修改的提示。选择并完成后再调用display函数输出修改后的结果。 Sumandave函数是计算每个学生成绩的总分、平均分。完成后调用display函数输出所求结果。并返回界面选择。

Paixu函数是将所有学生成绩的总分降序排列,再是调用display函数。并返回界面选择。

四、程序设计NS图

1.学生信息的输入

2.学生信息的输出

3.学生成绩的求和与排序

4.查找学生信息

5.修改学生信息

6.删除学生信息

7.按平均分的排序

五、程序代码

#include

#include #include struct student { char num[10]; char name[20]; char sex[5];

int grade[5];

float v;

int sum;

}stu[50];

int k=0;

void input();

void display();

void look();

void change();

void delete();

void sumandave();

void paixu();

void main()

{

int a;

do

{

printf("\n\n

*********************************************************** *******\n");

printf(" *"); printf("\t\欢迎进入学生管理系统");

printf("\t*");

printf("\n

*********************************************************** *******\n");

printf(" *"); printf("\t 1.访问学生信息");

printf("\t\t\t\t*\n");

printf(" *"); printf("\t 2.查找学生信息");

printf("\t\t\t\t*\n");

printf(" *"); printf("\t 3.修改学生信息");

printf("\t\t\t\t*\n");

printf(" *"); printf("\t 4.

删除学生信息");printf("\t\t\t\t*\n");

printf(" *"); printf("\t 5.通过学号输出学生信息");

printf("\t\t*\n");

printf(" *"); printf("\t 6. exit ");

printf("\t\t\t\t\t\t*\n");

printf("

*********************************************************** *******\n");

printf(" Enter you choice : ");

scanf("%d",&a);

switch(a)

{

case 1:printf("\n");input();break;

case 2:printf("\n");look();break;

case 3:printf("\n");change();break;

case 4:printf("\n");delete();break;

case 5:printf("\n");paixu();break;

case 6:printf("\n");exit(0);break;

default:printf("\nThe choice is between 1 to 6.\n");

}

}while(a!=0);

}

void input()

{ int j;

char ch[20];

printf("\nenter student information:\n");

do

{ printf("\nnum: ");

scanf("%s",stu[k].num);

printf("\nname: ");

scanf("%s",stu[k].name);

printf("\nsex: ");

scanf("%s",stu[k].sex);

for(j=0;j<5;j++)

{ printf("\ngrade%d: ",j+1);

scanf("%d",&stu[k].grade[j]); }

k++;

printf("\nif want continue input student information(y/n): "); scanf("%s",ch);

}while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0);

sumandave();

display();

}

void display()

{ int i;

printf(" the student information is:\n");

for(i=0;i

{ printf("%-10s %-10s %-5s %2d %2d %2d %2d %2d%5d %5f\n",s tu[i].num,stu[i].name,stu[i].sex,stu[i].grade[0],stu[i].gra de[1],stu[i].grade[2],stu[i].grade[3],stu[i].grade[4],stu[i ].sum,stu[i].v);

printf("\n"); }

}

void sumandave()

{ int i,j;

for(i=0;i

{ stu[i].sum=0;

for(j=0;j<5;j++)

stu[i].sum=stu[i].sum+stu[i].grade[j] ;

stu[i].v=stu[i].sum/5.0; }

}

void look()

{{ int i;

char a[20];

printf("\nenter you want look student num:");

scanf("%s",a);

for(i=0;i

if(strcmp(stu[i].num,a)==0)

printf("%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5f\n",stu

[i].num,stu[i].name,stu[i].sex,stu[i].grade[0],stu[i].grade

[1],stu[i].grade[2],stu[i].grade[3],stu[i].grade[4],stu[i]. sum,stu[i].v);

printf("\nenter you want look student name:");

scanf("%s",a);

for(i=0;i

if(strcmp(stu[i].name,a)==0)

printf("%-10s %-10s %-5s %2d %2d %2d %2d %2d %5d %5f\n",stu

[i].num,stu[i].name,stu[i].sex,stu[i].grade[0],stu[i].grade

[1],stu[i].grade[2],stu[i].grade[3],stu[i].grade[4],stu[i]. sum,stu[i].v);}

display();

}

void change()

{ int i,j;

char a[20],ch[10];

printf("\nenter you want change student num:");

scanf("%s",a);

for(i=0;i

{

if(strcmp(stu[i].num,a)==0)

{ printf("\nyou sure want change student num(y/n): ");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nnum:"); scanf("%s",stu[i].num);}

printf("\nyou sure want change student name(y/n): ");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nname:"); scanf("%s",stu[i].name);}

printf("\nyou sure want change student sex(y/n): ");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("\nsex:"); scanf("%s",stu[i].sex);}

printf("\nyou sure want change student grade(y/n): ");

scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)

{ for(j=0;j<5;j++)

{ printf("\ngrade%d: ",j+1); scanf("%d",&stu[i].grade[j]);} stu[i].sum=0;

for(j=0;j<5;j++)

stu[i].sum=stu[i].sum+stu[i].grade[j] ;

stu[i].v=stu[i].sum/5.0;}}

display();

}}

void delete()

{ int i,j;

char ch[10],c[20];

printf("\nyou sure want delete student information(y/n): "); scanf("%s",ch);

if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0)

{ printf("\nenter you want delete num: \n"); printf("num:");

scanf("%s",&c);

for(i=0;i

if(strcmp(c,stu[i].num)==0) break;

for(j=i;j<=2;j++)

stu[j]=stu[j+1];

printf("\t\t\tyou had delete %s\n",c);

k--; }

display();

}

void paixu()

{ struct student T;

int i,j;

for(i=0;i

{

for(j=i+1;j

{

if(stu[i].sum

{

T=stu[i];

stu[i]=stu[j];

stu[j]=T;

}

} }

display();}

六丶运行结果图

C语言程序课程设计任务书

《C语言程序设计》课程设计任务书 对象:17楼宇智能化技术专业 一、课程设计目的 本课程设计主要是为了进一步提高学生掌握利用C语言语言开发程序的能力,熟悉程序开发的一般流程,及自主学习能力和团队协作能力。 1. 掌握C语言语言基本语法及数据类型; 2. 掌握C语言基本程序结构、数组、函数、指针、文件的使用; 3. 掌握结构化程序设计思想和C语言开发程序基本流程; 4. 具备C语言程序调试能力; 5. 能自主进行知识查阅及分析和解决问题; 6. 能具备良好的团队协作能力和沟通能力。 二、课程设计要求 (一)总体要求 学生必须仔细阅读课程设计书,认真主动完成课设的要求。有问题及时、主动通过各种方式与教师联系沟通。 学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。 本课程设计主要流程是: 分组->选题->进行课程设计->撰写课程设计报告->课程设计答辩->上交资料。 本课程设计成绩组成: 总成绩(100%)=源程序(60%)+课程设计报告(20%)+课程设计答辩(10%)+小组自评分(10%,包括组长评分和个人自评分)

(二)各部分具体要求 1. 分组要求 (1)小组成员1-2人组成,成员自由组合,小组组长由本小组推荐产生; (2)本课程设计实行小组组长负责制,每个成员具体分工由成员共同协商,组长最后决定; (3)课程设计结束后,组长根据每个成员所负责具体任务及是否积极参加等因素进行打分,每个成员分数不能一样; (4)课程设计小组自评表由组长填写,最后由各成员签名,除签名外表格其它内容可打印(A4纸); (5)本课程设计要体现团队合作精神,每个成员分工合理,要及时、定期沟通,组长充分发挥组织协调作用,每个成员要有合作和团队意识。 2. 选题要求 本课程设计选题必须在6月10日之前完成,每个小组可以从推荐设计项目中进行选题,也可以自己自拟设计题目,自拟设计题目要上报设计详细功能,在得到老师的许可后方可开始进行课程设计。 同一个班级每个小组选题不能重复,学习委员汇总全班各组选题,电子档E-mail给老师。 3. 设计内容要求 (1)每个课程设计项目至少包含5个功能模块; (2)设计界面友好,要有菜单界面,数据存放在文件中,数据使用数组、结构体都可以; (3)书写规范,变量及函数命名体现“见名知意”原则;采用锯齿型书写格式,便于阅读; (4)采取模化程序设计,在设计过程中,按功能定义多个不同的函数,通过函数调用实现各功能模块的作用; (5)要求利用结构化程序设计方法以及C的编程思想来完成系统的设计; (6)整个设计必须上机调试通过。 4. 课程设计报告要求 设计报告内容要体现整个课程设计过程,包括:需求分析、总体设计、详细设计、程序运行测试与分析、设计反思。

c语言实验心得体会

c语言实验心得体会 篇一:C语言上机实验心得 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C 语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点: 1、学习耐心与细心不足,如scanf(“%d”,n);中的“”有时候会忘了。而在最后 输出时又错写成printf(“%d”,n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解

题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更

C语言课程设计任务书(必备)

《C语言程序设计》课程设计任务书及指导书 计算机科学与信息工程学院 2012年

说明:以下题目每名同学可以选择一个作为设计题目,也可以自己自拟一个题目,但工作量要与此相关不大。 C语言课程设计任务书及指导书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括教师的职工号、姓名、职称、性别、3门讲授课程的名称,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 5、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、完成信息的录入和显示(即通过编程创建文件,输入教师信息并可将文件内容显示出来) 3、完成排序功能。 4、完成查找功能(可按职工号、姓名、讲授课程进行查找) 要求:1、用C语言实现程序设计; 2、利用结构体来实现教师信息的处理; 3、系统的各个功能要求用函数实现; 4、界面友好(良好的人机交互),程序必须有注释。 课程设计实验报告要求: 1、预习报告:仔细分析客户需求、进行模块划分、设计每个模块的算法和数据结构。 2、实验总结报告:按照模板的格式。 C语言课程设计任务书及指导书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 登记入住的信息主要有:客人姓名、房间号、入住时间、计费方式(按天或小时)、单价、押金房间信息:房间号、是否有人入住、房间标准、每天单价、小时单价 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 4、保存:将相关数据写入磁盘文件,便于存、取操作。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况等功能。 3、进一步要求:完成计费和费用查询功能; 每次登录时读取保存在磁盘文件中的入住情况。要求:1、用C语言实现系统;

c语言课程设计心得体会文档2篇

c语言课程设计心得体会文档2篇C language course design experience document 编订:JinTai College

c语言课程设计心得体会文档2篇 小泰温馨提示:心得体会是指一种读书、实践后所写的感受性文字。语言类读书心得同数学札记相近;体会是指将学习的东西运用到实践中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。本文档根据主题的心得体会内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:c语言课程设计心得体会文档 2、篇章2:c语言课程设计的心得体会文档 篇章1:c语言课程设计心得体会文档 在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。 虽然在上个学期中,我们已经学习了《c 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通

过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。 c语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。 在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。 这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自

教师信息管理系统(C语言课程设计)

课程设计任务书 计算机科学与技术专业年级班 一、设计题目 教师信息管理系统设计 二、主要容 教师信息包括教师号、、性别、年龄、学历、职称、工资、住址、等(教师号不重复)。试设计一教师信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)教师信息录入功能--输入 (3)教师信息删除功能 (4)教师信息浏览功能--输出 (5)查询和排序功能:(至少一种查询方式) --算法 按教师号查询 按职称查询等 三、具体要求 围绕课程设计的目的和意义,基本要求如下: 1、认真阅读《C语言课程设计》指导书,明确课程设计的目的、意义和要求; 2、快速总结C程序设计语言的精髓,如:函数的概念、函数的设计和函数的调用;

3、快速熟悉Tuber C 或C++的上机环境。能熟练进行高级编辑操作(特别是字块操作);熟悉步进式、断点跟踪的程序调试方法,提高工作效率。 4、根据“课程设计题目”,采用结构化的程序设计思想,确定系统的总体设计方案、确"定时间进度。如果是多人共一题,则要首先完成小组的人员分工及安排,不允许重题现象。 5.学习并了解良好的程序设计风格。按质、按量、并按时间完成课程设计的任务。 6.提供可运行的课程设计系统,参加上机面试答辩。 本次课程设计的重点是:学会设计并编写函数,掌握好各函数之间的调用关系;利用文件操作函数,建立数据库并完成对数据库的各种操作;掌握几种典型算法的应用(如:冒泡法、选择排序法和折半查找法)。同时锻炼学生根据题目进行分析、设计、编码、调试程序和书写必要文档的综合处理能力,从实践中学习并体会程序设计的结构化思想和设计方法。 四、进度安排 依照教学计划,课程设计时间为3周。按照软件工程的思想,软件系统的分析设计至关重要,并要充分重视书写“文档”。避免甚至杜绝“拿到题目就编码”的现象。建议将时间分为三个阶段: 第一阶段,根据题目要求,拿出系统的总体设计方案:即构思各程序模块的算法,并画出相应的N-S图,同时编写相应的文档; 第二阶段,根据N-S图编写程序代码并单独调试,再将调试通过的各个子模块进行集成调试; 第三阶段,归纳文档资料,按要求填写在《课程设计说明书》上,并参加答辩。

C语言课程设计总结

C语言课程设计总结 一、设计题目: 猜数字和贪吃蛇小游戏。 专业:09电气工程及其自动化 组号:第十组 组员:马邢(组长)、王维、毛亮、汪小成、魏坤波、陈维康、高裴石、石峰、葛良志、冯鑫源 指导教师:黄莉莉 二、任务分配: 我们组分为两队,一对制作贪吃蛇游戏,另一对制作猜数字游戏。制作贪吃蛇的人员是马邢,葛良志,高裴石,石峰,陈维康。石峰和高裴石负责收集程序材料,马邢和葛良志负责整理和编写程序,陈维康辅助我们工作。制作猜数字的是魏坤波,王维,毛亮,汪小成,冯鑫源。魏坤波和王维负责编写程序,其他三人收集材料并帮助他们人编写和调试程序。 三、心得体会: 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,几个星期的日子里,可以学

到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,也懂得集体团队的重要性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在黄老师的辛勤指导下,终于游逆而解。同时,在黄老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

c语言课程设计运动会比赛计分系统(含任务书)

一、课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。 (6)熟练掌握C语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。 二、课程设计名称及内容 课程设计名称:运动会比赛计分系统 设计内容:设计一个运动会比赛计分系统,该系统要求对运动会比赛得分进行管理和维护。 三、任务和要求 要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种: (1)取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1; (2)取前3名:第一名得分5,第二名得分3,第三名得分2; (3)用户自定义:各名次权值由用户指定。 四、设计方案提示

(1)界面 系统以菜单方式工作 (2)输入数据并存入文件 使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。对输入的信息进行合法性判断,直到输入正确为止。都输入完成后,调用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。 (3)显示所有记录 将文件中的所有记录以表格的形式输出。如果文件未打开会出现“文件打开失败!按任意键返回...”,关闭文件。 (4) 查询 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。 二:算法设计: 信息输入模块、比赛结果录入模块以及查询模题目的总体要求是要建立三个模块:信息输入模块、建立三个模块块。在建立完之后,要求该程序能够在用户将各种必要的信息记录之后,用户可以查询所有学校的比赛成绩,而且也可以生成团体总分表,查看参赛学校信息和比赛项目信息等一切录入的信息,为此,要示编程人员能通过一些具体的程序将以上的功能加以实现。在建立三个模块的大前提下,我们将采用结构体,循环体,指针和各种函数来实现这种功能,在数据结构体中,要采用结构体数组,其中包括学校、项目、运动员三个结构体。学校结构体成员包括学校校名、竞赛项目、得分项目结构体成员包括项目名、权值。(1)在此程序中,包括几个头文件:mainfile.h; dos.h; conio.h; momery.h; 接下来,定义全)局变量,其中包括“参赛学校项目数N;男子项目数M;女子项目数W;参赛学校g_school; 竞赛项目g_sport; 各名次链表指针ptrHead,ptrThis,ptrNew; 总体设计:系统设计为信息输入模块、比赛结果录入模块和查询模块三个模块。总

c语言课程设计总结报告

附表2 C++(或C)语言课程设计总结报告

源代码: /* 学生通讯录管理系统,能够实现对通讯录的内容进行创建、显示、查询、删除以及修改等功能*/ # include # include # include

# include # define N 100 void myprint(); void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n); void mydisplay(char num[N][12],char name[N][12],char tel[N][15],int n); void mysearch(char num[N][12],char name[N][12],char tel[N][15],int n); void mydelete(char num[N][12],char name[N][12],char tel[N][15],int *n); void mymodify(char num[N][12],char name[N][12],char tel[N][15],int n); /* 主函数*/ void main() { char choose,yes_no,num[N][12],name[N][12],tel[N][15]; int n=0; do{ myprint(); choose=getch(); switch(choose) { case '1':mycreate(num,name,tel,&n); break; case '2':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mydisplay(num,name,tel,n); break; case '3':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mysearch(num,name,tel,n); break; case '4':if(n==0) { printf("\n 无记录,请创建通讯录!\n"); break; } mydelete(num,name,tel,&n);

C语言课程设计任务书

信息科学与工程学院综合设计报告书课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师:

目录 ( 一) 需求分析..................................... . 2-3 1.设计题目; 2.用户操作流程; 3.数据处理流程; (二)概要设计......................................4-5 1.系统总体设计框架; 2.系统功能模块图; (三)详细设计.....................................5-11 1.主要功能模块的算法设计思路; 2.工作流程图; (四)主要源程序代码...............................12-21 1.完整源程序清单及关键注释; (五)调试分析过程描述.............................21-24 1.测试数据、测试输出结果; 2.对程序调试过程中存在问题的思考; (六)课程设计小结.................................24-25 1.包括课程设计过程中的学习体会与收获; 2.对C语言和本课程设计的认识以及自己的建议等内容。

一、需求分析 1、设计题目: 编程实现以下功能: (1)分别输入一元多项式pn (x)和Q n (x)。 从键盘输入一元多项式中各项的系数和指数,并用单链表 加以表示。 (2)分别对一元多项式pn (x)和Q n (x)进行升幂排序。 将一元多项式中各子项按照指数从小到大的顺序排序。 (3)分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数 和指数。 (4)任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 (5)已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x) 和T n (x), 并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) 2、用户操作流程: (1)进入欢迎及界面。

C语言课程设计报告-模板

C语言课程设计报告 班级:16 物联网 一、题目说明 (1)读取输入信息,能正确进行数字运算

(2)拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。(3)*键作为清0键,清除当前屏幕上的值为0表示重新开三、设计流程(可以画流程图,可以直接写说明)

四、代码 #include #include #include #include double yunsuan(double a, char operate, double b); //处理数值之间的运算void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)·\n"); while(1){

fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history 中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n");

c语言课程设计报告书

课程设计报告书 所属课程:c语言 项目:库函数模拟系统 指导老师:邹姝稚 班级:软件1401 姓名:江闯 学号:141403107 分数:

1.任务描述: 本系统开发的代码模拟了下列库函数的功能: (1).模拟gets和puts的功能:能接收一个字符串,将其写入ASCII文件,并且可以读出显示。 (2).在不使用字符串库函数的条件下,编程实现字符串的拷贝,连接,求长,倒置功能。 (3).字符串加密功能:将一段明文建立到一个ASCII文件中,按加密的算法加密后写入密文文件,最终实现将明文和密文文件都显示出来。 (4).编程实现字符串与对应数字的相互转换功能。 2.总体设计: 模块调用图: 图1

函数调用图: 图2 函数功能: (1)函数gp( ):模拟gets和puts的功能 (2)函数kaobei( ):实现字符串的拷贝 (3)函数lianjie( ):实现字符串的连接 (4)函数qiuchang( ):实现字符串的求长 (5)函数daozhi( ):实现字符串的倒置 (6)函数jiami( ):实现字符串的加密功能,最后将明文和密文文件都显示出来 (7)函数zhuanhuan1( ):将数字字符串转换为对应的数字 (8)函数zhuanhuan2( ):将数字转换为对应的数字字符串 3.详细设计: (1).模仿gets和puts功能: gets和puts功能与scanf和printf函数的功能相似,但是也不是完全相同,本系统模拟功能的程序总共运用了两次函数调用技术,模拟gets运用了一次,模拟puts运用了一次。 (2)..字符串的拷贝功能: 字符串的拷贝功能程序设计源于strcpy的功能,其中运用了字符串数组和指针的相关技术,还运用了一组while语句,实现语句的循环,从而将一个字符串拷贝到一个空数组中。

C语言课程设计任务书

C语言课程设计任务书1 题目:学院教学信息管理系统 功能:学院教学信息管理系统,每一条记录包括一位教师的职工号、姓名、职称、性别、3门课程,教学效果综合评分。系统要求实现以下功能: 1、输入:输入每一位教师记录,将其信息写入文件中。 2、显示:显示每位教师记录。 3、排序:按职工号或教学效果综合评分进行排序,并显示。 4、查找:完成按姓名或课程查找教师的相关记录,并显示。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数。 2、建立一个文件,将每位教师的相关(教学)信息写入文件中并能显示于屏幕上。 3、完成排序(按职工号、姓名、职称等)、查找等功能。 要求:1、用C语言实现程序设计; 2、利用结构体数组实现教师信息的数据结构设计; 3、系统的各个功能模块要求用函数实现; 4、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。 C语言课程设计任务书2 题目:酒店房间登记与计费管理系统 功能:1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。 2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要 在登记的入住的时候进行选择。 3、在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立房间列表,完成登记入住、查询房间入住情况功能。 3、进一步要求:完成计费和费用查询功能。 要求:1、用C语言实现系统; 2、系统的各个功能模块要求用函数实现; 3、界面友好(良好的人机交互),程序加必要的注释。 课程设计实验报告要求: 1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。 2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、 小结等。

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

c语言课程设计报告(日程表)1

上海应用技术学院 课程设计2012-2013学年第二学期 设计题目:日程管理

1.课程设计任务书 上海应用技术学院课程设计任务书

指导教师(签名):教研室主任(签名):2013年7月1日2013年7 月12日

目录: 1.课程设计任务书**************2 2.目的及要求******************6 2.1课程设计目的 课程设计要求 3.课程设计内容说明************7 .程序功能介绍 程序设计整体设计说明 数据结构设计 程序结构设计 程序子程序及功能设计 函数主要调用关系图 各模块流程图 4.运行结果*******************17 5.源程序代码分析*************31 6.课程设计感悟***************42

2.目的及要求 课程设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1)巩固和加深学生对C语言课程的基本知识的理解和掌握; 2)掌握C语言编程和程序调试的基本技能; 3)利用C语言进行基本的软件设计; 4)掌握书写程序设计说明文档的能力 5)提高运用C语言解决实际问题的能力。 课程设计要求 1)分析课程设计题目的要求; 2)写出详细设计说明; 3)编写程序代码,调试程序使其能正确运行; 4)设计完成的软件要便于操作和使用,有整齐、美观的使用界面; 5)设计完成后提交课程设计报告和源代码文件的电子文档。

3.课程设计内容说明 .程序功能介绍 本系统的主要功能是实现日程表的管理,有添加日程,删除日程,查询日程,显示日程,设置日程,修改日程,日程排序,读取日程,保存日程的功能。每个日程的信息包括:日程时间,日程名称,日程详情,日程提醒,日程标记。 程序设计整体设计说明 本系统的主函数是整个程序的核心,子函数之间也是有联系的,对日程的删除,查询,显示,修改,保存,必须是在添加了日程,或者读取了日程的情况下进行的。一些基本操作在子函数中多次重复使用,即可单独设定函数,多次调用即可。 运行程序开始后进入主菜单,用户即可选择选择要进行的操作,例如,1为添加日程,用户需输入相应信息。选择2为删除日程,按照日期或者名称选中相应日程后,可以删除日程或者日程设置。等等功能。当选择不存在时提示用户选择错误并提示重新选择。 题目要求 . 设计要求 基本功能: 添加日程信息; 删除日程信息; 查询管理; 设置管理; 拓展功能: 日程信息的修改; 设置修改; 设置删除; 创新(自拟)功能: 程序实现的其它功能由个人自拟。 . 设计要求具体说明

c语言课程设计报告+学生成绩信息管理系统+源代码

实验报告 一、问题陈述及其需求分析 (一)问题陈述 学生信息管理系统是对学生信息的基本管理,其中包括以下及模块: (1)增加一个学生的信息(需输入要增加学生的所有信息); (2)统计本班学生总人数及男女生人数。 (3)分别按照学号查找学生的信息;若找到则输出该学生全部信息,否则输出查找不到的提示信息。 (4)按学号对所有学生信息排序,并输出结果; (5)删除一个学生的信息(需指定要删除学生的学号);同时显示删除后的结果。( 二) 功能需求分析 学生信息管理系统设计 学生信息包括:学号,姓名,性别,出生年月,电话 使之提供以下功能: 1、系统以菜单方式工作 2、建立链表并显示 3、插入新的学生信息 4、删除某学号的学生信息 5、查找某学号的学生信息 6、对学生信息排序 7、统计学生人数 8、输出学生信息 二总体设计 (一)模块 依据程序的数据结构,描述该程序的层次结构,如下图:

1、建立链表并显示 void createlist(struct stucode **r); 2、插入新的学生信息 void insert(struct stucode **r); 3、删除某学号的学生信息 void del(struct stucode **r); 4、查找某学号的学生信息 void search1(struct stucode *r); 5、对学生信息排序 void sort(struct stucode **r); 6、统计学生人数 void search2(struct stucode *r); 7、输出学生信息 void out(struct stucode *r);

c语言课程设计的心得体会

c语言课程设计的心得体会 通过这次c语言的课程设计,我明白了很多也知道了很多,更收获了很多。在课程设计的过程中出现过困难,三周的课程设计已经结束了。回想学习c语言的过程中,既有快乐又有烦恼, 回顾这次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论和知识是远远不够的,只有把所学的理论知识与实际相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。在设计的过程中遇到的问题,这毕竟独立做的,难免会遇到各种各样的问题,同时在设计的过程中发现自己的不足之处,对以前所学的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识从新温故。这次课设终于顺利完成了,在设计中遇到了很多编程问题 做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对于我们c语言初学者来说,已经很不容易了。这次体验为以后的

学习计算机的我们增强了信心。享受劳动成果的滋味实在美妙啊! 很感谢这次的课程设计,它使我更加地体会到多看专业书的重要性,只有掌握了一定量的专业知识才能得心应手地解决诸多问题;另外,在做任何事倒要有耐心,不要一遇到困难就退缩;在学习和工作中要时刻谨记“团结”二字,它好比通向成功的铺路石,不可或缺。 人生的道路是曲折的,但正是因为曲折人生才光彩夺目,在人生的道路上,总遇到重重困难,但正是因为困难我们才变得更坚强。今后的路还很长,面对困难,让我们用行动去俘虏它吧!

c语言课程设计心得体会

c语言课程设计心得体会 网最近发表了一篇名为《c语言课程设计心得体会》的范文,觉得应该跟大家分享,希望大家能有所收获。 在这为期半个月的时间内,通过我们小组各成员之间的相互讨论和合作,我们完成了学生信息管理系统的程序设计,更值得高兴的是我们的程序得到了大家的喜爱,在每次的简报中都得到了较好的成绩。 虽然在上个学期中,我们已经学习了《c 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。 c语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,网并在实践中解决这些问题,不断提高自己转化知识的能力。 在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我

们同学之间的友谊。为了增大信息的安全性,需要用文件来存储信息,由于我们在上课时不注重对文件的运用,所以在这方面有较大的困难。我先将书本认认真真地看了一遍,又做了一下课后习题来验证和增进自己的理解,终于,经过我们的不懈努力,我们小组的程序有了突破,成功地实现了用文件来保存并查看学生的信息。 这次设计中,我的收获还有就是学会了用流程图来表达自己的想法,并根据流程图来逐步实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的根据自己的想法画出图来,后来画多了,就更加了解它的功能,十分得心应手,能够比较快而准确的画出来。 在这次课程设计中,范文内容地图我们首先对系统的整体功能进行了构思,然后用结构化分析方法进行分析,将整个系统清楚的划分为几个模块,再根据每个模块的功能编写代码。而且尽可能的将模块细分,最后在进行函数的调用。我们在函数的编写过程中,我们不仅用到了for循环、while循环和switch语句,还用到了函数之间的调用(包括递归调用)。由于我们是分工编写代码,最后需要将每个人的代码放到一起进行调试。因为我们每个人写的函数的思想不都一样,所以在调试的过程中也遇到了困难,但经过我们耐心的修改,终于功夫不负有心人,我们成功了! 当然,我们的程序还有一些不完善的地方,比如说,当输入的数据不符合我们定义的数据的格式的时候,程序会出现一些错

C语言课程设计任务书

信息科学与工程学院综合设计报告书 课程名称:C语言课程设计 班级: 学号: 姓名: 指导教师:

目录 (一) 需求分析......................................2-3 1.设计题目; 2.用户操作流程; 3.数据处理流程; (二)概要设计......................................4-5 1.系统总体设计框架; 2.系统功能模块图; (三)详细设计.....................................5-11 1.主要功能模块的算法设计思路; 2.工作流程图; (四)主要源程序代码...............................12-21 1.完整源程序清单及关键注释; (五)调试分析过程描述.............................21-24 1.测试数据、测试输出结果; 2.对程序调试过程中存在问题的思考; (六)课程设计小结.................................24-25 1.包括课程设计过程中的学习体会与收获; 2.对C语言和本课程设计的认识以及自己的建议等内容。

一、需求分析 1、设计题目: 编程实现以下功能: (1)分别输入一元多项式pn (x)和Q n (x)。 从键盘输入一元多项式中各项的系数和指数,并用单链表加以表示。 (2)分别对一元多项式pn (x)和Q n (x)进行升幂排序。 将一元多项式中各子项按照指数从小到大的顺序排序。(3)分别输出一元多项式pn (x)和Q n (x)。 将用单链表表示的一元多项式输出,即打印多项式的系数 和指数。 (4)任意输入一个实数x0,分别求出一元多项式pn (x0)和Q n (x0)的值。 (5)已知有两个一元多项式分别为Pn (x)和Qn (x),求出两个多项式的和 R n (x)和差T n (x),分别用单链表表示R n (x)和T n (x), 并将二者输出, (R n (x)=P n (x)+Q n (x),T n (x)=P n (x)-Q n (x)) 2、用户操作流程: (1)进入欢迎及界面。

C语言课程设计实验总结报告

C语言课程设计实验总结报告

C语言课程设计实验总结 一、需求分析: 1.需求概述 设计一个职工信息管理系统,使之能提供以下功能: (1)职工信息录入功能 (2)职工信息浏览功能 (3)职工信息删除功能 (4)职工信息修改功能 (5) 职工信息查询功能 2.需求说明 (1)职工信息包括:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话,而且职工号要求不重 复。 (2)录入的职工信息要求用文件形式保存,并对其进行浏览、查询、修改、删除等基本操作。 (3)对职工的信息分别按职工号、性别、姓名、工资四种方式进行查询,并返回所有符合条件的职工信息。 (4)对职工信息的修改应该逐个进行,一个职工的信息修改不应影响其它职工的信息。 (5)所设计的系统应以菜单的方式工作,应为用户提供

清晰的使用提示,依据用户的选择进行各种处理, 并要求在此过程中能够尽可能的兼容用户使用过程 中的异常情况。 二、总体设计 1.功能划分 该系统能够按功能进行模块划分,如下图所示: 其中: (1)菜单选择模块完成用户的选择,此模块也是职工信息管理系统的入口,用户所要进行的所有操作需要在此模块中选择,并调用相对应的模块实现相应的功能。(2)信息输入模块完成信息的录入功能,输入的信息包括:职工号、姓名、性别、出生年月、学历职务、工资、住址、电话。 (3)信息浏览模块完成对所有的职工的信息的显示。(4)信息查询模块分四种查询方式:按职工号查询、按性别查询、按姓名查询、按职务查询。而且输出相对应

且符合要求的职工信息。 (5)信息修改模块完成的是职工信息的修改功能。 (6)信息删除模块完成的是职工信息的删除功能。 2.数据结构 本系统中的主要数据结构为职工的信息,其中包含:职工号、姓名、性别、出生年月、学历职务、工资、住址、 电话等,其中的出生年月用结构体表示,其中又包含: 出生的年份、出生的月份、出生的日期。 3.程序流程 系统的执行应从功能菜单的选择开始,依据用户的选择进行后续的处理,直到用户选择退出系统为止,其间应对用 户的选择做出判断及异常处理。系统流程图如下图所 示:

相关主题