| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 293 人关注过本帖
标题:程序中的一个问题
只看楼主 加入收藏
三岩
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2010-7-19
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
程序中的一个问题
这是我写的程序中的出现的一个问题,请问是怎么回事,该怎样解决!!谢谢了
图片附件: 游客没有浏览图片的权限,请 登录注册
2011-03-31 22:03
Ben2212
Rank: 2
来 自:AHU
等 级:论坛游民
帖 子:12
专家分:75
注 册:2011-3-30
收藏
得分:4 
你把程序贴出来啊,不然很难分析的,估计可能是你用指针出错了
2011-03-31 22:07
三岩
Rank: 1
等 级:新手上路
帖 子:20
专家分:6
注 册:2010-7-19
收藏
得分:0 
回复 2楼 Ben2212
#include<iostream>
#include<string>
using namespace std;
#define overflow -2
typedef struct{
string name;
int age;
int worktime;
char sex;
char marriage;
int grade;
float wage;
bool tired;
}*stuff,stu_inf;
//*********************
void main()//主函数
{int num;
stuff head;
cout<<"请输入职工人数:";
cin>>num;
void Init(stuff &p,int n);
void stuff_inf(stuff p,int n);
void bef_inf(stuff p,int n);
void alter(stuff p,int n);
void aft_inf(stuff p,int n);//函数声明
Init(head,num);
stuff_inf(head,num);
    cout<<"************************************"<<endl;
cout<<"更改前的职工信息"<<endl;
bef_inf(head,num);
alter(head,num);
cout<<"************************************"<<endl;
cout<<"更改后的职工信息"<<endl;
aft_inf(head,num);//函数调用
}
//****************************************
void Init(stuff &p,int n)//开辟装载职工信息的空间
{p=(stuff)malloc(n*sizeof(stu_inf));
if(!p) exit(overflow);
}
//*************************
void stuff_inf(stuff p,int n)//输入职工信息
{stuff stu_p1;
for(stu_p1=p;stu_p1<p+n;stu_p1++)
{
cin>>stu_p1->name>>stu_p1->age>>stu_p1->worktime>>stu_p1->sex>>stu_p1->marriage>>stu_p1->grade>>stu_p1->wage>>stu_p1->tired;
}
}
void bef_inf(stuff p,int n)//输出先前的职工信息
{stuff stu_p2;
for(stu_p2=p;stu_p2<p+n;stu_p2++)
{
cout<<stu_p2->name<<' '<<stu_p2->age<<' '<<stu_p2->worktime<<' '<<stu_p2->sex<<' '<<stu_p2->marriage<<' '<<stu_p2->grade<<' '<<stu_p2->wage<<' '<<stu_p2->tired<<endl;
}
}
//*************************
void alter(stuff p,int n)//更改职工工资
{stuff stu_p3;
for(stu_p3=p;stu_p3<p+n;stu_p3++)
{
if(stu_p3->tired==true) stu_p3->wage+=50;
switch(stu_p3->grade)
{
case 1:stu_p3->wage+=20;break;
    case 2:stu_p3->wage+=40;break;
    case 3:stu_p3->wage+=60;break;
    case 4:stu_p3->wage+=80;break;
    case 5:stu_p3->wage+=100;break;
   default:cout<<" "<<endl;break;
  
}
}
}
//********************
void aft_inf(stuff p,int n)
{stuff stu_p4;//输出更改后的职工信息
for(stu_p4=p;stu_p4<p+n;stu_p4++)
{
cout<<stu_p4->name<<' '<<stu_p4->age<<' '<<stu_p4->worktime<<' '<<stu_p4->sex<<' '<<stu_p4->marriage<<' '<<stu_p4->grade<<' '<<stu_p4->wage<<' '<<stu_p4->tired<<endl;
}
}
2011-03-31 22:29
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:4 
回复 3楼 三岩
我也常遇到这样的情况。。。 基本都是由于指针的问题

。。。!!!)))000
2011-03-31 22:34
快速回复:程序中的一个问题
数据加载中...
 
   



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

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