教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

c++大作业说明书

来源:网络收集 时间:2026-02-04
导读: 《程序设计说明书》 (题目:班干选举系统程序设计 ) 姓 名: 郑 建 华 学 号: 201038898044 系 别: 计算机工程系 班 级: 软件(1)班 序 号: 23 一、引言 1.编写目的 信息社会的高科技,商品化的高效性,为了使计算机操作方便手工劳动,编写本文档,是

《程序设计说明书》

(题目:班干选举系统程序设计 )

姓 名: 郑 建 华 学 号: 201038898044 系 别: 计算机工程系 班 级: 软件(1)班 序 号: 23

一、引言

1.编写目的

信息社会的高科技,商品化的高效性,为了使计算机操作方便手工劳动,编写本文档,是为了方便班级班干部的选举,用以精确软件架构设计,提高选举的效率,减少选举的时间,使选举的流程更加通畅,简便。 2.背景

项目名称:班干选举系统

开发背景:通过此软件,提高用软件工程方法分析问题、解决问题的能力。同时增强对VC++ 6.0和数据库的使用能力的使用能力。 3.参考资料

《C++程序设计》.谭浩强 编著. 清华大学出版社. 二、目标

通过学习软件工程的设计方法,主要采用VC++ 6.0技术为数据库开发程序,是用户可以使用具备可以随机为候选人编号,选举人可以直接投票,对总票数、有效票、无效票进行统计并输出每个候选人所得的票数等功能的软件。 三、功能概述

(1)基本功能要求:

(1) (2) (3) (4) (5)

设置候选人的总个数。

记录各候选人的名字(为每个候选人自动生成一个编号) 显示候选人的编号和名称 设置要选举的人数

输入选票信息,若选票中候选人的个数大于要选举的人数,则作 为无效票。(自己设计选票格式,在文档说明书里详细说明) (6) (7)

(2)扩展功能要求:

(1)对候选人的得票数进行排序输出。

(2 实现可视化界面

统计总的选票数,有效票数,无效票数,每个候选人的得票数。 输出获选人的姓名和得票数。

四、程序结构

函数头:#include <iostream> //包括cin、cout等函数

#include <ctime> //随机函数所需 #include <string> //字符串函数所需

using namespace std; //使用命名空间std

主函数:int main()

子函数:void Record();//记录各候选人的个人信息以及初始化得票数 friend void Vote(Person get[],int N,int M); //投票者对候选人进行投票

friend void Sort( Person array[],int N); //对各候选人的得票数进行排序

friend void set(Person leader[],int N,int M);//对票数的统计与输出 五、输入输出

管理员首先输入候选人的人数、投票者的个数和投票人的名字,然后每个投票人按照系统的指示第一票投给谁,第二票投给谁进行投票。投票完毕后系统会自动输出总票数、有效

票数、无效票数、每个候选人的信息、所得的票数并按从高到低排列和最后得选人的信息和票数。

六、程序详细设计 #include <iostream> #include <ctime> #include <string>

using namespace std;

class Person //候选人Person类的声明 {

public: //声明以下部分为的共有的 //共有的成员函数与友元成员函数 void Record();//成员函数的声明

friend void Vote(Person get[],int N,int M);//友元函数的声明 friend void Sort( Person array[],int N); //友元函数的声明

friend void set(Person leader[],int N,int M); //友元函数的声明

private: //声明以下部分为私有的 //私有的数据 };

int Leader_num; //候选人的编号

string Leader_name;//候选人的姓名

int count; //候选人的得票数

类是C++中十分重要的概念,它是实现面向对象程序设计的基础,是对象的抽象。C++对C的改进,最重要的就是增加了“类”这样一种类型。所以C++开始时被称为“带类的C”。 类是抽象的,不占用内存,它有三中成员访问限定符,分别是:私有的(private)、公用的(public)和受保护的(protect)。类还可以继承派生出其它的类,为软件技术的发展扩大的很大空间,解决了软件重用问题。

友元函数是类中常见的,它可以是不属于任何类的非成员函数,也可以是其它类的成员函数,它可以访问本类的私有成员,在类体中用friend对该函数进行声明。出了友元函数外还有友元类。

//成员函数的的类外定义:

//记录各候选人的个人信息以及初始化得票数 void Person::Record() {int num;

srand (time(0));//让随机函数rand()不再产生重复的数字 num=rand()%100;

Leader_num=num; // 自动为候选人生成一个1-100之间的编号 cout<<"编号:"<<Leader_num<<'\t'; //输出候选人的编号 cout<<"候选人的姓名:";

cin>>Leader_name; //输入候选人的姓名,如:张三 count=0;

cout<<"得票数:"<<count<<endl; //输出候选人刚开始的得票数 }

//友员函数的的类外定义:

//投票者对候选人进行投票

void Vote(Person get[],int N,int M)

{int num1,num2,i,j; //每一个投票者可以投出自己两张宝贵的票,允许两张投给一个候选

人,分别为num1,num2

cout<<"每人请投两张票。"<<endl;

for(i=1;i<=M;i++)//循环每次输入投票者所要投给的候选人 {cout<<"投票人"<<i<<endl;

cout<<"第一张投谁的票:";

cin>>num1;//输入第一票所投的候选人的编号 cout<<"第二章投谁的票:";

cin>>num2; //输入第一票所投的候选人的编号

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

{if(num1==get[j].Leader_num) //判断投票者第二张票的编号

{get[j].count+=1;break;} //每个投票者第一张票所对应的候选人的编号,若对应,该候

选人得票数+1

}

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

if(num2==get[j].Leader_num)//判断投票者第二张票的编号

{get[j].count+=1;break;} //每个投票者第二张票所对应的候选人的编号,若对应,该候

选人得票数+1 } }

//友员函数的的类外定义:

//对各候选人的得票数进行排序

void Sort( Person array[],int N) {int i,j;

Person temp;

for(j=1;j<=2;j++) {for(i=0;i<N-1;i++)

{if(array[i].count<array[i+1].count)

{temp=array[i];

array[i]=array[i+1]; //调换位置 array[i+1]=temp;} } }

}

//友员函数的的类外定义:

//对票数进行统计并输出最终结果

void set(Person leader[],int N,int M)

{int EorrTicket=0,NoEorrTicket=0,TotalTicket=0;

//EorrTicket为无效票数,NoEorrTicket为有效票数,TotalTicket为总选票数 for(int i=0;i<N;i++)

{

if(leader[i].count>=M) //判断每位候选人的票数是否大于投票者人数,若大于,有效票数为投票人数,否则继续执行

EorrTicket=leader[i].count-M;//求有效票数 TotalTicket+=leader[i].count;//求总票数 }

NoEorrTicket=TotalTicket-EorrTicket;//求无效票数

//输出总票数,有效票 …… 此处隐藏:3453字,全部文档内容请下载后查看。喜欢就下载吧 ……

c++大作业说明书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1547131.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)