c\c++工程实践项目设计

资料获取:


链接:https://pan.baidu.com/s/1OeWhkMZGQet_f0ygzk4Lwg 
提取码:6666 
 

1.c\c++校园导航系统

将校园设计为平面图,将学校各代表景点构成一个抽象的无向带权图,顶点为景点,边的权值代表了景点间路径的长度。设计出能够帮助人们快速找到从一个景点到达另一景点的最短路径及路线;以及能够显示任意景点信息的程序。 
      将学校各代表景点信息及名称运用结构体进行存储,各景点之间的权值存入二维数组map[ ]中,查询景点信息直接运用printf输出函数%s输出存储好的信息;利用迪杰斯特拉算法求出单源最短路,及输出路径.

c语言职工考勤信息管理系统

需求分析
(1)系统以菜单方式工作(用键盘输入数字来选择功能,用键盘输入1~5之间的数来选择功能,其中6为退出。);
(2)考勤录入功能:职工上班、下班录入(职工号、姓名任意给一个即可,上班时
间(自动获取系统时间)、下班时间(自动获取系统时间));
(3)职工出勤情况整体浏览功能:浏览职工出勤情况(职工号、姓名、(迟到、早
退、旷工)、无前项则显示全勤);
(4)查询功能:按职工号、姓名、迟到、早退、旷工、全勤查询(至少一种查询方
式)查询职工的出勤状况;
(5)职工考勤信息的删除功能:给定密码后可按职工号、姓名、考勤情况任一项进
行删除;
(6)职工考勤信息的修改功能:给定密码后可按职工号、姓名、考勤情况任一项进行修改;

3.C语言全国铁路运输网最佳经由问题

该题目采用我国铁路运输网的数据进行编程和运行验证。图如下(详细可在网上搜索《全国铁路局管辖线路示意图》),可以不要这么详细,只要全国的主干线就可以了。
铁路运输网络中由铁路线和火车站的两个主要概念,譬如:1号铁路线表示京广线,2号铁路线表示京沪线等。
铁路线对象包括铁路线编号,铁路线名称,起始站编号,终点站编号,该铁路线长度,通行标志(00B客货运禁行,01B货运通行专线,10B客运通行专线,11B客货运通行)。
火车站对象包括所属铁路线编号,车站代码,车站名,车站简称,离该铁路线起点站路程及终点站路程。
3. 设计要求
(1)    基本要求 查询某站所属的铁路线
(2)    要求具备新增铁路线的管理功能
(3)    要求具备新增车站的管理功能
(4)    针对客运,货运情况能计算任何一个起始车站到任何一个终点站之间的最短路径,并且要求能够显示出该最短路径的各个火车站的经由顺序

4.MFC手机通讯录

5.c/c++图书信息管理系统

  图书录入可以录入图书名,作者,出版社,出版日期,价格!录入图书编号时函数就会判断此编号是否存在,若存在不能成功录入!

2 图书浏览可以浏览全部图书!

3 图书查询提供按图书编号模糊查询,按图书名关键字查询,按图书编号精确查询,按图书名精确查询!模糊查询和关键字查询事通过比价字符串的相似度而实现的!

     

6.C++分数计算器


定义一个整数类。 定义一个分数类,由整数类派生。能对分数进行各种计算和输入/输出。可进行分数的加、减、乘和除法等四则运算。需求以及实现功能介绍
(1)定义整数类和分数类。其中,包括构造函数、析构函数、显示函数等。 
(2)输入/输出:对流提取和流插入运算符进行重载。
(3)计算功能:可进行分数的加、减、乘和除法运算。
(4)化简功能:将分数化简为最简分数。
(5)异常处理功能:分数中分母不能为零。
(6)菜单功能:每种功能的操作都是在菜单中进行相应选择。

设计步骤
根据系统功能要求,可以将问题解决分为以下步骤:  
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告

7.c/c++高校人员信息管理系统

1、问题描述 某高校有四类员工:教师、实验员、行政人员、教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。
2、功能要求
 (1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。
(6)统计功能:能根据多种参数进行人员的统计。能统计四类人员数量以及总数,统计男、女员工的数量。
(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。

8.C++继承,定义一个日期类:包括年、月、日三个成员变量,显示日期的方法和一个函数

C++继承,定义一个日期类:包括年、月、日三个成员变量,显示日期的方法和一个函数
(一)基础要求
1定义一个日期类:包括年、月、日三个成员变量,显示日期的方法和一个函数,用于存储和处理。 

2.主函数的完成。
首先对类的函数能否正确执行用默认值构造函数的对象进行测试,输出结果。
为了可以完成一次编译、执行后多次输入日期并进行加减操作,用一个switch-case循环,根据输入的编号选择计算日期计算的方式:1-增加天数、2-减少天数、3-增加一天、4-减少一天、其他-退出,分别调用相应的成员函数执行输出结果。
因为主函数中每次输入编号后执行对日期的加减都需要输入日期,为了程序的简洁和降低重复带来的繁琐,定义个函数scanf_date用来输入日期,在需要用户输入日期时调用该函数即可。

3.根据要求2的内容可知,在类体内要定义对日期的初始化构造函数且包含一个重载默认值方式。
即当定义日期类的对象时,若无实参,则调用重载默认值的构造函数,若有实参,则调用另一个构造函数,将实参按照年、月、日的顺序赋值给成员变量year、month、day。

4.需要判断是否为闰月,闰年的二月份需要加一天。即变量year的值是否满足是4的整数倍且不是100的整数倍,或是400的整数倍,若满足其一则是闰年,二月份有29天。
再用Daysofmonth用于保留、判断每个月份的天数,不妨定义一个数组保存,数组元素的序号与月份相对一应,数组元素第一个编号为0赋值为0,其余按照1-12月分的天数进行赋值即可,判断若是闰年的二月则天数为29。

5.在对日期进行输入时,要考虑输入的时期是否符合实际情况,如2020年1月99日、2020年29月1日都是不合实际的,需要定义对输入日期的格式做适当的判断:年必须为正整数,月为1-12的正整数,天数也要与相应的年月情况对应。

6.年、月的不同会对这个月的天数有一定的影响,结合要求3的内容,要“注意不同月份天数的问题,判断闰年问题”,由此定义了两个成员函数。

7.根据要求4的内容可知,成员函数中日期的加减操作包括对+、-、++、--的运算符重载,使得可以得到输入日期加或减若干天后的日期,以及只加一天、减一天的日期。这里包含了四个运算符的重载,作为成员函数,在类体内给出函数声明。

8.在对日期进行加减时,要考虑日和月的进位对月年的改变问题,特别注意不同月份天数的问题,判断闰年问题,这两个问题在思路4中已做出说明。
而对日、月的进位对月、年的改变,则需在每次改变年月日时进行判断:若天数大于该年月对应的天数(调用daysofmonth得到),则月份加一,天数相应的减少;若月份大于12,则年增加,月份相应的改变。

9.根据要求4的提示,在类体外进行类的定义,用到了this指针,由于是在类体外进行的函数定义,注意格式的正确。

(二)提高要求
1.定义一个日期类Date,包括年、月、日等私有数据成员。要求为所定义的Date类设计如下重载运算符函数:
Date operator+(int days);//返回一个日期加天数days后得到的日期
Date operator-(int days);//返回一个日期减去天数days后得到的日期
Int operator-(Date& b);//返回两个日期相差的天数
提高要求通过继承设计出时间类,包含年月日时分秒,其中年月日是从基类date中继承的,所以在基类date的定义中不推荐将这三个成员变量定义为private,避免后续在时间类中对其的访问不便。继承方式选择公有继承,再在派生类中定义时分秒即可。

2.此时对时分秒的加减应该注意秒、分、时的进位分别对分、时、日的改变问题,秒每满60后分增加1,分每满60后时增加1,时每满24后日增加1。相较年月日的加减,时分秒的加减更加便于操作,因为他们的关系是恒定的,不会受年月日或其他因素的影响而改变。

3.设计一个完整的日历表,用户输入所需为哪年哪月到哪年哪月期间的日历表。
1.我们想打印某年某月的日历,我们就得知道这个月是从星期几开始,且这个月有多少天。
2. 要想知道这个月是从星期几开始的,就得知道上一个月的最后一天是星期几,要想知道上一个月的最后一天是星期几,就得知道上一个月是星期几开始的,以此推类,我们就需要定义一个基准年以及基准年是从星期几开始的。
后面的代码,我们定义基准年为2000年,且定义2000年是从星期六开始的

3. 然后计算你想知道的这个年份是从星期几开始的,以及月份是从星期几开始的,并实现打印。

9.C/C++评奖评优管理系统

#include<iostream>
#include<fstream>
#include<iomanip>
#include<string>
#include<string.h>
#include<stdlib.h>
#include<math.h>

using namespace std;

struct student
{
	int ID ;//定义学号
	char student_name[10];//定义姓名
	int major_num;//定义编号
	int score[8];//定义分数
	bool lowest_line;//定义符合的最低条件
	float final_score;//定义最终成绩
	int Mathematics;//定义排名
	int level = 0;
};

struct major
{

	student pro_student[120];//某个专业的学生数组
	int num = 0;//某个专业的学生人数
	int major_num;//这个专业的专业编号
};
struct all_major
{
	student major_student[120];
	int major_num;//这个专业编号
	int all_num = 0;//这个专业的总人数
	float none_num = 0;//无资格的总人数
	float schgood_num = 0;//校级优秀人数
	float majgood_num = 0;//专业优秀人数

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值