| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 560 人关注过本帖
标题:程序不能退出,希望各位找一下原因
取消只看楼主 加入收藏
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
 问题点数:0 回复次数:3 
程序不能退出,希望各位找一下原因

本人是一个菜菜鸟~~~
希望大家多多包涵~~~
这是我编的程序

#include<iostream.h>


struct emp //定义职工结构
{char name[8];
long id;
char sex;
int year;
emp*next;
};

void main()
{
emp *p,*s,*head;
head=NULL;
p=new emp;
cout<<"请输入职工的姓名(以0结束),ID,性别(M代表男性,F代表女性),年龄!"<<endl;
cin>>p->name>>p->id>>p->sex>>p->year;
while(1)
{if(head==NULL) head=p;
else s->next=p;
s=p;
p=new emp;
cin>>p->name>>p->id>>p->sex>>p->year;
if(p->name==0) break;
}
s->next=NULL;
delete p;

cout<<"谢谢使用,再见!"<<endl;

}

我想当名字输入0的时候退出循环,但是我输入0循环还在继续~~~
编译没有错误...

搜索更多相关主题的帖子: include 女性 姓名 
2007-04-10 11:02
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

谢谢大家,问题己解决~~~
但是我还有一些问题:

3楼的高手:我按你改的话就会出现编译错误:

error C2440: '=' : cannot convert from 'const char' to 'char [8]'

但是改成 if(p->name[0]=='0') break

就可以运行成功~~~

我想问一下为什么3楼的改法就不行呢????

谢谢大家的指点~~~


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-04-10 16:10
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 
说错了,编译错误为

error C2446: '==' : no conversion from 'int' to 'char *'

error C2040: '==' : 'char [8]' differs in levels of indirection from 'int'


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-04-10 16:12
kisscjy
Rank: 1
等 级:新手上路
帖 子:217
专家分:0
注 册:2007-4-9
收藏
得分:0 

谢谢3楼的解释~~
THANK


每当我一晚写下70,80个程序时,你还真以为,这都是我一个人干的.....不过说真的,其实都是抄书的~~ ^@^
2007-04-10 18:46
快速回复:程序不能退出,希望各位找一下原因
数据加载中...
 
   



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

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