内部C ++不能超过1次

时间:2014-04-10 03:41:19

标签: c++

我的代码出了什么问题。我想添加10次数据并查看详细信息,但我不能这样做。有人可以帮我这个吗?

#include <iostream.h>
#include <conio.h>
#include<string.h>

void load_menu(void);
void analysis(void);
void details(void);


int main(int argc, char** argv)
{
    load_menu();
    return 0;
}
void load_menu(void)
{
    int choice;

    while (1)
        {
            cout<<"*******************************************************************************\n";
            cout<<"*                           Welcome to SYSTEM analyze                         *\n";
            cout<<"*******************************************************************************\n\n";

            cout<<"           Welcome to SYSTEM analyze \n\n";
            cout<<"1.Voter Analysis 1\n2.Voter Details 2\n3.Exit 3\n\n";
            cout<<"*******************************************************************************\n";
            cout<<"Please enter your Choose : ";cin>>choice;
            switch(choice)
                {
                case 1 :
                    analysis();
                    break;
                case 2: details();
                    break;
                case 3: cout<<"Going out !\n";
                    exit(1) ;
                    break;
                default: cout<<"\n\n\n\n\n\n\n";
                    cout<<"*******************************************************************************\n";
                    cout<<"*                          PLEASE INSERT AGAIN  !!                            *\n";
                    cout<<"*******************************************************************************\n\n";
                    cout<<"\n\n\n\n";
                    break;
                }

        }

}

void analysis(void)
{
    char voterid[10];
    char votername[30];
    char voteraddr[30];
    char phone[15];
    int age;
    char status[20];
    {
        cout<<"get voterid";
        cin>>voterid;
        cout<<"voter's name";
        cin>>votername;
        cout<<"voter's address";
        cin>>voteraddr;
        cout<<"phone number";
        cin>>phone;
        cout<<"voter's age";
        cin>>age;
        if(age>18)
            strcpy(status,"eligible");
        else
            strcpy(status,"not eligible");
        for(int i=0;i<10;i++);
    }
}
void details(void)
{
    char voterid[10];
    char votername[30];
    char voteraddr[30];
    char phone[15];
    int age;
    char status[20];
    {
        cout<<"voter's information\n";
        cout<<"--------------------\n";
        cout<<"voter id:"<<voterid<<"\n";
        cout<<"voter name:"<<votername<<"\n";
        cout<<"voter addr:"<<voteraddr<<"\n";
        cout<<"phone no:"<<phone<<"\n";
        cout<<"voter's age:"<<age<<"\n";
        cout<<"status:"<<status<<"\n";
        cout<<"-----------------\n";
    }
}

1 个答案:

答案 0 :(得分:0)

此代码中存在许多错误:

  • 你的所有变量都是selecterid [10]; votername [30]; voteraddr [30];电话[15];年龄; status [20]是函数analysis和函数details的本地函数。因此,您在analysis函数中存储的数据中的数据无法在details中访问。所以,将这些变量变为全局变量。
  • analysis中,您已将for声明放在错误的位置。 for循环不是迭代的。这就是为什么你不能多次插入数据的原因。
  • details中,没有for循环来从数组中获取数据。
  • voterid是一个数组。因此,使用索引将值放入其中 - 例如:voterid[i]其中i是索引。
  • 您可以在标头文件中使用iostream代替iostream.h