电话簿项目错误。在编译器中没有发现错误,但它在运行时退出已经尝试了很长时间[关闭]

Posted

技术标签:

【中文标题】电话簿项目错误。在编译器中没有发现错误,但它在运行时退出已经尝试了很长时间[关闭]【英文标题】:Phone book project error.There are no errors found in compiler but it exits when it runs have been trying for very long [closed] 【发布时间】:2013-07-24 17:51:25 【问题描述】:
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<cstring>

using namespace std;

int i, j;

struct info

    char name[20];
    int number;
;

void addcontact(info contactlist[]);

void editcontact(info contactlist[]);

void deletecontact(info contactlist[]);

void showallcontact(info contactlist[]);

void exit(info contactlist[]);

void menue(void);

void main()

    menue();


void menue(void)

    cout << "_______________________n";

    cout << "     PHONE BOOK        n";

    cout << "_______________________n";

    cout << "1-Add Contactn";

    cout << "2-Edit Contactn";

    cout << "3-Delete Contactn";

    cout << "4-Show All Contactsn";

    cout << "5-Exitn";

    int option;

    cin >> option;

    if (option == 1)
    
        void addcontact(info contactlist[]);
    
    else if (option == 2)
    
        void editcontact(info contactlist[]);
    
    else if (option == 3)
    
        void deletecontact(info contactlist[]);
    
    else if (option == 4)
    
        void showallcontact(info contactlist[]);
    
    else if (option == 5)
    
        void exit(info contactlist[]);
    




void addcontact(info contactlist[])

    i = 0;

    system("CLS");

    cout << "Welcome to Add contact sectionn";

    cout << "Enter namen";

    cin >> contactlist[i].name;

    cout << "Enter numbern";

    cin >> contactlist[i].number;

    cout << "Contact Addedn";

    i = i + 1;

    if (i == 19)
    
        cout << "Contact limit reachedn";
    

    menue();


void editcontact(info contactlist[])

    int flag = 0;
    int k;
    char name[20];

    system("CLS");

    cout << "Welcome to Edit contact sectionn";

    cout << "Enter name to editn";

    cin >> name;

    for (int k = 0; k < 20; k++)
    
        if (strcmp(name, contactlist[k].name) == 0);
        
            flag = 1;
            break;
        
    

    if (flag == 1)
    
        cout << "Enter a new namen";

        cin >> contactlist[k].name;

        cout << "Contact Editedn";

        menue();
    
    else if (flag != 1)
    
        cout << "No record foundn";
    


void deletecontact(info contactlist[])

    char name[20];

    cout << "Enter name of contact to be deleted" << endl;

    cin >> name;

    for (int i = 0; i < 20; i++)
    
        if (strcmp(name, contactlist[i].name) == 0)
        
            strcpy(contactlist[i].name, " ");

            cout << "contact deletedn" << endl;

            menue();
        
    


void showallcontacts(info contactlist[])

    int l;

    cout << "detailsn";

    for (l = 0; l < 20; l++)
    
        cout << contactlist[l].name << endl;
        cout << contactlist[l].number << endl;

        menue();
    




void exit()

    exit(0);

【问题讨论】:

您的程序存在基本错误。例如,如何调用函数。请从The Definitive C++ Books List 中挑选一本书并开始阅读。 你有什么问题? 【参考方案1】:

您的代码没有任何意义。你写的东西有很多问题

我不会一一介绍,但最明显的是

if (option == 1) 
    void addcontact(info contactlist[]);

这不是函数的调用方式。相反,它应该看起来像

if (option == 1) 

    addcontact(x);

其中 X 是您尚未定义的“信息”类型的对象。

我强烈建议您查找一些基本的编程教程,以更好地熟悉您的工作。

【讨论】:

X 必须是 info[20] 类型的对象

以上是关于电话簿项目错误。在编译器中没有发现错误,但它在运行时退出已经尝试了很长时间[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

运行这个 django 项目,但它在 manage.py 中向我显示了这个错误

异常处理(待更新)

我在 SQL Plus 中创建了触发器而没有错误,但它不起作用

错误:该项目似乎需要纱线,但它没有安装

springboot项目上有个红叉,且ecplise没有自动编译项目,运行提示“错误: 找不到或无法加载主类”

DEV C++:编译任何程序时没有错误,但它没有运行