| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 337 人关注过本帖
标题:c++类的设计等问题。很急!!!
只看楼主 加入收藏
zangmoli
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-1-5
收藏
 问题点数:0 回复次数:0 
c++类的设计等问题。很急!!!
用c++编写。我这里有个例子,需要根据例子写出:模块分析(程序分几块 每块的作用 包含及各类)和 类的设计(程序中主要类的属性方法分析,最好有类的关系图)。要求分开写,整齐工整。(例如下面的格式)
模块分析 (程序分几块 每块的作用 包含及各类)


类的设计(程序中主要类的属性方法分析,最好有类的关系图)


下面是例子,源代码如果有错,可以一并修改了。但要保证能够运行成功。
例子:设计一个电话簿管理程序,要求:
1、 具有添加、删除、显示、修改和查询联系人电话号码的功能。
2、 联系人的信息保存到文件中。
3、 可以实现为控制台程序或图形界面程序。

#include "stdafx.h"
#include
#include

#include
class stu
{
char name[20];
double age,homephone,telphone;
char sex;
public:
stu(){}
stu(char n[20],char se,double ag,double ho,double te)
{
strcpy(name, n);
age=ag;
homephone=ho;
telphone=te;
}
friend void main();
};

void main()
{
cout<<"请选择您需要的操作!"<cout<<"操作:"<cout<<"(0)通讯录录入"<cout<<"(1)增加人员"<cout<<"(2)删除人员"<cout<<"(3)修改数据"<cout<<"(4)显示记录"<cout<<"(5)退出"<cout<<"选择相关操作请输入相对的括号里的阿拉伯数字!"<stu *s[50];
int i=0;
int j=0;
bool flag2=0;
char p;
do
{
cin>>p;
if((p>='0'&&p<='5'))
flag2=1;
else
cout<<"指令错误!请重新输入:"<}while(flag2==0);

switch(p)
{

case '0': //(0)通讯录录入
{
char name[20];
double age,homephone,telphone;
char sex,c;
do{

cout<<"请输入姓名:"<cin>>name;
cout<<"请输入性别:"<cin>>sex;
cout<<"请输入年龄:"<cin>>age;
cout<<"请输入家里的电话号码:"<cin>>homephone;
cout<<"请输入移动电话号码:"<cin>>telphone;
j++;
s[i]=new stu(name, sex, age, homephone , telphone);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"<cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<cin>>c;
}
else
flag2=1;
}while(flag2==0);
}while(c=='y');
break; }
////////////////////////////////////////////////////////////////////
case '1': //(1)增加人员(Add)
{
char name[20];
double age,homephone,telphone;
char sex,c;
do{

cout<<"请输入姓名:"<cin>>name;
cout<<"请输入性别:"<cin>>sex;
cout<<"请输入年龄:"<cin>>age;
cout<<"请输入家里的电话号码:"<cin>>homephone;
cout<<"请输入移动电话号码:"<cin>>telphone;
j++;
s[i]=new stu(name, sex, age, homephone , telphone);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"<cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<cin>>c;
}
else
flag2=1;
}while(flag2==0);
}while(c=='y');
break; }

case '2': //(2)删除人员(Delete)
{
char name[20];bool flag3=0;char c;
do{
cout<<"请输入您要删除的学生姓名:"<cin>>name;
for(int h=0;h{
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do{
s[h]=s[h+1];
h++;
}while(h<=i);
}
}
if(flag3==0)
cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!";
cout<<"要继续删除吗?(y/n)"<cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<cin>>c;
}
}while(c=='y');
break; }


case '3': //(3)修改数据(Alter)
{
char name[20],se;double ag,ho,te;flag2=0;
char c;
do
{
cout<<"请输入您要修改的学生的姓名:"<cin>>name;
for(int h=0;h{
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"请输入性别:"<cin>>se;
cout<<"请输入年龄:"<cin>>ag;
cout<<"请输入家里的电话号码:"<cin>>ho;
cout<<"请输入移动电话号码:"<cin>>te;
s[h]->sex=se;
s[h]->age=ag;
s[h]->homephone=ho;
s[h]->telphone=te;
cout<<"数据修改成功!";
}
}
if(flag2==0)
{
cout<<"您要修改的学生本来就不存在!请检查重新输入!"<}
cout<<"想继续修改吗(y/n)"<cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<cin>>c;
}
}while(c=='y');
break; }


case '4': //(4)显示记录(List)
{
cout<<"本系统所有通讯录的数据如下:"<if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!"<for(int k=0;k{
cout<<<" "<telphone<}
break; } }


cout<<"您想继续进行其他操作吗?(y/n)"<bool flag4=0;
do
{
cin>>p;
if(p!='y'&&p!='n')
cout<<"指令错误!请重新输入!"<else
flag4=1;
}while(flag4==0);

if(p=='y')
cout<<"请输入操作代码(0 通讯录录入n1 增加人员(Add)n2 删除人员(Delete)n3 修改数据(Alter)n4 显示记录(List)n 5 退出(Exit))"<cin>>p;
for(int x=0;x{
delete s[x];
cout<<"删除所有成员!"<}

}
搜索更多相关主题的帖子: 设计 
2010-01-13 14:30
快速回复:c++类的设计等问题。很急!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019779 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved