郑州科技学院 10级计科C课程设计题目Word格式文档下载.docx
《郑州科技学院 10级计科C课程设计题目Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《郑州科技学院 10级计科C课程设计题目Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
![郑州科技学院 10级计科C课程设计题目Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/31/f98f783a-2735-4d97-8448-737b0a3c3e78/f98f783a-2735-4d97-8448-737b0a3c3e781.gif)
实现按照工资卡号和姓名的查询,采用基本的查找方法即可。
二、学生学籍信息管理系统设计
学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;
查询功能要求提供查找和显示操作;
删除功能要求实现删除操作;
排序功能要求实现排序操作;
整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。
设计学生基本信息和学生成绩基本信息结构体。
具体实现见教材.
三、通讯录管理系统
信息记录要存放到文件中去,因而要实现文件的输入输出操作;
要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;
要实现按人名或电话号码进行查询的功能,因而要提供查找操作;
整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。
3、详细设计见教材
四、飞机订票管理系统
航班信息用文件保存,因而要提供文件的输入输出操作;
航班信息浏览功能需要提供显示操作;
要查询航线需要提供查找功能;
另外要提供键盘式选择菜单以实现功能选择。
该系统设计为航班信息输入模块、航班信息浏览模块和航线查询模块。
数据结构采用结构体数组,设计航班结构体如下:
Struct
{
CharflightNo[10];
//航班号
Charstart[10];
//起始站
Charend[10];
//终点站
Floatday;
//飞行时间
InttotalTicket;
//预售票总数
IntsellTicket;
//已售票总数
}Flight[N];
//航班结构体
(1)航班信息输入模块
把航班信息写入航班信息文件。
(2)航班信息浏览模块
读文件然后显示即可。
(3)航线查询模块
通过菜单选择查询方式,提供按照航班号、起点站、终点站和飞行时间查询。
采用基本查找算法即可。
五、职工信息管理系统
系统要以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;
职工信息采用文件保存,因而要提供文件的输入输出操作;
要实现职工信息的浏览功能,则要提供信息显示操作;
要实现职工信息查询功能,则要提供查找操作(按学历查询和按职工号查询两种查询方式);
要实现职工信息删除、修改功能则要提供文件记录的删除、修改操作。
整个系统被设计为职工信息输入模块、职工信息浏览模块、职工信息查询模块和职工信息删除与修改模块。
数据结构采用结构体,设计职工信息结构体:
StructemployeeInfo
CharjobNo[10];
//职工号
Charsex;
//性别
Intage;
//年龄
ChareduLevel[10];
//学历
Floatsalary;
//工资
Charaddr;
//地址
Chartel[11];
//电话
}EmpInfo;
//职工信息结构体
(1)职工信息输入模块
把职工信息写入航班信息文件。
(2)职工信息浏览模块
读文件然后显示即可。
(3)职工信息查询模块
通过菜单选择查询方式,提供按学历查询和按职工号查询两种查询方式。
(4)职工信息删除与修改模块
通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:
读记录,判断是否要删除(与输入的要删除的记录比较),如果要删除,则舍弃;
否则重新写入文件。
修改操作于删除操作类似,只是判断是否是要修改的记录,如果是,则把修改后的记录写入文件,否则直接写入文件。
六、物资管理系统
根据要求,整个管理系统被设计为信息输入模块、信息查找模块、信息插入模块、领料模块和打印功能模块。
数据结构采用结构体,在题目要求中已给出,这里采用了链表,读者可以尝试把文件中的数据读入链表中,然后查找操作就是对链表的遍历。
也可以把structproduct*next;
{结点指针}以及structl_pro*next;
{结点指针}从结构体中去掉,采用结构体数组来做。
模块的分析如下:
(1)信息输入模块
把物资信息录入文件中。
(2)信息查找模块
用键盘菜单提示查找字段:
产品名称进货日期产品名称和库存量
按照产品名称查询,采用基本的查找算法查找物资库存文件记录的p_name字段,如果匹配则输出。
按照进货日期查询,则查找in_date字段。
提示输入查找日期,检查日期是否匹配,如果日期匹配,则输出。
按照产品名称和库存量查询,则提示输入产品名称和最小库存量,那么首先查找p_name字段,如果p_name字段匹配,再看real_s字段,如果<
输入的最小库存,则输出其信息。
在查找过程中,如果没有找到相应的记录,则输出“notfound!
”。
(3)信息插入模块
信息插入模块所做的就是文件记录的添加操作,用追加的方式写入物资信息文件。
(4)领料模块
首先提示用户输入所要领的物资的名称或编号以及所领数量,然后查找物资库存信息文件,如果该物资存在且实际库存量满足,则允许领料,在领料文件中添加领料记录,并在物资库存文件中修改实际库存量。
(5)打印功能模块
通过键盘菜单选择打印领料单或者物资库存清单,显示结果。
主要是文件的读操作。
七、图书管理系统
图书管理信息采用文件保存,因而要提供文件的输入输出操作;
要实现对图书基本信息的查询,则要提供查找操作(提供按书名、作者名查询两种查询方式)和显示操作;
要实现对撤销图书信息的删除则要提供文件记录的删除操作;
办理借书或还书手续需要提供修改操作;
另外还要提供键盘式选择菜单以实现功能选择。
整个系统被设计为数据输入模块、数据查询模块、数据删除模块和数据修改模块。
数据结构采用结构体,设计图书信息结构体:
StructbookManageInfo
CharbookName[20];
//图书名称
CharbookCode[20];
//图书编号
Floatprice;
//图书价格
Charauthor[10];
//作者
Intstate;
//存在状态,0代表可以出借,1代表已经借出
CharborrowerName[10];
//借书人姓名
Intsex;
//借书人性别,0代表女,1代表男
CharstuNo[10];
//借书人学号
}bookMInfo;
(1)数据输入模块
把图书基本信息写入图书信息文件。
(2)数据查询模块
通过菜单选择查询方式,提供按书名查询和按作者名查询两种查询方式。
(3)数据删除模块
通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:
(4)数据修改模块
办理借书手续时,先要在文件中查找要借的书的存在状态,若可以出借,则允许借出,把借书人姓名、性别和学号添加到该书的记录中,并把存在状态改为已经借出;
否则,显示“抱歉,该书已借出”。
办理还书手续时,在文件中查找该书的记录,然后把存在状态改为允许出借,把借书人姓名、性别和学号删除。
具体修改操作可以参考删除操作。
八、实验设备管理系统
实验室设备信息用文件存储,故要提供文件的输入输出操作;
要能够完成设备的录入和修改,需要提供设备添加和修改操作;
实现对设备进行分类统计,需要提供排序操作;
实现对设备的查询需要提供查找操作;
整个系统被设计为实验设备信息输入模块、实验设备信息添加模块、实验设备信息修改模块、实验设备分类统计模块和实验设备查询模块。
数据结构采用结构体,设计实验设备信息结构体:
StructequipmentInfo
CharequipCode[10];
//设备编号
CharequipType[20];
//设备总类
CharequipName[20];
//设备名称
floatequipPrice;
//设备价格
charbuyDate[20];
//设备购入日期
intscrap;
//是否报废,0表示没有报废,1表示报废
charscrapDate[20];
//报废日期
}EquInfo;
(1)实验设备信息输入模块
把实验设备基本信息写入实验设备信息文件。
(2)实验设备信息添加模块
添加设备时,把添加的设备基本信息采用追加的方式写入设备信息文件。
(3)实验设备信息修改模块
修改设备信息,则需要读文件,判断信息是否是要修改的设备的信息,如果是,修改,重新写入文件;
否则直接重新写入文件。
(4)实验设备分类统计模块
根据给定的分类标准(设备种类、设备名、设备购入日期)对文件的记录进行排序,排序方法可以选择冒泡、插入、选择等方法。
然后采用查找算法查找同类设备,采用基本的数学运算即可统计同类设备的相关信息,比如数量、价钱等。
(5)实验设备查询模块
通过菜单选择查询方式,提供按设备编号、设备种类、设备名称、设备购入日期和设备状态为正常(scrap字段值为0)这些查询方式查询。
九、仪器仪表管理系统
仪器仪表信息用文件存储,故要提供文件的输入输出操作;
要能够完成对仪器仪表信息的修改和删除,需要对提供仪器仪表信息修改和删除操作;
实现对仪器仪表信息的查询和统计及显示操作;
整个仪器仪表管理系统分为仪器表信息输入模块、仪器表信息修改和删除模块、仪器表信息查询和统计模块。
数据结构采用结构体:
StructinstrumentInfo
{
CharinstrName[20];
//仪器仪表名
CharinstrNo[10];
//仪器仪表编号
CharbuyDate[20];
//购买时间
CharborrowDate[20];
//借入时间
CharlendDate[20];
//借出时间
CharreturnDate[20];
//归还时间
CharrepairDate[20];
//维修时间
Intstate;
//状态信息(0代表可借出,1代表已借出,2代表正在维修)
}InstrInfo;
(1)输入模块
把仪器仪表信息写入仪器仪表信息文件。
(2)修改和删除模块
通过菜单选择借出操作,查找文件仪器仪表信息,找到相应的仪器仪表,如果仪器仪表状态为0,则允许借出,在文件中更改仪器仪表状态为1,更改借出时间;
否则,即仪器仪表借出或正在维修,则输出“抱歉,仪器仪表已借出(正在维修)!
”这个过程是一个对文件查找(读文件、判断是否是要查找的纪录)、重新写入的过程。
删除操作只需读文件,判断所读纪录是不是要删除的记录,如果是,则舍弃;
(3)查询和统计模块
通过菜单选择查询或统计操作,若选择查询,则需要再选择查询方式:
基本信息、时间段、时间点。
基本信息查询,就显示所有记录,这是一个读文件和输出的过程。
时间段查询,则要输入起止时间和表征字段(可以用0表示购买起止时间,1表示借出起止时间,2表示维修起止时间)。
例如输入200411200410100
表示查询2004年1月1日到2004年10月10日之间购买的仪器仪表信息。
则读一条记录,判断购买时间是否处于起止时间之间,如果处于,则打印输出,否则舍弃。
借出和维修查询与此类似。
统计功能和查询功能类似,只需要加一个计数变量即可。
十、服装销售管理系统
用户与商品信息要采用文件存储,因而要提供文件的输入输出操作;
实现用户的添加、修改、删除,商品信息的添加、修改、删除、查找等需要提供信息的添加、删除、修改与查找操作;
实现商品浏览功能的实现需要实现显示操作;
整个服装销售系统被设计为管理员模块、店长模块、销售员模块、商品模块等,如下图所示:
另外还要实现各用户自身信息的管理。
数据结构采用结构体,构造结构体如下:
Structgoods//商品
Charname[10];
//商品名
Charcode[10];
//商品代码
Charproducer[10];
//制造商
Floatprice;
//价格
}Goods;
Structadministrator//管理员
CharID[10];
Charpassword[10];
…//其他信息
}Admin;
Structshopkeeper//店长
}Shkpr;
Structseller//销售员
CharID[10];
//营业ID号
//所属店长ID号
Goods*good;
//指向该销售员销售的商品信息
…//其他信息
}Seller;
Structgoods_report//商品报表
Goodsgood;
//商品
Sellerassistant;
//营业员
Charsell_data[20];
//出售日期
}
先建立文本文件Admin.txt,其中存放管理员的ID和密码及其它信息;
文本文件Shopkeeper.txt,其中存放店主的用户名和密码及其它信息;
文本文件Seller.txt,其中存放销售员的ID和密码及其他信息。
登录系统时,通过菜单选择登录身份,然后提示输入用户ID和密码。
如果以管理员身份登录,则在Admin.txt文件中查找(采用基本的查找算法)输入的用户ID和密码是否存在,如果存在,则允许进入,显示选择菜单:
修改密码添加用户用户信息商品信息;
否则,显示“输入的用户名或密码错误!
”,返回上级菜单。
店长与销售员登录系统与此类似,店长登录成功后显示选择菜单为:
修改密码修改个人信息商品信息查看报表商品储备信息。
销售员登录成功后显示选择菜单为:
商品浏览查找商品出售商品本日报表本月报表
密码修改与个人信息修改既是写入新的密码、个人信息,覆盖掉原来的,就是文件的读写操作。
在登录成功后,就标志出登录人员的纪录位置,这样修改信息时,可以直接定位到修改记录的位置。
管理员添加用户,就是执行文件写操作,采用追加的方式把用户信息写入用户信息文件(根据添加的用户身份选择写入Shopkeeper.txt还是Seller.txt)。
删除用户操作,读取用户信息文件,如果读出的用户不是要删除的用户,则直接重新写入文件,否则,舍弃。
管理员选择用户信息,将进入用户信息修改和用户信息统计的选择。
用户信息修改操作,即查找要修改的用户信息文件,找到要修改的用户,写入修改后的信息覆盖掉原始信息。
用户信息统计操作,读用户信息文件,比较统计信息字段,符合统计要求则计数加1,最后输出符合条件的记录数(也可以把符合条件的记录信息完全输出)。
管理员选择商品信息,则可以选择商品信息添加、修改、删除、查找、统计,商品信息的添加、修改、删除、统计操作与用户信息的相应操作类似。
查找操作只需采用基本的查找算法查找商品信息文件即可。
店长修改密码和修改个人信息操作与管理员相应操作类似。
店长的商品信息可以选择商品信息修改和商品信息统计,此类操作与管理员的相应操作相同。
店长选择查看报表,则显示选择菜单:
日报表月报表商品销售量报表营业员业绩报表。
查看日报表,根据输入的日期在商品报表文件中查找,把出售日期与输入日期符合的记录输出。
查看月报表操作类似,查找商品报表文件中商品出售日期在输入月份之间的记录输出。
商品销售量报表,这是一个统计的过程,查找商品报表,统计同一商品的销售量(月销售量、年销售量)。
查看营业员业绩报表,则读销售员信息文件,把信息打印输出即可。
店长查找浏览修改商品储备信息,查找与修改操作可以参考管理员对商品的查找与修改操作,浏览操作就是把商品储备信息输出。
这些操作在该店长对应的商品储备信息文件中执行。
[注:
每个店长对应一个商品储备信息文件,里面存放该店储备的商品信息。
文件格式:
店长ID
商品名商品代号制造商价格…]
销售员可以选择商品浏览、查找、出售商品、察看自己本日报表、本月报表。
商品浏览、查找以及查看自己本日报表、本月报表可以参考前面相关操作。
出售商品操作执行的动作是:
在本店的商品储备文件中查找要出售的商品,如果存在,则出售,在商品报表文件和销售员销售文件中添加该商品信息,并把该商品信息从商品储备文件中删除。
十一、杂志订阅管理系统
订户的信息要用文件存储,所以要提供文件的输入输出操作;
要实现增加新订户的功能,所以要提供文件的添加操作;
要实现对订户文件的查询,所以要提供文件的查找操作;
要删除已到期的订户记录,所以要提供文件的删除操作;
要统计本期杂志订户数并打印运算结果,所以要提供统计和显示操作;
该管理软件被设计为数据添加模块、数据删除模块和数据统计模块。
数据结构选择结构体:
StructsubscriberInfo
Intsex;
Charaddr[20];
Chartel[12];
//电话号码
//杂志单价
Intnum;
//订阅数
Chardate[10];
//订阅的期限
}subInfo;
//订户信息结构体
(1)数据添加模块
用追加的方式采用fwrite或fprintf把新增订户信息写入订户信息文件。
(2)数据删除模块
采用基本的查找算法,查找订户信息文件,比较当天日期和订阅期限,如果到期,则删除该订户记录。
删除方法:
如果判断该条订户信息要删除,则不再把该条信息写入文件,继续读下一条订户信息。
(3)数据统计模块
对本期杂志订户数的统计,就是读文件,输出订户名、订阅数、单价,并计算金额(单价*订阅数)。
可以定义变量统计订户数、订阅数和总金额,最后输出。
十二、人事管理系统
人事档案信息采用文件存储,因而要提供文件的输入输出操作;
根据学院人事的变动情况,添加删除记录,因而要提供文件的添加删除操作;
根据编号和姓名进项查询,所以要提供文件的查找操作;
高级编辑功能,就是提供文件的修改操作;
统计功能要提供统计操作;
排序功能要提供用排序算法对文件记录的排序;
整体设计为数据输入模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。
StructpersonnelArchiveInfo
CharNo[10];
//编号
Charname[10];
Charjob[10];
//职务
Charpost[10];
//职称
Charpolitic[10];
//政治面貌
Charedu_level[10];
//最高学历
Charperiod[10];
//任职时间
Charstart_time[10];
//来院时间
Chartype[10];
//人员类别
}PAInfo;
把员工信息写入人事档案文件。
(2)数据添加模块
用追加的方式把新增员工信息写入人事档案文件。
(3)数据删除模块
根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃,不再写入文件;
(4)数据查询模块
把编号和姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。
(5)数据修改模块
查找要修改的记录,修改之。
先读记录,若是要修改的记录,则修改信息,把修改后的信息写入文件;
否则直接写入文件。
(6)数据排序模块
通过菜单选择年龄或者来院时间,把数据从文件中读出来,任意选择一种排序算法对记录进行排序,输出排序结果。
(7)数据统计模块
通过菜单选择统计字段:
在职人数、党员人数、女工人数、高学历人数、高职称人数。
例如选择党员人数,则统计运算伪码如下:
Count=0;
//记录在职人数
While(文件未读完)
读一条记录;
If(政治面貌是党员)
Count++;
输出该条记录;
其他字段的统计运算与次类似。
十三、机房机位预约模拟管理系统
1、数据结构
顾客信息结构体:
StructCusInfo
//顾客姓名
}CInfo;
机位信息结构体:
IntState[6];
//机位状态,每2个小时为一个时间段,08:
00-20:
00共6个时间段。
0表示有空机位,1表示没有空机位
CInfowaitlist[