电话簿项目错误.在编译器中并没有发现错误,但当它运行很长时间后就会退出

Phone book project error.There are no errors found in compiler but it exits when it runs have been trying for very long

本文关键字:错误 运行 长时间 退出 编译器 项目 并没有 发现 电话簿      更新时间:2023-10-16
#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);
}

您的代码没有任何意义。您编写的存在许多问题

我不打算全部看完,但最引人注目的是

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

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

if (option == 1) 
{
    addcontact(x);
}

其中X是一个"信息"类型的对象,您尚未定义它。

我强烈建议找一些基本的编程教程来更好地熟悉你正在做的事情。