| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1673 人关注过本帖
标题:菜鸟问问题~~~数组输入,中途退出
取消只看楼主 加入收藏
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
 问题点数:0 回复次数:9 
菜鸟问问题~~~数组输入,中途退出
#include<iostream>
using namespace std;

char name[10][80];
char phone[10][20];
float hours[10];
float wage[10];

int menu();
void enter(),report();

int main()
{
    int choice;
    do{
        choice=menu();
        switch(choice) {
        case 0:break;
        case 1:enter();
            break;
        case 2:report();
            break;
        default:cout<<"try again.\n";
        }
    }while(choice!=0);
    return 0;
}
int menu()
{
    int choice;
    cout<<"0.quit\n";
    cout<<"1.enter information\n";
    cout<<"2.report information\n";
    cout<<"\nchoose one:";
    cin>>choice;
    return choice;
}
void enter()
{
    int i;
[bo]    char temp[80];[/bo]
    for(i=0;i<10;i++)
    {
        cout<<"enter last name:";
        cin>>name[i];
        [bo]if(!name[i]) break;[/bo]
        cout<<"enter phone number:";
        cin>>phone[i];
        cout<<"enter number of hours worked:";
        cin>>hours[i];
        cout<<"enter wage:";
        cin>>wage[i];
        
    }
}
void report()
{
    int i;
    for(i=0;i<10;i++)
    {
        cout<<name[i]<<' '<<phone[i]<<'\n';
        cout<<"pay for the week:"<<wage[i]*hours[i]<<'\n';
    }
}
两个问题:
1,定义temp【80】是干什么的
2,不加if(!name[i]) break;语句时的原程序要连续输入10组数据,我想在直接输入回车后就退出输入了,要加什么语句?
谢谢各位高手
搜索更多相关主题的帖子: 输入 
2008-10-14 17:30
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
[bo][un]blueboy82006[/un] 在 2008-10-14 17:56 的发言:[/bo]

回答:
1,不知道temp[80]是干什么的,你为什么写上去? 你从别人那copy的吧,这个至少目前用不着..
2,本来就是要输入10组数据的,你干嘛非得break;
要是只是为了方便调试一下结果的话,你就在工资输入完后,也就是 ...


第一,我从来没说过是我自己写的
第二,我问的问题是我不懂,您也没告诉我一个答案
第三,如果程序是在不清楚多少组输入的情况下写的,那么当时暂时定为10组,现在我只有七个输入,难道要回去改程序么?怎么就不能加这个功能?
版主如果都这么回答问题,那我也不用问了。。。。。。。谢谢

为比盖茨挣得多而奋斗
2008-10-15 09:31
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
[bo][un]冰烨[/un] 在 2008-10-15 09:45 的发言:[/bo]


楼主先不要激动。。。
我帮你看看。

temp[80]问题我也不明白为什么要定义这个
如果程序是在不清楚多少组输入的情况下写的,那么当时暂时定为10组,现在我只有七个输入,难道要回去改程序
这个问题嘛。。 if( ...

首先强烈感谢冰烨同志的革命友情
刚才加进去试了下,报两个错
C:\Program Files\Microsoft Visual Studio\MyProjects\11\113.cpp(47) : error C2446: '==' : no conversion from 'int' to 'char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
C:\Program Files\Microsoft Visual Studio\MyProjects\11\113.cpp(47) : error C2040: '==' : 'char [80]' differs in levels of indirection from 'int'
Error executing cl.exe.
我把语句改成if((char)name[i]=='\n') break;不报错了,不过还是不能退出。。。。。

为比盖茨挣得多而奋斗
2008-10-15 09:54
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
还是不行。。。。。

为比盖茨挣得多而奋斗
2008-10-15 10:03
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
就是在输入某一组名字时,一敲回车就退出输入,返回到menu()选择的主菜单

[[it] 本帖最后由 lxlx825 于 2008-10-15 10:14 编辑 [/it]]

为比盖茨挣得多而奋斗
2008-10-15 10:08
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
[bo][un]blueboy82006[/un] 在 2008-10-15 10:08 的发言:[/bo]

对于你1楼的提问,我想我已经给出你答案了...
至于你4楼的想法,那是你自己的心理问题...我很无奈...
还有
既然这样,你为什么一开始不把问题描述清楚呢...是你自己表达能力的问题

你前后两次说的意思也差太大了吧 ...

我开始只是描述了问题是什么,可我有必要描述为什么问这个问题么?
还有我也没觉得两次意思有什么不一样,如果别人能懂,版主您不能懂,就不知道是我表达的问题还是您理解的问题了

为比盖茨挣得多而奋斗
2008-10-15 10:13
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
不是吧,加入第六组数据输入完了,这时i=7,那么输入name【7】时,假如我直接输入的是回车,就退出输入,返回到主程序,我想要这个结果

为比盖茨挣得多而奋斗
2008-10-15 10:23
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
算了,不跟你争,废脑细胞,问题给我解决了才是真的

为比盖茨挣得多而奋斗
2008-10-15 10:45
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
这么做name都要先输一遍判定是否结束的。。。。。。。。。

为比盖茨挣得多而奋斗
2008-10-15 11:06
lxlx825
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-8
收藏
得分:0 
我刚才编译了,是要输两次name

为比盖茨挣得多而奋斗
2008-10-15 11:35
快速回复:菜鸟问问题~~~数组输入,中途退出
数据加载中...
 
   



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

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