问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

帮忙做个简单点的c++程序呗,要求如下

发布网友 发布时间:2024-07-07 14:02

我来回答

4个回答

热心网友 时间:2024-07-09 11:04

//没楼上的简单,但是更完善一些,还有什么问题自己可以测试一下
#define IDL 20
#define NAMEL 20
#define ADDREL 60
enum Sex{male,female};
struct Identify{
char ID[IDL];
char name[NAMEL];
Sex sex;
char addre[ADDREL];
struct {
int year;
int month;
int day;
}date;
};
class IDMSys{
private:
Identify *IDList;
int size;
int csize;
int enlarge;
void printStruct(int index=0){
if(index<0||csize<index)cout<<"节点"<<index<<"没有数据"<<endl;
else {
cout<<IDList[index].ID<<'\t';
cout<<IDList[index].name<<'\t';
//cout<<IDList[index].sex==0? '女':'男'<<'\t';
switch(IDList[index].sex){
case female:cout<<"女"<<'\t';break;
case male:cout<<"男"<<'\t';break;
default:cout<<"性别代码错误!"<<'\t';
}
cout<<IDList[index].date.year<<"年"<<IDList[index].date.month<<"月"<<IDList[index].date.day<<"日"<<'\t';
cout<<IDList[index].addre<<endl;
}
}
void printList(){
if(!csize) {cout<<"没有数据!"<<endl;return;}
else
for(int i=0;i<csize;i++)
printStruct(i);
}
void dataCpy(Identify &aim,Identify sour){
strcpy(aim.ID,sour.ID);
strcpy(aim.name,sour.name);
aim.sex=sour.sex;
aim.date.year=sour.date.year;
aim.date.month=sour.date.month;
aim.date.day=sour.date.day;
strcpy(aim.addre,sour.addre);
}
void addIntoList(Identify id){
if(csize<size){
dataCpy(IDList[csize],id);
csize++;
}
else {
Identify *ide=new Identify[size+enlarge];
for(int i=0;i<size;i++)
dataCpy(ide[i],IDList[i]);
dataCpy(ide[size],id);
size=size+enlarge;
csize++;
delete []IDList;
IDList=ide;
}
}
void addInfo(){
addIntoList(inputInfo());
}
Identify inputInfo(){
Identify id;
cout<<"输入身份证号码:"<<'\t';
cin.getline(id.ID,IDL);
cout<<"输入姓名:"<<'\t';
cin.getline(id.name,NAMEL);
char ch[3];
while(true){
cout<<"输入性别:(男,女)"<<endl;
cin.getline(ch,3);
if(!strcmp(ch,"男")) {id.sex=male;break;}
else if(!strcmp(ch,"女")) {id.sex=female;break;}
cin.clear();
cin.sync();
}
cin.clear();
cin.sync();
bool f=true;
char b[11];
while(f){
cout<<"输入出生年月:(如:1990/12/12)"<<'\t';
cin.getline(b,11);
for(int i=0,j=0;(i==4||i==7||i==10||'0'<=b[i]&&b[i]<='9')&&i<11;i++){
switch(i){
case 0:case 1:case 2: case 3:j=j*10+b[i]-'0';break;
case 4:id.date.year=j;j=0;break;
case 5:case 6: j=j*10+b[i]-'0';break;
case 7:id.date.month=j;j=0;break;
case 8:case 9: j=j*10+b[i]-'0';break;
case 10:id.date.day=j;f=false;break;
default:break;
}
}
cin.clear();
cin.sync();
}
cout<<"输入地址:"<<'\t';
cin.getline(id.addre,ADDREL);
cin.clear();
cin.sync();
return id;
}
void modifyInfo(){
cout<<"输入要修改的身份证号码"<<endl;
char ch[IDL];
cin.getline(ch,IDL);
cin.clear();
cin.sync();
for(int i=0;i<csize;i++){
if(!strcmp(IDList[i].ID,ch)){
Identify id=inputInfo();
IDList[i].date.day=id.date.day;
IDList[i].date.month=id.date.month;
IDList[i].date.year=id.date.year;
strcpy(IDList[i].ID,id.ID);
strcpy(IDList[i].name,id.name);
strcpy(IDList[i].addre,id.addre);
IDList[i].sex=id.sex;
}
}
}
void serachWithID(){
cout<<"输入身份证号码:"<<'\t';
char ch[IDL];
cin.getline(ch,IDL);
cin.clear();
cin.sync();
for(int i=0;i<csize;i++){
if(!strcmp(ch,IDList[i].ID))
printStruct(i);
}
}
void serachWithName(){
cout<<"输入姓名:"<<'\t';
char ch[NAMEL];
cin.getline(ch,NAMEL);
cin.clear();
cin.sync();
for(int i=0;i<csize;i++){
if(!strcmp(ch,IDList[i].name))
printStruct(i);
}
}
void serach(){
char ch;
while(true){
cout<<"选择查找方式:(1.按ID 查找 2.按姓名查找)"<<endl;
cin.get(ch);
cin.clear();
cin.sync();
if((ch-'0')==1) {serachWithID();break;}
else if((ch-'2')==0) {serachWithName();break;}
}
}
void menuePrint(){
cout<<"********1."<<"浏览数据"<<endl;
cout<<"********2."<<"增加数据"<<endl;
cout<<"********3."<<"修改数据"<<endl;
cout<<"********4."<<"查询数据"<<endl;
cout<<"********5."<<"返回本菜单"<<endl;
cout<<"********6."<<"退出"<<endl;
}
int menueChoice(){
char ch;
while(true){
cout<<"您的选择:"<<endl;
cin.get(ch);
cin.clear();
cin.sync();
if('0'<ch&&ch<'7') return (ch-'0');

}
}
public:
IDMSys(int s=20){
if(s<=0){s=20;cout<<"大小有误重置为20"<<endl;}
size=s;
IDList=new Identify[size];
csize=0;
enlarge=20;
}
IDMSys(IDMSys &idm){
size=idm.size;
IDList=new Identify[size];
csize=idm.csize;
for(int i=0;i<csize;i++){
IDList[i]=idm.IDList[i];
}
enlarge=idm.enlarge;
}
void menueRun(){
menuePrint();
int i=menueChoice();
while(i!=6){
switch(i){
case 1:printList();break;
case 2:addInfo();break;
case 3:modifyInfo();break;
case 4:serach();break;
case 5:menuePrint();break;
default:break;
}
i=menueChoice();
}
cout<<"谢谢使用!"<<endl;
}
~IDMSys(){
delete []IDList;
//cout<<" "<<endl;
}
};
void main(){
IDMSys test=IDMSys();
test.menueRun();
system("pause");
}

热心网友 时间:2024-07-09 11:05

#include<iostream>
#include<string>
using namespace std;
class SFZ
{
private:
char id[20];
char name[20];
bool sex;
char address[100];
int yx;
public:
SFZ(){}
char *getid()//查询id
{
return id;
}
friend class POL;
char *jud()//判断男女
{
if(sex==true) return "male";
else return "female";
}
void set(char i[],char na[],bool s,char add[],int y)//插入
{
strcpy(id,i);
strcpy(name,na);
sex=s;
strcpy(address,add);
yx=y;
}
void prin()//显示
{
cout<<"name:"<<name<<endl;
cout<<"sex:"<<jud()<<endl;
cout<<"ID:"<<id<<endl;
cout<<"address:"<<address<<endl;
cout<<"year limit:"<<yx<<endl;
}
};

int main()
{
SFZ sfz[100],*p;
sfz[0].set("1402021963012356899","zhangsan",true,"datong in china",50);//插入数值
sfz[0].prin();//显示
char i[100];
cout<<sfz[0].getid();
//查询id
cin>>i;
if(!strcmp(i,sfz[0].getid())) cout<<"right!";
return 0;
}

//大体这样,具体自己改改

热心网友 时间:2024-07-09 11:05

我看你最好还是自己看一下书来写,只需要了解些基本的就可以把这个程序写出来了,如果实在不行大部分地方用C语言就可以搞定了。一般“假期回去补”这种话都是空话。

热心网友 时间:2024-07-09 11:06

这还简单?????有些了大学四年学完可能都不会编这个简单的。我想应该是文件的处理那块的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 廊坊十九中属于下县么? word文档如何插入页码? 如何给Word文档插入页码 梦见已经死去的亲人在梦里还活这,跟我说话,具体内容看 补充说明。高人... 女人在向男人表白男人说吓了一身冷汗,这是啥意思?求大家帮帮我_百度知... 紧急求助,以B,T,X为开头的表示积极意义的单词,想作为班级口号! ...还有刷防火涂料时套土建定额还是安装定额啊 我想问问怎样套炉子内堂技巧 身份证号码换算成年龄 古文端午节祝福语 梦见掉进迁坟坑的预兆 怎么将链接生成二维码 如何将链接生成二维码 端午节古文祝福语大全简短 概括宋江引军攻打西岳华山时用了什么办法攻陷了华洲城,同时又得了哪... 梦到狗狗死了代表什么 温州新世纪中油油品销售有限公司怎么样? 温州市三禾科技有限公司怎么样? 温州航友石化有限公司怎么样? 温州市万信贸易有限公司怎么样? 温州紫凌奥东进出口有限公司公司简介 忘记提交作业了,还会自动提交吗? 牙石快速脱落的办法醋 血涂片血涂片-方法 北大口腔医院洗牙挂什么科 猴头菇佛手丁香沙棘茶的功效 平淡无奇是什么意思平淡无奇的解释 始终无奇是什么意思? 煮蛋,不要只用清水!教你饭店做法,蛋壳好剥,口感嫩营养高 煮茶叶蛋的方法(难怪饭店的茶叶蛋好吃又入味!) 多个用电器的功率可以叠加吗?就好比是两个100W灯炮串接或并接他们的功 ... 海南荔枝是几月份的水果 海南荔枝属于哪个月的水果 观音菩萨叫什么 山地丘陵高原平原盆地的区别 陕西宁陕特产:宁陕香菇 华凌空调价格怎么这么便宜 93年听过找了15年,歌词《今夜晚星也许知道这事情 人在等你反应 结局仍... 超级会员是绿钻豪华版吗? QQ音乐绿钻可以换超级会员吗? 新买的加水电热毯里面有水吗 四川南充至深圳5月23号有几趟飞机