C语言程序设计题[2023-01-22]
第一题:职工工资管理系统
1、需求分析:工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现查找操作;另外还应该提供键盘式选择菜单以实现功能选择。
2、总体设计:整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。
3、详细设计
职工工资表包括:工号、姓名、基本工资、职务工资、岗位津贴、特殊津贴、月工资等。
(1)主函数:提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。
(2)输入模块:按照工号、姓名、基本工资、职务工资、岗位津贴、特殊津贴的顺序输入信息。
(3)添加模块:增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式。
(4)删除模块:删除某职工工资信息,把该职工信息从原来的输入文件删除。
(5)修改模块:修改某职工工资信息,把修改后的职工信息写入到原来的输入文件中。
(6)浏览模块:通过菜单选择按照工资工号还是姓名浏览。 如果按照工号浏览, 则显示的记录按照工号升序输出;按照姓名浏览则按照字典序输出(调用排序模块的排序功能)。
(7)排序模块:排序模块提供菜单选择,实现按照工资工号升序、姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。
(8)查询模块:实现按照工资工号和姓名的查询,采用基本的查找方法即可。
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
第二题:通讯录管理系统
1、需求分析:信息记录要存放到文件中去,因而要实现文件的输入输出操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或电话号码进行查询的功能,因而要提供查找操作;另外还应该提供键盘式选择菜单以实现功能选择。
2、总体设计:整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。
3、详细设计:
第一个模块——主函数main()的功能是:根据选单的选项调用各函数,并完成相应的功能。
第二个模块——Menu()的功能是:显示英文提示选单。
第三个模块——Quit()的功能是:退出选单。
第四个模块——Create()的功能是:创建新的通讯录。
第五个模块——Add()的功能是:在通讯录的末尾,写入新的信息,并返回选单。
第六个模块——Find()的功能是:查询某人的信息,如果找到了,则显示该人的信息,如果未找到,则提示通讯录中没有此人的信息,并返回选单。
第七个模块——Alter()的功能是:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
第八个模块——Delete()的功能是:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
第九个模块——List()的功能是:显示通讯录中的所有记录。
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
第三题:人事档案管理系统
1、需求分析:人事档案信息采用文件存储,因而要提供文件的输入输出操作;根据某单位人事的变动情况,添加删除记录,因而要提供文件的添加删除操作;根据编号和姓名进项查询,所以要提供文件的查找操作;高级编辑功能,就是提供文件的修改操作;统计功能要提供统计操作; 排序功能要提供用排序算法对文件记录的排序; 另外还要提供键盘式选择菜单以实现功能选择。
2、总体设计:整体设计为数据输入模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。
3、详细设计
数据结构采用结构体:
struct personnelArchiveInfo {
char No[10]; //编号
char name[10]; //姓名
int sex; //性别
int age; //年龄
char job[10]; //职务
char post[10]; //职称
char politic[10]; //政治面貌
char edu_level[10]; //最高学历
char period[10]; //任职时间
char start_time[10]; //来单位时间
char type[10]; //人员类别
}PAInfo;
(1)数据输入模块:把员工信息写入人事档案文件。
(2)数据添加模块:用追加的方式把新增员工信息写入人事档案文件。
(3)数据删除模块:根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃,不再写入文件;否则重新写入文件。
(4)数据查询模块:把编号和姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。
(5)数据修改模块:查找要修改的记录,修改之。先读记录,若是要修改的记录,则修改信息,把修改后的信息写入文件;否则直接写入文件。
(6)数据排序模块:通过菜单选择年龄或者来单位时间, 把数据从文件中读出来, 任意选择一种排序算法对记录进行排序,输出排序结果。
(7)数据统计模块:通过菜单选择统计字段:在职人数、党员人数、女工人数、高学历人数、高职称人数。
第四题:交通处罚单管理系统
1、需求分析:交通处罚单信息用文件存储,因而要提供文件的输入输出操作;要求可以输入、删除、 浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。
2、 总体设计:整个管理系统被设计为信息输入模块、信息删除模块、信息浏览模块、信息查询模块和信息统计模块。
3、 详细设计
数据结构采用结构体,设计交通处罚单结构体:
struct TranficPunishBill {
char carNo[10]; //车牌号
char driverNo[20]; //驾照号
char policeNo[10]; //开单交警号码
char billNo[20]; //处罚单号码
char time[12]; //处罚时间(yyyymmddhhmm,年月日时分)
}TPB;
(1)主函数提示用户选择功能:输入 删除 浏览 查询 统计
(2)信息输入模块:把处罚单信息写入处罚单信息文件。
(3)信息删除模块:输入处罚单号码,然后在处罚单信息文件中查找该条处罚单,删除之。具体删除操作: 打开该文件,从文件中读一条记录,判断是否要删除,如果是,则舍弃;否则重新写入文件,读下一条记录。
(4)信息浏览模块:读处罚单信息文件,输出记录。
(5)信息查询模块:通过菜单选择查询字段:车辆 驾驶员 开单交警, 分别按照车牌号、驾照号、开单交警号采用基本的查找算法查找交通处罚单信息文件, 如果找到相应得记录则输出处罚单信息,否则输出“您所查找的信息不存在!”。
(6)信息统计模块:提示输入驾驶员的驾照号和时间段。设置一个计数器,初始化为 0。采用基本算法查找交通处罚单信息文件,比较驾照号,如果驾照号匹配,再看处罚单时间是否出于查询时间段内,如果是,则计数器加 1,并输出该处罚单号。文件查找结束后,输出计数器的值。
第五题:实验设备管理系统设计
1、需求分析:实验室设备信息用文件存储, 故要提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备的查询需要提供查找操作;另外还要提供键盘式选择菜单以实现功能选择。
2、总体设计:整个系统被设计为实验设备信息输入模块、 实验设备信息添加模块、 实验设备信息修改模块、实验设备分类统计模块和实验设备查询模块。
3、详细设计
数据结构采用结构体,设计实验设备信息结构体:
struct equipmentInfo
{ char equipCode[10]; //设备编号
char equipType[20]; //设备总类
char equipName[20]; //设备名称
float equipPrice; //设备价格
char buyDate[20]; //设备购入日期
int scrap; //是否报废,0 表示没有报废,1 表示报废
char scrapDate[20]; //报废日期
}EquInfo;
(1) 实验设备信息输入模块 把实验设备基本信息写入实验设备信息文件。
(2) 实验设备信息添加模块 添加设备时,把添加的设备基本信息采用追加的方式写入设备信息文件。
(3) 实验设备信息修改模块 修改设备信息,则需要读文件,判断信息是否是要修改的设备的信息,如果是,修改,重新写入文件;否则直接重新写入文件。
(4) 实验设备分类统计模块 根据给定的分类标准(设备种类、设备名、设备购入日期)对文件的记录进行排序,排 序方法可以选择冒泡、插入、选择等方法。然后采用查找算法查找同类设备,采用基本的数学运算即可统计同类设备的相关信息,比如数量、价钱等。
(5) 实验设备查询模块 通过菜单选择查询方式,提供按设备编号、设备种类、设备名称、设备购入日期和设备状态为正常(scrap 字段值为 0)这些查询方式查询。采用基本查找算法即可。
第六题:学生证的管理系统设计
1、 需求分析:学生证信息采用文件存储,因而要提供文件的输入输出操作;给定学号或班号,做相应的操作,要提供查找操作;显示信息要提供显示操作;修改和删除信息要提供文件的修改和删除操作; 提供一些统计各类信息的功能要实现统计操作;另外提供键盘式选择菜单以实现功能选择。
2、 总体设计:整个管理程序被设计为数据输入模块、数据查找模块、数据修改模块、数据删除模块和 数据统计模块。
3、 详细设计
数据结构采用结构体,设计学生证信息结构体:
ctruct studentCard {
char name[10];
int sex; //0 表示男,1 表示女
char stuNo[10]; //学号
int classNo; //班号
?? //其他信息 }StuCard;
(1)主函数
主函数中,显示功能菜单:①信息输入;②信息查找;③信息修改;④信息删除;⑤信息统计。按相应的数字键则进入相应的计算模块。
(2)数据输入模块
输入学生的学生证信息,把该信息以追加的方式写入学生证信息管理文件。
(3)数据查找模块
进入该模块,首先显示提示菜单:①按学号查找;②按班级查找。按学号查找,则提示输入学号,然后采用基本查找算法(顺序查找)在学生证信息文件中查找学号字段,当找到该记录时,则输出该学生信息,停止继续查找。 按班级查找,则提示输入班级班号,然后采用基本查找算法(顺序查找)在学生证信息文件中查找班号字段,如果班号匹配,则输出该学生信息,直到文件结束。
(4)数据修改模块
在主菜单中选择③ ,则进入数据修改模块。屏幕上提示输入要修改的学生学号。输入 学号后,则采用基本查找算法找到该学生信息,修改之。
(5)数据删除模块 与数据修改模块相似,只是找到相应的学生信息后删除,即不再写入文件。
(6)数据统计模块 提供对班级学生数、女生人数、男生人数的统计。通过菜单选择统计字段。建立一个计 数器,初始化为 0。例如统计班级学生数,则提示输入班号,然后查找学生证信息文件,比较班号,如果匹配,则计数器加 1,当文件结束后,输出计数器的值。女生人数和男生人数的统计以此类似。
第七题:学生宿舍管理系统设计
【说明】实现简单的学生宿舍基本信息管理,宿舍的基本信息包括楼号、房间号、面积、所容纳人数、已入住人数等
基本要求:
(1)设计简单的菜单,能够进行系统功能选择。
(2)实现信息的录入功能。
(3)在已有信息的基础上添加新的记录。
(4)删除指定房间号的记录。
(5)修改指定房间号的记录
(6)实现信息的浏览功能
(7)按房间号查询功能
(8)按已入住人数排序功能
第八题:班级档案管理系统
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。 功能要求:
(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。
(2)本系统显示这样的菜单
请选择系统功能项:① 学生基本信息录入;② 学生基本信息显示;③ 学生基本信息保存;④ 学生基本信息删除;⑤ 学生基本信息修改;⑥学生基本信息查询:a.按学号查询;b.按姓名查询;c.按性别查询;d.按年龄查询 。⑦退出系统。
(3)执行一个具体的功能之后,程序将重新显示菜单。
(4)将学生基本信息保存到文件中。