文档库 最新最全的文档下载
当前位置:文档库 › c++课程设计题目(分析)

c++课程设计题目(分析)

c++课程设计题目(分析)
c++课程设计题目(分析)

1、设计一个模拟选课系统

问题描述:假定有30门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,学分,额定选课人数(每门课选课不超过40人),实际选课人数。学生可按要求(如总学分不得少于40)自由选课(如果某门课的实际选课人数=额定选课人数,不允许选课)。每个学生信息包括学号,姓名,选取课程(每个同学可选课程不超过8门课),实际选课门数(不一定选满8门课)。

试设计一选修课程系统,使之能提供以下功能:

(1).学生端:由学生进行操作,此操作包括查询课程信息(按学分查询,按课程性质查询),学生选课(不支持重复选课,即一门课被同一个同学选择多次),退课,查询选课情况等

(2).管理端:由管理员进行操作,此操作包括增加/删除学生、课程,填写成绩(以课程为单位,分别填写某门课程的考试成绩),更改学分,查询某门课的选课情况

要求:

(1)系统以菜单方式工作(字符界面即可,界面给出操作提示,如下所示,以下各题要求相同。也可以采用Visual图形界面完成。)

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

* 1.…*

* 2. …*

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

(2)创建文件,将信息以文本文件的形式进行保存。(建立课程文件,存储课程信息;建立学生文件,存储学生信息;建立选课文件,存储选课结果(课程号,学生号,成绩);根据需要,创建其他文件)

2、银行账户管理程序

问题描述:设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址,存、取款记录(日期,金额,类型(存,取)。由于没有学链表,所以可以定义一个数组存储改信息)等;允许用户进行如下操作:开户、销户、存款、取款、转账、查询(某个账户的信息,某个用户的所有帐户的信息),一个用户可以有多个户头,账户的数值不超过10000个(注:因没有学习链表,所以此处只能作此限制)。

基本要求

程序运行时,可以由用户选择进行何种操作,开户操作要求输入用户信息后自动获取账号(帐号应连续编号),用户销户后账号被回收,并且该账号可以继续分配给其它账户,不允许用户透支,根据姓名或账号可以进行用户的信息查询,所有的账户信息应存放到一个文件中,可以随时的访问和更新。

测试数据

程序应输入不少于10人的账户信息,应考虑到人员同名的情况。

实现提示

定义一个文件,记录银行工作的流水信息。

可定义一个账户类(count)存放账户信息以及执行相应的操作,可以用另外一个类(数据成员为count数组,数组中的数据与流水文件相关)来管理账户。

3、单项选择题标准化考试系统设计

问题描述:设计一个单项选择题标准化考试系统,该系统要求能自动组卷和评分

功能要求:

(1)用文件保存试题库(每个题目包括题干,四个备选答案,标准答案,分值。试题库中题目数量不超过1000道题),及学生信息(包括姓名,学号,成绩(成绩初值为0),)(2)管理员可以进行

题目录入:可随时增加试题到试题库中

组卷:每次考试之前从试题库中随机抽取N到题目组成试卷

学生信息维护(添加,删除)

成绩单打印:在显示器显示成绩单

(3)学生端可以进行

答题,答题结束后,显示本次考试成绩

实现分析:

建立四个文件,分别存放题库,学生信息,生成的试卷,学生的考试的分文件。

(2)管理员可以进行

题目录入:可随时增加试题到试题库中

操作提示:将试题库中的文件依次读入数组中,在数组中进行题目的添加。

组卷:每次考试之前从试题库中随机抽取N到题目组成试卷

操作提示:利用rand()函数生成一个随机数,见下面的例子

#include

#include

#include

using namespace std;

int main()

{

srand(time(0));

bool select[10]={0};

int result[10];

int count=0,j;

while(count<10)

{

j=(int)(10.0*rand()/(RAND_MAX+1.0));//产生1~10之间的随机数

if(select[j])

continue;

result[count]=j;

select[j]=1;

count++;

}

return 0;

}

学生信息维护(添加,删除)

操作提示:将学生文件中的信息读入数组中。在数组中进行添加、删除操作。

成绩单打印:在显示器上显示成绩单

操作提示:将学生得分文件中的信息读入数组中。并显示数组中的信息。

(3)学生端可以进行

答题,答题结束后,显示本次考试成绩

操作提示:将管理员生成的试题文件中的数据(每一个题目包含所有的信息,即题干、四个选项、正确答案、分值)读入数组中。依次显示每道题目,开始答题。每题答题结束后,将答案与备选答案进行比较,统计得分。做完试卷后,提交学生的得分(以app方式将考试结果追加到文件中)。

4、公司员工管理系统

问题描述:公司由雇员组成。管理系统需要存储雇员的姓名,性别,所在部门,并完成工资的计算。其中,雇员分为经理,技术人员,销售人员和销售经理。四类人员的月薪计算方法如下:经理拿固定月薪,技术人员按小时领取月薪,销售人员按其当月销售额的提成领取工资,销售经理领取固定月薪和销售提成。

功能要求:

1).员工的管理(增加,删除)

2).浏览:显示所有员工的信息

3). 查询某一员工的信息,分类查询

4). 统计功能。能根据多种参数进行统计,例如,统计四类人员的数量以及总数,统计男女员工的数量,统计平均工资,最低工资,最高工资

员工信息要求以文本文件的形式保存。

操作分析:

定义一个基类,表示雇员,数据成员包括,姓名,性别,所在部门,工资。

在此基础上,

定义派生类:经理类。

定义派生类:技术员类。新增数据成员包括小时工资,工作时间(以小时为单位)

定义派生类:销售人员,新增数据成员销售额(按照销售额的1%领取工资)。

定义派生类:销售经理(是经理类和销售人员类的派生类,注意使用虚基类)。

可以使用四个文件存储每类人员的信息,也可以使用一个文件存储所有人的信息(此时需要在基类中存储员工的类型信息以利于后面的统计工作。)

5、库存管理系统设计

问题描述:超市中商品分为四类,分别是食品,化妆品,日用品和饮料。每种商品都包含商品名称,价格,库存量。

功能要求:

1)进货功能(买入)。按要求添加相应商品信息到库存中,添加进货日期,进货价格

2)出货功能(卖出)。出货时,先输入商品类别,然后输入商品名称。如果有库存量,输入出货的数量,出货日期,出货价格,计算销售额和利润。

如果库存量不够,给出提示信息,出货结束。

3)统计功能

输出当前库存中所有商品的总数及详细信息,统计每种商品每天的销售额

和利润,输出统计信息时,要按利润从小到大进行排序

4)商品简单管理功能

查询:可按商品类别,商品名称,进货日期进行查询(可以查询入库信息,

出库信息及库存信息)

删除:在库存中删除指定的商品,并在出库记录中进行该厂品的出库操作

操作提示:

定义一个文件,记录入库信息(商品类型,商品名称,商品购入价格,购入数量,入库时间。这是一个流水文件)

定义一个文件,记录出库信息(商品类型,商品名称,商品售出价格,售出数量,出库时间。这是一个流水文件)。

定义一个文件,记录库存信息。(商品类型,商品名称,库存数量(入库时,增加,出库时,将少。假设商品永不过期。),平均购入价格(同一种商品,不同批次的购入价格不同,所以此时记录平均的购入价格))

定义一个入库商品类in_goos,定义一个in_goods_list(对应于一个入库流水文件)

定义一个出库商品类out_goos,定义一个out_goods_list(对应于一个出库流水文件)

定义一个库存商品类goods,定影一个goods_list(对应于库存文件。)

在此基础上,定义一个派生类,表示进货类

定义一个派生类,表示一个出货类,

大一C语言课程设计题目

课 程 设 计 任 务 书 信息工程与自动化 学院 计算机科学与技术 专业 2011 年级 学生姓名: 课程设计题目: 程序设计语言课程设计 课程设计主要内容: 一、 基础程序设计: 本设计部分主要完成与链表操作相关的基本运算,其中包含:链表的建立、链表的输出、链表的插入、链表的删除等运算。. 二、 综合程序设计: 该部分主要是培养学生在程序编写方面综合能力的训练,学生选作其中的一至二题程序的编写与实施。 1、设计统计任意文本字数的程序(张力老师组必做): 要求包括:中英文文本的:中文字数、数字数目、英文字符数、英文单词数及其他符号。 2、车票订购统计系统(张力老师组必做): 下图是昆明——北京的沿途车站与票价: 请用C 语言为之开发一个售票程序,要求如下: (1)乘客购票时用菜单选择起点站和终到站。如果选择的起点站和终到站为同一个站则报错,程序退出。 (2)选好起点站和终到站之后,通过调用函数int BuyTicket() 为之计算票价和里程,并在屏幕上显示出来。 (3)用文件类型存储每一次售票记录,包括:售票流水号,起点站,终点站,里程,金额等数据,并统计所有存储记录的总售票金额及各站的旅客流量(进站流量+出站流量)。 3、万年历的设计: 要求: 模仿现实生活中的挂历,能够显示年历、月历、日历,并具备退出功能。 当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。 当系统日期变到下一月时,系统自动翻页到下一月。 4、通讯录管理系统:

制作一个通讯录程序,该程序具有查找、添加、修改、删除功能。通讯录包括:姓名,电话,街道,城市,省,邮编等。 模块设计参考: 第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。 第二个模块——Menu()的功能是:显示英文提示选单。 第三个模块——Quit()的功能是:退出选单。 第四个模块——Create()的功能是:创建新的通讯录。 第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。 第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。 第七个模块——Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。 第八个模块——Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。 第九个模块——List()的功能是:显示通讯录中的所有记录。 设计指导教师(签字): 教学基层组织负责人(签字): 年月日

C语言程序设计课程设计题目

1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式

进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

课程设计实验报告

竭诚为您提供优质文档/双击可除 课程设计实验报告 篇一:课程设计(综合实验)报告格式 课程设计报告 (20XX--20XX年度第一学期) 名称:题目:院系:班级:学号:学生姓名:指导教师:设计周数: 成绩:日期:《软件设计与实践》课程设计计算机系软件设计与实践教学组 20XX年1月14 日 《软件设计与实践》课程设计 任务书 一、目的与要求 1.了解网络爬虫的架构和工作原理,实现网络爬虫的基本框架;2.开发平台采用JDK1.60eclipse集成开发环境。 二、主要内容 1.了解网络爬虫的构架,熟悉网页抓取的整个流程。

2.学习宽度优先和深度优先算法,实现宽度crawler应用程序的编写、调试和运行。 3.学习主题爬行及内容分析技术。 4.实现网络爬虫的基本框架。 三、进度计划 四、设计成果要求 1.要求按时按量完成所规定的实验内容; 2.界面设计要求友好、灵活、易操作、通用性强、具有实用性; 3.基本掌握所采用的开发平台。五、考核方式 平时成绩+验收+实验报告。 学生姓名:于兴隆指导教师:王蓝婧20XX年1月2日 一、课程设计的目的与要求1.目的: 1.1掌握crawler的工作原理及实现方法;1.2了解爬虫架构; 1.3熟悉网页抓取的整个流程及操作步骤; 1.4掌握宽度优先,深度优先算法,并实现宽度crawler 应用程序的编写、调试和运行;1.5掌握主题爬行及内容分析技术;1.6实现一个最基础的主题爬虫的过程;1.7理解pageRank算法,并编程验证;二、设计正文 网络爬虫研究与应用 [摘要]:本文通过对网络爬虫研究的逐步展开,讨论了爬虫的相关概念与技术,并通过实验设计了简单的基于宽度

《C语言课程设计》实验报告

《C语言课程设计》报告 学院:信息工程学院 专业:信息管理与信息系统设计题目:通讯录程序设计班级:2016级一班 学号:201601510138 姓名:张进步 指导教师:杨菲菲 时间:12.24

学生通讯管理系统 1.1 设计目的 学习如何实现一个复杂的信息管理系统——学生通讯管理系统,能够实现老师对学生基本信息的记录、查询、修改。 通过本次学习,读者能够掌握: (1)如何设计主菜单和子菜单,以及各级菜单的响应与返回操作; (2)如何合理设计不同的结构体对系统中多个实体进行封装; (3)如何合理设计多个结构体数组管理不同实体对应的数据; (4)如何对复杂的函数过程进行拆分,用多个子函数进行封装; (5)进一步熟悉文件读取的相关操作。 1.2需求分析 本章的学生信息管理系统的主要功能面向老师,能够实现对学生信息进行录入、修改、查询。 学生信息方面的功能需求如下。 (1)新增学生信息,包括姓名、籍贯、电话号码(2)、电子邮箱。 (2)修改学生信息,可以选择对某个学生的某个属性值进行修改。 (3)查找学生信息,即输入要查找的学生学号,实现学生信息查询。 (4)显示所有学生信息,并以列表的形式清晰呈现。 1.3总体设计 系统功能结构图如图所示;学生信息管理系统 学生信息管理模块:包括4个子模块,分别是学生信息的录入,学生信息的修改,学生信息的查询,学生信息的浏览。

1.4详细设计与实现 1.4.1 预处理及数据结构 1.头文件 本项目涉及4个头文件,其中#include使用字符串的函数的时候需要添加此头文件,#include #include /*system使用的函数*/ #include /*getchar、getch函数使用的头文件*/ #include /*strcmp比较2个字符串是否一样*/ 2.宏定义 LEN sizeof(struct student)表示struct student的长度。DATA是按格式输出结构体的各项数据,能够方便输出操作,减少代码量。 #define_CRT_SECURE_NO_W ARNINGS #include #include #include #include #define LEN sizeof(struct student) #define FORMAT "%-8d%-15s%-15s%-15d%-15d%-15s\n" #define DATA stu[i].numb,stu[i].name,stu[i].nat,stu[i].num1,stu[i].num2,stu[i].mail 3.结构体 利用一个结构体struct student struct student/*定义学生信息结构体*/ { int numb;/*学号*/ char name[15];/*姓名*/ char nat[16];/*籍贯*/ int num1;/*电话号码1*/ int num2;/*电话号码2*/ char mail[40];/*邮箱*/ }; 4.全局变量 分别利用全局变量结构体数组struct student stu[50];来记录所有学生的基本信息,避免程序运行过程中多次初始化,方便各个式子函数调用。 struct student stu[50];

[C语言课程设计题目](丁海军)

C语言课程设计设计题 丁海军 本手册提供的设计题大致可分为为3类:第一类侧重于算法设计与实现;第二类侧重于文件操作。 (一)算法设计类题目 1. Fibonacci数列。Fibonacci数列的计算公式如下: fib(1) = 1; fib(2) = 1; fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n (1)简单变量“数据平移”方法计算Fibonacci数列的第n项(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。 (2)使用数组求出Fibonacci数列的第n项(正整数n通过键盘输入)并显示在屏幕上:说明数组f用来存放Fibonacci数列的各项之值,且仅初始化前两个元素f[0]=1,f[1]=1,而后通过f[i]=f[i-2]+f[i-1];依次计算出f[2]到f[n-1](注意f[n-1]恰为所要求出的第n项)并将该值显示在屏幕上。 2.编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。直到用户回答说不再继续做了时结束程序。 提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。 3.数的进制转换 (1)将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。 提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value 上,最后输出该value。 (2)如何把8进制数或16进制数化为10进制数。 (3)如何把某一个k进制的数化为10进制数呢? 4.编程序,输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。

C语言课程设计题目

C语言课程设计 题目1:学生成绩统计管理 1、输入一个班级的学生的基本信息(包括学号,姓名,性别,5门课程成绩)。 2、按姓名或者学号查找、修改、删除和保存各个学生的信息。 3、计算每个学生各门功课总分和平均分,按学号或总分排序输出每个学生 的基本信息及总分、平均分和名次。 4、计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生 的学号,姓名,性别,科目,成绩。 5、显示每门科目中,成绩在90分以上的学生信息,以及每门科目中不及格 的学生信息。 6、用菜单进行管理 7、只有正确输入用户名密码才能使用此系统。 8、所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。 题目2:物业费管理系统 1、新住户信息的添加。(户主姓名、性别、身份证号、联系电话、楼号、 单元号、房号、平米数、每平米物业价格、应缴纳物业费,备注信息) 2、修改住户信息的功能。 3、删除住户信息的功能。 4、应缴物业费自动生成。每月1号,自动生成本月份的物业费。如果该住 户之前的物业费未交清,则本月物业费与之前拖欠费用进行累加,为该 用户应缴纳的物业费。 5、缴费功能。根据用户缴纳金额,修改“应缴纳物业费”。 6、统计功能。 1)能够按楼号分类统计所有未交清物业费的记录。 2)能够按拖欠款项多少,对所有用户信息进行从大到小排序。 7、用菜单进行管理 8、只有正确输入用户名密码才能使用此系统。 9、所有内容能够保存到文件中。下次进入系统是从文件中读取原有信息。 题目3:会员卡计费系统 设计一个会员卡计费管理系统。 1、新会员登记。(将会员个人信息及此会员的会员卡信息进行录入。) 2、会员信息修改。 3、会员续费。(会员出示会员卡后,管理人员根据卡号查找到该会员的信 息并显示。此时可以进行续费,续费后,提示成功,并显示更新后的信 息。) 4、会员消费结算。(会员出示会员卡后,管理人员根据卡号查找到该会员 的信息,结算本次费用。提示成功,并显示更新后的信息。)累计消费 满1000元,及自动升级为VIP会员。之后每次消费给予9折优惠。 5、会员退卡。(收回会员卡,并将余额退还,删除该会员信息。) 6、会员卡挂失。(为该会员补办新卡,并将旧卡余额转至新卡。) 7、用菜单进行管理 8、统计功能。

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

华中科技大学计算机学院C语言课设实验报告

华中科技大学计算机科学与技术学院 《C语言程序设计》课程设计 实验报告 题目:科研项目信息管理系统 专业:计算机 班级: 学号: 姓名: 成绩: 指导教师:李开 完成日期:2009年10 月20 日

科研项目信息管理系统一、系统功能结构模块图 二、数据结构设计及其用法说明 typedef struct lakey{ char name[30];/*团队名称*/ int total;/*自然科学基金的科研项目数*/ float dudu;/*经费数*/ struct lakey *next; }*plakey;/*统计3中用到的数据结构*/ typedef struct emmey{ char name[30];/*团队名称*/ int teacher;/*老师人数*/ int harden;/*项目数*/ float bizhi;/*比值*/ struct emmey *next; }*pemmey;/*统计4中用到的数据结构*/ typedef struct kPro{ char code[15];/*项目编号*/ char sort;/*项目种类*/ int aking1; char time[8];/*项目时间*/ float dudu;/*项目经费*/ int aking2;

char beiler[15];/*负责人*/ int aking3; char keynoName[30];/*所在团队名称*/ struct kPro *next; }harden,*pHarden; typedef struct Komo{ int teacher;/*老师人数*/ char name[20];/*院系名称*/ int student;/*学生人数*/ float bizhi;/*二者比值*/ struct Komo *next; }*pKomo;/*统计1中用到的数据结构,统计结果放在这个数据结构中*/ typedef struct kTea{ char name[30];/*团队名称*/ char beiler[15];/*负责人*/ int stuNum;/*学生人数*/ int aking2; int coco;/*老师人数*/ char colName[20];/*所在院系的名称*/ int aking1; struct kTea *next; pHarden child; }keyno,*pKeyno; typedef struct edward{ char name[20];/*院系名称*/ int totalnum;/*项目总数*/ int num973;/*973项目数*/ int num863;/*863项目数*/ float amount;/*经费数*/ struct edward *next; }*pedward;/*统计2中用到的数据结构*/ typedef struct kCol{ char name[20];/*院系名称*/ int aking; char beiler[15];/*院系负责人*/ struct kCol *next; char call[15];/*负责人电话号码*/ pKeyno child; }kekey,*pKekey;

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

C语言课程设计题目

C语言程序课程设计题目 一、程序设计题目:简单的学生成绩管理程序 程序设计功能及要求: (1) 总人数定义为宏,数据使用文件存放; (2) 输入学生姓名学号,及五门成绩,并计算每个学生五门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件并按格式打印在屏幕上。 ⑶ 统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件,并按格式在屏幕上打印; ⑷ 在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩; ⑸ 在开始画面加入简单的菜单便于选择各种功能。 例: 1学生条目输入 2 成绩统计 3分数段统计 4不及格学生筛选 ⑹文件格式要求 1.原始数据文件格式(具体数据和项目自行编写) 学号姓名英语C语言高等数学………….. 1 张三76 89 78 2 李四…. …. …. 2.输出数据文件(由程序自动生成) 1)学生综合成绩文件。 2)学号姓名英语C语言高等数学…………….平均成绩名次 1张三76 89 78 ………….. 2李四…. …. …. 3)统计结果文件。 4)分数段英语C语言高等数学…………………. <60 2 … 60~69 8 … 70~79 5 … 80~89 10 … ⑺加入优等生统计功能,要求按优等生条件筛选出优等生的条目存入单独文件,并输出到屏幕。 优等生标准(满足之一即可): 1 平均成绩上80。 2平均成绩及格但未上80,有单科成绩上90。 3平均成绩未及格,有单科满分。 二、程序设计题目:简单的同学通讯录程序设计 [问题描述]

具有数据插入、修改、删除、显示、查询和统计功能的电话簿管理程序。 [程序设计功能及要求] ⑴人数不定,数据使用文件存放。 ⑵记录每位同学的学号、姓名、性别、工作单位、电话号码和E-mail地址建立单独的条目,存入数 据文件。 ⑶可对记录中的姓名和电话号码等进行修改。 ⑷可增加或删除记录 ⑸可显示所有保存的记录 ⑹加入统计功能,可以统计男女同学或总人数。 ⑺加入查询功能,通过姓名、学号或电话号码查询到同学的条目。 ⑻在开始画面加入简单的菜单便于选择功能。 ⑼文件格式 1.储存数据文件格式 学号姓名性别工作单位电话号码E-mail 1 李四…. …. …. ⑽选做:加入文件加密系统,对储存数据文件进行简单的加密,要求通过直接打开储存数据文件无法获得其中的数据。但同时不影响程序对储存数据文件的调用。 [设计提示] 本程序建议采用结构体类型和文件系统实现。 三、程序设计题目:图书管理系统 [问题描述] 设计一个具有数据插入、修改、删除、显示和查询功能的图书管理程序。 [设计要求] (1)用户登录功能; (2)设计程序运行界面; (3)能用菜单选择各功能。 说明: (1)数据包括:书名、作者、书号、出版社、出版日期和单价; (2)可对图书信息修改; (3)可增加或删除图书信息; (4)可显示所有保存的图书信息; (5)可按书名、作者、书号或出版社进行图书信息的查询。 四、职工信息管理系统设计 1. 目的: (1)要求学生熟练掌握C语言的基本知识和编程技能; (2)基本掌握结构化程序设计的基本思路和方法; 2. 要求 基本要求: (1)试设计一个职工信息管理系统,使之能提供以下功能: (2)系统以菜单方式工作

C课程设计题目

C课程设计题目 一、工资管理系统 1、需求分析 工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现查找操作;另外还应该提供键盘式选择菜单以实现功能选择。 2、总体设计 整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。 3、详细设计 工资信息采用结构体数组: Struct Salary_Info { int Card_No; //工资卡号 Char name[20]; //姓名 int month; //月份 float Init_Salary; //应发工资 float Water_Rate; //水费 float Electric_Rate; //电费 float Final_Salary; //实发工资 }SI[MAX]; //SI[MAX]中每个数组元素对应一个职工工资信息 (1)主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。 (2)输入模块 按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息。 (3)添加模块 增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式。 (4)浏览模块 通过菜单选择按照工资卡号还是姓名浏览。如果按照卡号浏览,则显示的记录按照卡号升序输出;按照姓名浏览则按照字典序输出(调用排序模块的排序功能)。 (5)排序模块 排序模块提供菜单选择,实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。 (6)查询模块 实现按照工资卡号和姓名的查询,采用基本的查找方法即可。 二、学生学籍信息管理系统设计 1、需求分析 学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

89C51单片机课程设计之秒表设计实验报告

单片机课程设计报告 单 片 机 秒 表 系 统 课 程 设 计 班级: 课程名称:秒表设计 成员: 实训地点:北校机房 实训时间:6月4日至6月15日

目录 1课程设计的目的和任务 1.1 单片机秒表课程设计的概述 1.2课程设计思路及描述 1.3 课程设计任务和要求 2硬件与软件的设计流程 2.1系统硬件方案设计 2.2所需元器件 3 程序编写流程及课程设计效果 3.1源程序及注释 3.2原理图分析 3.3课程设计效果 4 心得体会

1. 课程设计的目的和任务 1.1单片机秒表课程设计的概述 一、课程设计题目 秒表系统设计——用STC89C51设计一个4位LED数码显示“秒表”,显示时间为000.0~9分59.9秒,每10毫秒自动加一,每1000毫秒自动加一秒。 二、增加功能 增加一个“复位”按键(即清零),一个“暂停”和“开始”按键。 三、课程设计的难点 单片机电子秒表需要解决几个主要问题,一是有关单片机定时器的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程;四是如何进行安装调试。 四、课程设计内容提要 本课程利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及课程箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本课程设计有三个开关按键:其中key1按键按下去时开始计时,即秒表开始键,key2按键按下去时数码管清零,复位为“00.00”. key3按键按下去时数码管暂停。 五、课程设计的意义 1)通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的 应用进一步的了解。 2)掌握定时器、外部中断的设置和编程原理。 3)通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。 4)该课程通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统, 拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义 1.2课程设计思路及描述

C语言课程设计题目汇总

目录 题目6:通讯录程序设计(限2人)........................................................................................................................................... 题目10:机房机位预定系统(限2人)..................................................................................................................................... 题目13:工资纳税系统............................................................................................................................................................. 题目41:条件编译.....................................................................................................................................................................

题目6:回文数的形成............................................................................................................................................................... 杨顺民题目 C语言程序课程设计题目 题目1:年历显示 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。(2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART” ,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”

个人信息管理系统毕业课程设计实验报告

(此文档为word格式,下载后您可任意编辑修改!) 山东交通学院 目录 1.系统分析 (2) 1.1系统需求分析 (2) 1.2项目规划 (2) 1.3系统功能结构分析 (3) 1.4设计目的分析 (3) 2.数据库系统设计 (4) 2.1数据表概要设计 (4) 2.2数据库逻辑结构设计 (4) 3.应用程序设计 (5) 3.1界面设置 (5) 3.2关键技术 (15) 4.系统安装 (20) 建立数据源 (20) 5.设计体会 (21) 参考文献 (22)

摘要 随着经济社会的发展,计算机已被应用到社会生活的各个领域。与此同时,互联网作为信息技术的通信桥梁连接着全球的计算机,而网站作为网络信息主要的表现形式而且还是互联网信息的主要承载者,在网络上表现出其及其重要的地位,并发挥着极其重要的作用。无论是在国内还是国外都得以迅速的发展和壮大,并被人们重视和关注。互联网已经彻底的改变了世界,互联网的世界里蕴藏着无限的可能,在这种情况下,各行各业及其个人、单位、工厂、企事业等等在网上构筑属于自己的网络信息平台,保护自己的网络资源并在互联网上开辟自己的市场和消费群体,以及构造自己的数字化世界和加强全球范围内不同地域的人们联系交流等等活动也就显的日益重要。于是各种各样的网站便如雨后春笋般地出现鱼龙混杂且良莠不齐。因此,个人信息的管理就显得尤为重要了。不仅可以更好的保护个人信息,对日常的使用也会提供很大的方便。关键词:个人信息管理系统;数据集;数据库;Visual C++6.0。 1.系统分析 1.1系统需求分析 在做本系统前,我对系统的需求做了如下分析: 1)登录权限:在登录权限的分析上我们规定必须凭借用户名和密码才可登陆,进行管理。 2)使用者功能:首先说明一下,我们的系统用户对象是个人。关于其本系统的功能,大致可分为日记管理,通讯录管理,备忘录管理,以及个人财务管理;日记管理,其中包括用户对日记编号,时间,地点,事件、人物的查询、

C语言课程设计参考题目 (1)

C语言课程设计参考设计题目 1、学生信息管理 (1)问题描述 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●学生信息录入功能(学生信息用文件保存)---输入 ●学生信息浏览功能——输出 ●查询、排序功能——算法 1、按学号查询 2、按姓名查询 ●学生信息的删除与修改(可选项) (2)功能要求 ●界面简单明了; ●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新 输入; ●最好用链表的方式实现。 (3)算法分析 首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。 对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。文件的读写操作大家参照书中的有关文件的章节。 2、学生综合测评系统 每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。 A、学生信息处理 (1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。 提示:学生信息可先输入到数组中,排序后可写到文件中。 (2) 插入(修改)同学信息: 提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容, (3) 删除同学信息: 提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删

c语言课程设计题目

附录1 供选择的C语言程序课程设计题目 第一类题目应用类 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。(2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART” ,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 。

题目3 运动会比赛计分系统 要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数 各项目名次取法有如下几种: 取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2; 功能要求: (1)系统以菜单方式工作 (2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。 (3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩 (4)查看参赛学校信息和比赛项目信息等。 题目4:学生学籍管理系统 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目5:排班系统 学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下: 钱:星期一、星期六 赵:星期二、星期四 孙:星期三、星期日 李:星期五 周:星期一、星期四、星期六 吴:星期二、星期五 陈:星期三、星期六、星期日 运行结果: Solution: 1 赵钱孙李周吴陈 ============================================================= 星期四星期一星期三星期五星期六星期二星期日 Solution: 2 赵钱孙李周吴陈 ============================================================= 星期四星期一星期日星期五星期六星期二星期三 Solution: 3 赵钱孙李周吴陈

相关文档