资源描述
c++大作业 超市管理系统课程设计报告(完整版)
(文档可以直接使用,也可根据实际需要修改使用,可编辑 欢迎下载)
超市管理系统的设计与实现
目 录
摘 要 1
第1章 前 言 2
1.1系统前景 2
1.2系统主要功能 2
第2章 需求分析 3
第3章 概要设计 4
3.1 主界面流程图 4
3.2 超市管理模块设计 5
第4章 详细设计 6
4.1主界面流程图 6
4.2清除内存中的商品函数 6
4.3增加商品信息 8
4.4删除商品信息的过程 9
4.5修改商品信息的过程 10
4.6查询商品的过程: 12
4.7统计商品的过程 14
4.8显示商品过程 16
第五章 系统测试 17
第6章 总 结 22
参考文献 22
附 录 23
摘 要
针对用户对超市管理系统要求,本应用软件运用C++语言编写,通过对系统程序的编写,实现了基本的超市商品管理功能,本应用软件中的时钟时间以所在电脑的系统时间为准,用户可在修改商品的界面中修改超市商品信息来对超市进行管理。
超市管理系统主界面通过操作阿拉伯数字实现超市商品的增加、修改、查询、统计、显示所有商品信息等。本系统的实现主要运用了两个类,商品类和超市类。商品类中有商品必要信息,商品代码,商品名称,商品产地,商品价格,商品库存量等。超市类中通过各类函数的实现对商品进行管理。可以增加商品,查询商品,删除商品,显示商品信息,统计商品库存量及价值等。
关键字:商品类 超市管理 函数 指针
第1章 前 言
1.1系统前景
随着社会的发展,超市的数量越来越多,规模越来越大。因此,对超市的科学管理就显得尤为重要。本系统用C++基本实现了超市管理系统的设计。
C++是一个面向对象的程序设计语言,可以让我们更好的掌握面向对象思想解决实际问题的能力。C++拥有强大生命力,几乎可以兼容C语言。C++牵涉概念很多,语法比较复杂,内容十分广泛。比如在C的基础上增加了类等。各种类型函数如构造函数,析构函数等。还有函数是在类内定义还是在类外定义等。总之,C++语言是一门非常实用的语言。
1.2系统主要功能
(1)本系统实现了对超市商品的管理。
(2)本系统可以根据用户输入来调整超市商品信息。
(3)本系统可以直接显示超市所有商品。
(4)本系统的开发语言是当下比较流行的C++语言开发。
第2章 需求分析
本系统为超市管理系统的设计与实现,可供超市管理者对超市商品信息的查询和修改,适用于各种小型超市,有效地提高了工作效率。若查询不符合实际情况,则会提示错误。Enter键确认。
本系统实现以下功能:
(1)进入系统后提示适用方法,键入相应数字依次将商品代码(由阿拉伯数字组成)、商品名称、商品产地、商品单价以及库存量等商品信息存入并保存。
(2)键入商品名称,可将要求删除商品调出,并予以删除。
(3)键入相应数字选项,可修改超市商品的所有信息。
(4)键入相应数字选项,可查询需要查询的商品的所有信息。
(5)键入相应数字选项,可显示超市所有商品的所有信息。
(6)键入数字7退出系统。
第3章 概要设计
3.1主界面流程图
设计超市管理系统的主界面, 主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。
超市管理系统
商品类
超市类
查询商品
统计商品
修改商品
增加商品
删除商品
显示商品
找到
是
否
开始
开始
3.1主界面流程图
3.2 超市管理模块设计
(1) 超市初始化模块
类名为Goods和Supermarket,分别定义了商品的名称,代码,产地,单价和库存数量,以及需要在链表里面寻找的指针。
(2)增加商品的函数模块
在文件中写入产品的信息,并且判断商品的单价和库存量是否超标(65535),并且加入链表。
(3)删除商品的函数模块
删除结点已达到删除产品的目的。
(4)修改商品的函数模块
载入商品的全部数据,并且放入内存,并且可以重新写入修改。如果没有找到商品,则返回。
(5)统计商品的函数模块
统计结点数以记录商品的数量,载入所有商品的数量和单价计算商品的总价值。
(6)数据存储的函数模块
将链表的所有数据写入文件,然后关闭文件。
(7)数据读入的函数模块
打开文件,然后将文件中的数据写入内存以备用。
第4章 详细设计
4.1 主界面流程图
设计超市管理系统的主界面,主界面相应的现实有下列菜单:增加商品、删除商品、修改商品、查询商品、统计商品、显示商品、退出。
超市管理系统
商品类
超市类
查询商品
统计商品
修改商品
增加商品
删除商品
显示商品
找到
是
否
开始
结束
4.1主界面流程图
4.2清除内存中的商品函数
在超市管理系统中,商品出售出去,库存中的商品信息必须清除。
类外定义一个函数clear,在函数中定义一个指针p,讲物品goods赋给p,为了使函数能够不断地清除内存中的数据,要使指针移动,首先将p->next赋予goods ,然后删除p中的数据,清空p中的数据,然后将goods赋给p,依次循环,从而实现删除库存中的一个或多个商品。
流程图如图
开始
定义指针
goods赋值p给p
将p的next赋值给goods
删除p中的数据
goods赋值给p
是否有需要删除的商品
结束
YES
NO
图4.2清除内存商品流程图
4.3增加商品信息
类外定义一个函数add,首先在函数中定义变量商品代码 num 和商品数量count,都为double类型 ,商品名name和产地address为char类型 ,价格price 为int类型,首先要求用户输入商品信息,依次输入商品的代码、商品名称、商品产地、商品单价,判断单价是否在0~65535之间,如果不在范围内重新输入直到在范围之内再继续向下面执行,输入商品库存量,库存在0~99999之间,如果超出范围重新输入,在范围之内继续执行,保存数据。
开始
定义变量
输入商品代码名称产地
输入商品价格
( 0~65535 )
输入商品库存
(0~99999)
保存
No
No
Yes
Yes
图4.3 增加商品流程图
4.4删除商品信息的过程
(1)在Supermarket类下定义一个Delete函数作为删除商品信息的函数,然后定义商品名,输入商品信息。
(2)查找要删除的结点(节点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),分别定义两个指针,原商品表信息指针p1和输入的商品信息指针p2,在p1循环的过程中比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,否则p2指向p1,使得两指针同化,p1指针接着指向下一指针,这样依次向后查询。
(3)删除结点,如果找到要删除的结点则删除,在这个条件下,如果删除的结点是第一个结点,则继续将指针后移删除第一结点,如果删除的结点是后续结点,则将p2下一指针指向p1下一指针,则删除相应的后续结点。
输出的结果是:找到并删除或者sorry,未找到!
流程图如图4.5
查找要删除的结点
定义指针p1 p2
比较输入商品名和商品表已知商品名是否一致
是否找到结点
继续向后查找 p2=p1;p1=p1->next
是否为第一结点
找到则删除成功
查找后续结点
是
是
是
否
否
否
开始
结束
图4.5 删除商品流程图
4.5修改商品信息的过程
(1)定义各参数变量的类型,然后是输入要查找等待修改的商品名称
(2)查找要修改的结点,定义p1、p2指针,p1为指向goods商品表指针,p2为输入的商品指针,判断p1指针,如果输入的商品名和原有的商品名一致,则结束本次循环,否则,p1和p2指针同化,p1接着指向p1的下一指针。
(3)修改结点,若找到相应的要修改的结点,则p1指向Output函数,接着输出要修改的信息,利用Switch语句来调用相应的修改信息。
(4)创建新商品的结点,把原来要修改的结点删除并重新替换要创建的商品结点。如果找到等待修改的结点则修改,否则保持商品表信息不变。
流程图如图4.6
输入要查的商品名
查找要修改的结点
比较输入商品名和商品表已知商品名是否一致
是否找到第一结点
继续向后查找 p2=p1;p1=p1->next
继续查找后续结点
删除并替换
是
是
否
否
是
否
开始
结束
图4.6 修改商品流程图
4.6查询商品的过程:
(1)在Supermarket类下定义一个Query函数作为查询商品信息的函数,输入商品名。
(2)查找要查询的结点(结点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),定义一个原商品表信息指针p1,在p1循环的过程中比较
输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,否则 p1指针接着指向下一指针,这样依次向后查询。
(3)查询结点,如果找到要查询的结点则输出:查询成功并输出其所有信息,若没有找到输出:sorry未找到!
流程图如图4.7
定义指针p1
比较输入商品名和商品表已知商品名是否一致
是否找到商品
继续向后查找 p1=p1->next
是
是
否
否
输入要查询商品的名字
开始
结束
图4.7查询商品流程图
4.7统计商品的过程
(1)是在Supermarket类下定义一个Add_up函数作为统计商品信息的函数,然后定义两个double型变量Amount和Value分别表示要求统计商品的总量和总价值,输入商品名字name。
(2)查找要统计的结点(结点中包含所有该商品的信息:商品代码、名称、产地、数量、单价),定义一个指针p1,原商品表信息指针p1,在p1循环的过程中比较输入的商品名与原有的商品名是否一致,如果一致则结束本次循环,p1指针接着指向下一指针,这样依次向后查询。没找到则输出:sorry,未找到!
(3)统计商品,每当找到一个商品后就将Amount与p1所指count相加存入Amount,并将此时p1所指的count与price相乘再加上Value存入Value,循环查找相加,最后分别输出。
流程图如图4.8
开始
查找要统计的结点
定义指针p1
比较输入商品名和商品表已知商品名是否一致
是否找到结点
继续向后查找 p1=p1->next
是
是
否
否
否
Amount+=p1->count;
Value+=p1->count*p1->price
Value+=p1->count*p1->price
从
当前指针p1
输出
结束
图4.8 统计商品流程图
4.8显示商品过程
(1)是在Supermarket类下定义一个Out函数作为显示商品信息的函数。
(2)将goods的首地址给p1,判断p1是否为空,若空则输出“没有商品”。否则输出该商品所有信息(商品代码、名称、产地、数量、单价)等。
(3)将p1赋给p2,p1->next赋给p1,进入循环,输出下一个商品信息。
流程图如图4.9
定义数据
P=goods
是否有商品
输出该商品信息
指针移向下一个商品
输出没有商品
否
是
开始
图4.9 显示商品流程图
第五章 系统测试
打开软件后见到如图所示的界面正式进入超市管理系统
图5.1 系统主界面
该软件有增加商品、删除商品、修改商品、查询商品、统计商品、显示商品六大功能。
(1)增加商品
选择1 进入商品录入界面
图5.2 新增商品信息界面
依次录入商品代码、商品名称、商品产地、商品单价、商品的库存量并按Y保存,需要注意的是商品单价限制在0~65535,商品的库存量限制在0~99999范围内。
(2)删除商品
图5.3 删除商品界面
首先输入商品的名称,然后选择是Y 或者N。
(3)修改商品
选择3 进入修改商品界面
图5.4 修改商品界面
输入商品的名称,系统会显示商品代码、名称、产地、价格、库存量,然后分别选择1 改商品代码、2改商品名称、3改商品产地、4改商品单价、5 改商品库存量 、7改全部信息。
(4)查询商品
图5.5 查询商品界面
输入商品名称后,系统会显示你所查询的商品信息,有商品的代码、商品的名称、商品的产地、商品的单价和库存量等。
(5)统计商品
图5.6 统计商品界面
选择5后进入统计商品,输入商品名称后,会显示出商品的数量和总价值。
(6)显示所有商品
选择6后 系统会显示所有商品的信息
图5.7 显示所有商品信息界面
第6章 总 结
参考文献:
[1]《C++面向对象程序设计》(第一版) 谭浩强 北京:清华大学出版社 2006年1月
[2]《C程序设计 》(第三版) 谭浩强 北京:清华大学出版社2005年7月
附 录
课程分工:
王兵:主界面的设计与实现,商品的显示,程序的整合。
叶大鹏:商品的删除,商品的修改。
韩守飞:清除内存中商品的数据,增加商品,创建商品类节点。
汪磊:查询商品,统计商品数量与价值。
费能超:数据存盘与装入。
系统的测试由五人共同完成。
《C++程序设计》课程设计报告
高校教职工人事管理系统
年级/专业/班:
学 生 姓 名:
学 号:
指 导 教 师:
开 题 时 间: 2021 年 09 月 06 日
完 成 时 间: 2021 年 09 月 28 日
目 录
一、引言 1
二、设计目的与任务 1
1、本课程设计的目的 1
2、本课程设计的任务 1
三、设计方案 1
1、总体设计 1
2、详细设计 2
3、程序清单 5
4、程序调试与体会 14
5、运行过程截图 14
四、结论 17
五、致谢 17
六、参考文献 17
《C++程序设计语言》课程设计
——高校教职工人事管理系统
一、引言
随着人们生活水平的提高,计算机发展异常迅速。如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过计算机对各类问题求解已经成为一种高效、快捷的方式。本课程设计就是用C++研究两点距离的求解的问题,实现对两点距离的问题求解,和实现类模板的应用以及函数的调用。
二、设计目的与任务
1、本课程设计的目的
1)通过课程设计更进一步理解C++的基础知识和面向对象的思想。
2)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
3)熟练掌握C++中类及类模板在程序中的应用,并熟练了解类中函数的调用。
2、本课程设计的任务
使用类实现编写一个高校教职工人事管理系统 ,能够实现教职工信息增加、删除、修改、查找,能够统计在职人员、中共党员、女教职工、高职称、高学历的人数,信息的输入输出能够重载输入与输出操作符,并且要求有错误提示功能,例如输入日期,输入错误提示重新输入。
三、设计方案
1、总体设计
(1)定义员工(Person)类,其中包括编号、职工分类("行政人员","教师","一般员工","退休人员","返聘人员","临时工")、性别、年龄,职务("无","科级","处级","地级");、职称("无","初级","中级","高级");、政治面貌("群众","中共党员","民主党派")、学历("中专","大专","大学","硕士","博士")。
(2)实现下面的功能
a、设计菜单实现功能选择;
b、输入功能:输入员工的信息,并保存到文件中;
c、删除资料:能够根据编号删除员工的资料;
d、修改功能:能够根据编号来修改员工的资料;
e、查询功能:能够根据编号来查看员工的资料;
f、统计功能:能够统计在职人员、中共党员、女教职工、高职称、高学历的人数。
g、错误提示功能:如果输入的资料不合法,将会提示错误,并给予指导。
2、详细设计
类 Person
char no[100]; //编号
char duty[30]; //职工分类
char sex[10]; //性别
int age; //年龄
char position[30]; //职务
char zhicheng[30]; //职称
char political[30]; //政治面貌
char record[30]; //学历
void add(); //增加信息
void delet(); //删除信息
void change(); //修改信息
void find(); //查找信息
void push(Person pp); //给类赋值
下面程序流程图中的判断框必须用菱形表示,请修改
(1) Person::add()
(2) Person::delete()
(3) Person::change()
(4).Person::find()
3、程序清单
/*
改程序需要在D盘加入文本名为 “subject.txt” 文本档案作为资料的库存。
文本档案资料内容如下:
09408201 行政人员 男 35 处级 高级 中共党员 大学
09408202 教师 女 30 处级 高级 中共党员 大学
09408203 临时工 女 20 无 高级 群众 中专
09408204 临时工 男 22 处级 初级 中共党员 博士
09408205 返聘人员 男 30 科级 高级 中共党员 大专
09408206 教师 女 40 科级 初级 中共党员 硕士
09408207 退休人员 女 68 处级 中级 民主党派 大学
09408208 一般员工 男 27 地级 高级 群众 大学
09408209 教师 男 22 处级 高级 中共党员 博士
09408210 退休人员 男 62 地级 初级 民主党派 硕士
09408211 返聘人员 女 40 无 中级 中共党员 硕士
09408212 一般员工 男 38 处级 中级 群众 大学
09408213 教师 男 46 处级 无 中共党员 博士
09408214 教师 男 27 无 高级 民主党派 大学
09408215 教师 男 18 处级 高级 中共党员 大学
*/
//下面程序开始
#include <iostream>
#include <cstring>
using namespace std;
const int N=1000;
int t=0;
int on=0; //统计在职人员人数
int dang=0; //统计中共党员人数
int nv=0; //统计女性职工人数
int gaozhi=0; //统计高职称人数
int gaoli=0; //统计高学历人数
class Person
{ public:
char sex[10]; //性别
char duty[30]; //职工分类
int age; //年龄
char political[30]; //政治面貌
char record[30]; //学历
char position[30]; //职务
char zhicheng[30]; //职称
char no[100]; //编号
void add(); //增加信息
void delet(); //删除信息
void change(); //修改信息
void find(); //查找信息
void push(Person pp);//给列成员赋值
};
Person p[N];
void Person::push(Person pp)
{
strcpy(no,pp.no);
strcpy(sex,pp.sex);
strcpy(position,pp.position);
strcpy(zhicheng,pp.zhicheng);
strcpy(political,pp.political);
strcpy(record,pp.record);
strcpy(duty,pp.duty);
age=pp.age;
if(strcmp(duty,"退休人员")) on++;
if(strcmp(sex,"女")==0) nv++;
if(strcmp(zhicheng,"高级")==0) gaozhi++;
if(strcmp(political,"中共党员")==0) dang++;
if(strcmp(record,"硕士")==0||strcmp(record,"博士")==0) gaoli++;
}
void tip()
{ cout<<"输入ENTER返回子菜单!"<<endl;
getchar();
getchar();
system("cls");
}
void tip1()
{ cout<<"输入ENTER返回主菜单!"<<endl;
getchar();
getchar();
system("cls");
}
void Load() //通过文本输入数据
{ Person S;
FILE *fp1;
bool f=1;
fp1=fopen("d:\\subject.txt","r");if(fp1==NULL) f=0;
while(f&&!feof(fp1))
{ fscanf(fp1,"%s%s%s%d%s%s%s%s",S.no,S.duty,S.sex,&S.age,S.position,S.zhicheng,S.political,S.record);
p[t++].push(S);
}
fclose(fp1);
}
void Person::add() //录入信息
{
cout<<" 现在录入编号为 "<<no<<" 的档案:"<<endl;
A1:
cout<<"输入员工的职工分类: ";
cin>>duty;
if (strcmp(duty,"行政人员")&&strcmp(duty,"教师")&&
strcmp(duty,"一般员工")&&strcmp(duty,"退休人员")&&
strcmp(duty,"返聘人员")&&strcmp(duty,"临时工"))
{cout<<"--(请输入正确的职工分类,例如:行政人员,教师,一般员工,退休人员,返聘人员,临时工)"<<endl; goto A1;}
if(strcmp(duty,"退休人员")) on++;
A2:
cout<<"输入员工的性别: ";
cin>>sex;
if(strcmp(sex,"男")&&strcmp(sex,"女"))
{cout<<"--(请输入正确的性别,例如:男,女)"<<endl; goto A2;}
if(strcmp(sex,"女")==0) nv++;
A3:
cout<<"输入员工的年龄: ";
cin>>age;
if(age<=0) {cout<<"--(请输入正确的年龄,例如:18等)"<<endl; goto A3;}
A4:
cout<<"输入员工的职务: ";
cin>>position;
if (strcmp(position,"无")&&strcmp(position,"科级")&&
strcmp(position,"处级")&&strcmp(position,"地级"))
{cout<<"--(请输入正确的职务,例如:无,科级,处级,地级)"<<endl; goto A4;}
A5:
cout<<"输入员工的职称: ";
cin>>zhicheng;
if(strcmp(zhicheng,"无")&&strcmp(zhicheng,"初级")&&
strcmp(zhicheng,"中级")&&strcmp(zhicheng,"高级"))
{cout<<"--(请输入正确的职称,例如:无,初级,中级,高级)"<<endl; goto A5;}
if(strcmp(zhicheng,"高级")==0) gaozhi++;
A6:
cout<<"输入员工的政治面貌: ";
cin>>political;
if (strcmp(political,"群众")&&strcmp(political,"中共党员")&&
strcmp(political,"民主党派"))
{cout<<"--(请输入正确的政治面貌,例如:群众,中共党员,民主党派)"<<endl; goto A6;}
if(strcmp(political,"中共党员")==0) dang++;
A7:
cout<<"输入与员工的学历: ";
cin>>record;
if (strcmp(record,"中专")&&strcmp(record,"大专")&&
strcmp(record,"大学")&&strcmp(record,"硕士")
&&strcmp(record,"博士"))
{cout<<"--(请输入正确的学历,例如:中专,大专,大学,硕士,博士)"<<endl; goto A7;}
if(strcmp(record,"硕士")==0||strcmp(record,"博士")==0) gaoli++;
cout<<" 编号为 "<<no<<" 的档案录入结束"<<endl<<endl;
t++;
tip1();
}
void Person::delet() //删除信息
{
no[0]='-';
if(strcmp(duty,"退休人员")) on--;
if(strcmp(sex,"女")==0) nv--;
if(strcmp(zhicheng,"高级")==0) gaozhi--;
if(strcmp(political,"中共党员")==0) dang--;
if(strcmp(record,"硕士")==0||strcmp(record,"博士")==0) gaoli--;
cout<<"删除员工信息成功!"<<endl<<endl;
tip1();
}
void Person::change() //修改信息
{ int n,flag=1;
do{
A:
cout<<" ***子菜单:修改资料***"<<endl
<<" 修改哪些信息?"<<endl
<<"1(编号) 2(职工分类) 3(性别) 4(年龄) 5(职务) 6(职称) 7(政治面貌) 8(学历) 9(退回主菜单)"<<endl
<<" 输入数字1-9进行修改或退出:";
cin>>n;
if(n<1||n>9) {cout<<"sorry,您输入的信息有误,请重新输入!"<<endl;goto A; }
switch(n)
{ case 1:
cout<<"输入正确的员工编号:";
cin>>no;
cout<<"员工编号修改成功"<<endl<<endl;
tip();
break;
case 2:
B1:
cout<<"输入正确的员工的职工分类: ";
if(strcmp(duty,"退休人员")) on--;
cin>>duty;
if (strcmp(duty,"行政人员")&&strcmp(duty,"教师")&&
strcmp(duty,"一般员工")&&strcmp(duty,"退休人员")&&
strcmp(duty,"返聘人员")&&strcmp(duty,"临时工"))
{cout<<"(请输入正确的职工分类,例如:行政人员,教师,一般员工,退休人员,返聘人员,临时工)"<<endl; goto B1;}
if(strcmp(duty,"退休人员")) on++;
cout<<"员工职工分类修改成功"<<endl<<endl;
tip();
break;
case 3:
B2:
cout<<"输入正确的员工的性别: ";
if(strcmp(sex,"女")==0) nv--;
cin>>sex;
if (strcmp(sex,"男")&&strcmp(sex,"女"))
{cout<<"(请输入正确的性别,例如:男,女)"<<endl; goto B2;}
if(strcmp(sex,"女")==0) nv++;
cout<<"员工性别修改成功"<<endl<<endl;
tip();
break;
case 4:
B3:
cout<<"输入正确的员工的年龄: ";
cin>>age;
if(age<=0)
{cout<<"(请输入正确的年龄,例如:18等)"<<endl; goto B3;}
cout<<"员工年龄修改成功"<<endl<<endl;
tip();
break;
case 5:
B4:
cout<<"输入正确的员工的职务: ";
cin>>position;
if (strcmp(position,"无")&&strcmp(position,"科级")&&
strcmp(position,"处级")&&strcmp(position,"地级"))
{cout<<"(请输入正确的职务,例如:无,科级,处级,地级)"<<endl; goto B4;}
cout<<"员工职务修改成功"<<endl<<endl;
tip();
break;
case 6:
B5:
cout<<"输入正确的员工的职称: ";
if (strcmp(zhicheng,"高级")==0) gaozhi--;
cin>>zhicheng;
if (strcmp(zhicheng,"无")&&strcmp(zhicheng,"初级")&&
strcmp(zhicheng,"中级")&&strcmp(zhicheng,"高级"))
{cout<<"(请输入正确的职称,例如:无,初级,中级,高级)"<<endl; goto B5;}
cout<<"员工职称修改成功"<<endl<<endl;
if(strcmp(zhicheng,"高级")==0) gaozhi++;
tip();
break;
case 7:
B6:
cout<<"输入正确的员工的政治面貌: ";
if(strcmp(political,"中共党员")==0) dang--;
cin>>political;
if (strcmp(political,"群众")&&strcmp(political,"中共党员")&&
strcmp(political,"民主党派"))
{cou
展开阅读全文