| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 876 人关注过本帖
标题:向朋友们请教这个关于这个程序的问题.
只看楼主 加入收藏
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

恩,谢谢,受教


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-06-02 12:31
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
因为第一种是在构造新对象的的时候用了另外对象的内容复制,所以调用拷贝构造函数
第二种是在构造完以后,自然就不能调用拷贝构造函数了,构造函数只用一次,所以调用重载=运算符

[此贴子已经被作者于2006-6-2 12:41:53编辑过]


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-06-02 12:41
师妃暄
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:805
专家分:107
注 册:2006-3-1
收藏
得分:0 

谢谢ooooo了

我知道了..呵呵~


有实力才会有魅力 实力来自坚持不懈的努力
2006-06-02 16:46
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 
完全不明白大家的意识

2006-06-03 22:52
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
收藏
得分:0 

我自己按照它的思路编了一个结果没运行出来 希望大家指点指点小弟吧 谢谢大家了
#include<iostream.h>
#include<string.h>

class stack
{
int size;
int top;
int bottom;
char m[];
public:
stack(int size1);
{
size=size1;
m=new char[size-1];
top=bottom=0;
}
stack(const stack &other);
{
size=other.size;
m=new char[other.size-1];
}

~stack()
{
delete []m;
}
void push(char);
char pop(char);
bool empty();
void disp();
};

stack::void push(char a)
{
if(top-bottom<size)
m[top]=a;
top=top+1;
}

stack::char pop()
{
if((top-1)>bottom)
return m[top-1];
else
return;
}

stack::bool empty()
{
if(top==bottom)
return 1;
else
return 0;
}

stack::void disp()
{
for(int i=bottom;i<top;i++)
{
cout<<m[i]<<endl;
}
}

int main(void)
{
stack s1(50);
s1.push('1');
s1.disp();
return 0;
}

2006-06-04 21:01
gototheworld
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2006-3-24
收藏
得分:0 

[CODE]#include<iostream>
using namespace std;
class stack
{
int *top;
int *bottom;
int sz;
public:
stack(int sz1);
stack() {}

stack(const stack & s);
~stack()
{
delete bottom;
}

void push(int i);
int pop();
};
stack::stack(const stack & s)
{
sz = s.sz;
bottom = new int[s.sz];
top = bottom;

}

stack::stack(int sz1)
{
sz=sz1;
bottom=new int[sz];
top= bottom;
}

void stack::push(int i)
{
if(top != top + sz)
{
*top = i;
top++;
}

}

int stack::pop()
{

top--;
if(top >= bottom)
return *top;
else
exit(-1);
}


int main()
{

stack s1(50);
stack s2=s1;
s2.push(5);
cout<<s2.pop()<<endl;
system("pause");
return 0;

}
[/CODE]


路漫漫其修远兮 吾将上下而求索
2006-06-04 22:45
absentlyh
Rank: 2
等 级:论坛游民
帖 子:105
专家分:14
注 册:2006-6-5
收藏
得分:0 

#include<iostream.h>
#include<stdlib.h>
#include<string.h>
struct student
{
long xh;
char name[12];
int asp,english,sql,vb;
int sum,avg;
}sname[20];

//*********************************************************************************************
void shuru()
{
int i;
for(i=0;i<20;i++)
{
int a;
cout<<"1.按行录入."<<endl;
cout<<"2.按列录入."<<endl;
cout<<"按0返回主菜单:"<<endl;
cout<<"请输入:";
cin>>a;
if(a==1)
{
system("cls");
for(i=1;i<21;i++)
{
cout<<"请输入学生的学号:";
cout<<sname[i].xh;
cout<<"请输入学生名字:";
cin>>sname[i].name;
cout<<endl;
cout<<"请输入学生的asp成绩:";
cin>>sname[i].asp;
cout<<endl;
cout<<"请输入学生english的成绩:";
cin>>sname[i].english;
cout<<endl;
cout<<"请输入学生sql的成绩:";
cin>>sname[i].sql;
cout<<endl;
cout<<"请输入学生vb的成绩:";
cin>>sname[i].vb;
cout<<endl;
cout<<"已经录入完成:"<<endl;
}
}
if(a==2)
{
system("cls");
int b,i;
cout<<"请选择科目:"<<endl;
cout<<"1.asp"<<endl;
cout<<"2.english"<<endl;
cout<<"3.sql**"<<endl;
cout<<"4.vb"<<endl;
cout<<"请选择:";
cin>>b;
if(b==1)
{
for(i=1;i<21;i++)
{
cout<<"请输入"<<i<<"个学生asp成绩:";
cin>>sname[i].asp;
}
}
else if(b==2)
{
for(i=1;i<21;i++)
{
cout<<"请输入"<<i<<"个学生english成绩:";
cin>>sname[i].english;
}
}
else if(b==3)
for(i=1;i<21;i++)
{
{
cout<<"请输入"<<i<<"个学生sql成绩:";
cin>>sname[i].sql;
}
}
else if(b==4)
{
for(i=1;i<21;i++)
{
cout<<"请输入"<<i<<"个学生vb成绩:";
cin>>sname[i].vb;
}
}
if(b==0)
shuru();

}
}
//************************************************************************************************************************
void search()
{
system("cls");
int i;
cout<<endl;
for(i=0;i<80;i++)
cout<<"-";
cout<<endl;
cout<<"1.查询不及格成绩的学生:"<<endl;
cout<<"2.查询学生的成绩:"<<endl;
cout<<"0.返回"<<endl;
cout<<"请选择:";
int a;
cin>>a;
if(a==1)
{
system("cls");
cout<<"查询不及格学生的课们:"<<endl;
cout<<"1.asp"<<endl;
cout<<"2.english"<<endl;
cout<<"3.sql"<<endl;
cout<<"4.vb"<<endl;
int b;
if(b==1)
{

int c;
for(c=1;c<21;c++)
{
if(sname[c].asp<60)
cout<<"asp的不及格成绩的学生为:";
cout<<sname[c].name<<endl;
}
if(b==2)
for(c=1;c<21;c++)
{
if(sname[c].english<60)
{
cout<<"english的不及格的成绩的学生为:";
cout<<sname[c].name<<endl;
cout<<"english的不及格的成绩的学生的学号:";
cout<<sname[c].xh<<endl;
}
}
if(b==3)
for(c=1;c<21;c++)
{
if(sname[c].sql<60)
{
cout<<"sql的成绩不及格的学生为:";
cout<<sname[c].name<<endl;
}
else
return;
}
if(b==4)
for(c=1;c<21;c++)
{
if(sname[c].vb<60)
{
cout<<"vb的成绩不及格的学生为:";
cout<<sname[c].name<<endl;
}
else
return;
}

}

if(a==2)
{
char cname[12];
int i;
cout<<"输入你要查询学生的名字:"
cin>>cname[12]; //注意这个地方可能出错
for(i=1;i<21;i++)
{
if(strcmp(sname[i].name,cname[12])==0)
{
cout<<sname[i].name<<"学生的成绩为:"<<endl;
cout<<"asp的成绩:"<<sname[i].asp<<endl;
cout<<"englishi的成绩"<<sname[i].english<<endl;
cout<<"vb的成绩"<<sname[i].vb<<endl;
}
else
return ;
}
if(a==0)
search();
}

}
//*******************************************************************************************************************
void changekm()
{
char name[];
int i,a,b,c;
cout<<"请输入要修改成绩的学生名字:";
cin>>name[];
for(i=1;i<21;i++)
{
if(strcmp(sname[i].name,name[])==0))
a=i;
else
cout<<"没有这个学生"<<endl;
return;
}
cout<<"1"<<sname[a]<<"的asp成绩分数为:"<<sname[i].asp<<endl;
cout<<"2"<<sname[a]<<"的english成绩分数为:"<<sname[i].english<<endl;
cout<<"3"<<sname[a]<<"的sql成绩分数为:"<<sname[i].english<<endl;
cout<<"4"<<sname[a]<<"的vb成绩分数为:"<<sname[i].vb<<endl;

cout<<"请你按数字选择要修改的科目:"
cin>>b;
if(b==1)
{
cout<<"输入你asp修改的分数:"
cin>>c;
strcopy(sname[a].asp,c);
cout<<"修改完成!"<<endl;
}
if else(b==2)
{
cout<<"输入你english修改的分数:"
cin>>c;
strcopy(sname[a].english,c);
cout<<"修改完成!"<<endl;
}
if else(b==3)
{
cout<<"输入你sql修改的分数:"
cin>>c;
strcopy(sname[a].sql,c);
cout<<"修改完成!"<<endl;
}
if else(b==4)
{
cout<<"输入你vb修改的分数:"
cin>>c;
strcopy(sname[a].vb,c);
cout<<"修改完成!"<<endl;
}
else
changekm();
}
void change()
{
system("cls")
cout<<"1. 个别成绩修改:"<<endl;
cout<<"2.二次录入:"<<endl;
cout<<"0.返回"<<endl;
cout<<"请选择:";
int a;
cin>>a;
if(a==1)
changekm();
}


void changelu()
{


//************************************************************************************************************************
void main()
{
int password;
cout<<"请输入管理员密码:";
cin>>password;
if(password==123)
{
system("cls");
int i;
cout<<" 学生成绩管理"<<endl;
for(i=1;i<80;i++)
cout<<"*";
cout<<endl;
cout<<" 请选择以下功能"<<endl;
cout<<" 1.成绩录入:"<<endl;
cout<<" 2.成绩查询:"<<endl;
cout<<" 3.成绩修改:"<<endl;
cout<<" 4.成绩备份:"<<endl;
cout<<" 5.退出:"<<endl;


for(i=1;i<80;i++)
cout<<"*";
cout<<endl;
char n;
cout<<" 请输入:";
cin>>n;
switch(n)
{
case '1':

{
system("cls");
cout<<"进入录入界面"<<endl;
shuru();
break;
}

case '2':
{
cout<<"进入查询界面";
search();
break;
}
case '3':
{

cout<<"进入修改界面";
break;
}
case '4':
{

cout<<"成绩备份";
break;
}
case '5':
break;
default :
cout<<"输入错误,请重新输入"<<endl;
}

}
else
return ;
}

}
这个是小弟写的一个小程序就是有个一个错误怎么都改不出来 请各位大哥大姐帮帮小弟 谢谢你们了


我就是我!我自信,我成功!
2006-06-05 21:05
absentlyh
Rank: 2
等 级:论坛游民
帖 子:105
专家分:14
注 册:2006-6-5
收藏
得分:0 

#include<iostream.h>
#include<stdlib.h>
#include<string.h>
struct student
{
long xh;
char name[12];
int asp,english,sql,vb;
int sum,avg;
}sname[20];

//*********************************************************************************************
void shuru()
{
int i;
for(i=0;i<20;i++)
{
int a;
cout<<"1.按行录入."<<endl;
cout<<"2.按列录入."<<endl;
cout<<"按0返回主菜单:"<<endl;
cout<<"请输入:";
cin>>a;
if(a==1)
{
system("cls");
for(i=1;i<21;i++)
{
cout<<"请输入学生的学号:";
cout<<sname[i].xh;
cout<<"请输入学生名字:";
cin>>sname[i].name;
cout<<endl;
cout<<"请输入学生的asp成绩:";
cin>>sname[i].asp;
cout<<endl;
cout<<"请输入学生english的成绩:";
cin>>sname[i].english;
cout<<endl;
cout<<"请输入学生sql的成绩:";
cin>>sname[i].sql;
cout<<endl;
cout<<"请输入学生vb的成绩:";
cin>>sname[i].vb;
cout<<endl;
cout<<"已经录入完成:"<<endl;
}
}
if(a==2)
{
system("cls");
int b,i;
cout<<"请选择科目:"<<endl;
cout<<"1.asp"<<endl;
cout<<"2.english"<<endl;
cout<<"3.sql**"<<endl;
cout<<"4.vb"<<endl;
cout<<"请选择:";
cin>>b;
if(b==1)
{
for(i=1;i<21;i++)
{
cout<<"请输入"<<i<<"个学生asp成绩:";
cin>>sname[i].asp;
}
}
else if(b==2)
{
for(i=1;i<21;i++)
{
cout<<"请输入"<<i<<"个学生english成绩:";
cin>>sname[i].english;
}
}
else if(b==3)
for(i=1;i<21;i++)
{
{
cout<<"请输入"<<i<<"个学生sql成绩:";
cin>>sname[i].sql;
}
}
else if(b==4)
{
for(i=1;i<21;i++)
{
cout<<"请输入"<<i<<"个学生vb成绩:";
cin>>sname[i].vb;
}
}
if(b==0)
shuru();

}
}
//************************************************************************************************************************
void search()
{
system("cls");
int i;
cout<<endl;
for(i=0;i<80;i++)
cout<<"-";
cout<<endl;
cout<<"1.查询不及格成绩的学生:"<<endl;
cout<<"2.查询学生的成绩:"<<endl;
cout<<"0.返回"<<endl;
cout<<"请选择:";
int a;
cin>>a;
if(a==1)
{
system("cls");
cout<<"查询不及格学生的课们:"<<endl;
cout<<"1.asp"<<endl;
cout<<"2.english"<<endl;
cout<<"3.sql"<<endl;
cout<<"4.vb"<<endl;
int b;
if(b==1)
{

int c;
for(c=1;c<21;c++)
{
if(sname[c].asp<60)
cout<<"asp的不及格成绩的学生为:";
cout<<sname[c].name<<endl;
}
if(b==2)
for(c=1;c<21;c++)
{
if(sname[c].english<60)
{
cout<<"english的不及格的成绩的学生为:";
cout<<sname[c].name<<endl;
cout<<"english的不及格的成绩的学生的学号:";
cout<<sname[c].xh<<endl;
}
}
if(b==3)
for(c=1;c<21;c++)
{
if(sname[c].sql<60)
{
cout<<"sql的成绩不及格的学生为:";
cout<<sname[c].name<<endl;
}
else
return;
}
if(b==4)
for(c=1;c<21;c++)
{
if(sname[c].vb<60)
{
cout<<"vb的成绩不及格的学生为:";
cout<<sname[c].name<<endl;
}
else
return;
}

}

if(a==2)
{
char cname[12];
int i;
cout<<"输入你要查询学生的名字:"
cin>>cname[12]; //注意这个地方可能出错
for(i=1;i<21;i++)
{
if(strcmp(sname[i].name,cname[12])==0)
{
cout<<sname[i].name<<"学生的成绩为:"<<endl;
cout<<"asp的成绩:"<<sname[i].asp<<endl;
cout<<"englishi的成绩"<<sname[i].english<<endl;
cout<<"vb的成绩"<<sname[i].vb<<endl;
}
else
return ;
}
if(a==0)
search();
}

}
//*******************************************************************************************************************
void changekm()
{
char name[];
int i,a,b,c;
cout<<"请输入要修改成绩的学生名字:";
cin>>name[];
for(i=1;i<21;i++)
{
if(strcmp(sname[i].name,name[])==0))
a=i;
else
cout<<"没有这个学生"<<endl;
return;
}
cout<<"1"<<sname[a]<<"的asp成绩分数为:"<<sname[i].asp<<endl;
cout<<"2"<<sname[a]<<"的english成绩分数为:"<<sname[i].english<<endl;
cout<<"3"<<sname[a]<<"的sql成绩分数为:"<<sname[i].english<<endl;
cout<<"4"<<sname[a]<<"的vb成绩分数为:"<<sname[i].vb<<endl;

cout<<"请你按数字选择要修改的科目:"
cin>>b;
if(b==1)
{
cout<<"输入你asp修改的分数:"
cin>>c;
strcopy(sname[a].asp,c);
cout<<"修改完成!"<<endl;
}
if else(b==2)
{
cout<<"输入你english修改的分数:"
cin>>c;
strcopy(sname[a].english,c);
cout<<"修改完成!"<<endl;
}
if else(b==3)
{
cout<<"输入你sql修改的分数:"
cin>>c;
strcopy(sname[a].sql,c);
cout<<"修改完成!"<<endl;
}
if else(b==4)
{
cout<<"输入你vb修改的分数:"
cin>>c;
strcopy(sname[a].vb,c);
cout<<"修改完成!"<<endl;
}
else
changekm();
}
void change()
{
system("cls")
cout<<"1. 个别成绩修改:"<<endl;
cout<<"2.二次录入:"<<endl;
cout<<"0.返回"<<endl;
cout<<"请选择:";
int a;
cin>>a;
if(a==1)
changekm();
}


void changelu()
{


//************************************************************************************************************************
void main()
{
int password;
cout<<"请输入管理员密码:";
cin>>password;
if(password==123)
{
system("cls");
int i;
cout<<" 学生成绩管理"<<endl;
for(i=1;i<80;i++)
cout<<"*";
cout<<endl;
cout<<" 请选择以下功能"<<endl;
cout<<" 1.成绩录入:"<<endl;
cout<<" 2.成绩查询:"<<endl;
cout<<" 3.成绩修改:"<<endl;
cout<<" 4.成绩备份:"<<endl;
cout<<" 5.退出:"<<endl;


for(i=1;i<80;i++)
cout<<"*";
cout<<endl;
char n;
cout<<" 请输入:";
cin>>n;
switch(n)
{
case '1':

{
system("cls");
cout<<"进入录入界面"<<endl;
shuru();
break;
}

case '2':
{
cout<<"进入查询界面";
search();
break;
}
case '3':
{

cout<<"进入修改界面";
break;
}
case '4':
{

cout<<"成绩备份";
break;
}
case '5':
break;
default :
cout<<"输入错误,请重新输入"<<endl;
}

}
else
return ;
}

}
这个是小弟写的一个小程序,但是就是一个错误 小弟怎么也找不到 请各位大虾帮帮我 


我就是我!我自信,我成功!
2006-06-05 21:09
快速回复:向朋友们请教这个关于这个程序的问题.
数据加载中...
 
   



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

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