Heres what I got to do My program is getting a couple errors
Heres what I got to do. My program is getting a couple errors.(program at the end of question) I need to have the prototypes stuct then main and then the functions at the bottom . please help. I will post the description with the input.dat file data.
Write a program that declares a struct to store the following data of a NorthEast Bank customer :
Customer last name 10 characters (this will contain no spaces)
Customer type 1 character (valid values : D, E, P)
Checking Account number 4 digits
Savings Account number 4 digits
Credit Card account number 6 digits
Mortgage account number 5 digits
Declare an array of 10 components to store the data of 10 customers. The program must contain a function to input the data from a file (attached) and a function to output all the data. Also, there must be a function to find a customer by name and a function to find a customer by checking account number.
Lastly, a function must output all information for a specific customer.
The program is to load the data from the input file and then present the user with the following menu :
Welcome to the NEB Customer Lookup
a Lookup customer by checking account and output customer data
b Lookup customer by name account and output customer data
c. Output all customers data
d. Exit program
input.dat file
Meyers P 3823 2981 595844 38110
 Raymonds E 1293 4982 598733 38444
 Ganson D 4232 5964 596743 38561
 Oshi E 4521 5900 598732 38120
 Peters P 5013 2958 593723 38955
 Mason D 5832 4927 598127 38912
My program with a couple of errors please run and fix thanks
#include <iostream>
 #include <fstream>
 #include <string>
using namespace std;
 void output_customer(int );
 void getMenuChoice(char );
 int read_data(int *,string);
 void output_data(int *,int);
 void lookup_by_name(int *,int);
 void lookup_by_checkings_account_number(int *, int);
struct customer{
 string name;
 char type;
 int checkings_account_number;
 int savings_account_number;
 int credit_card_number;
 int mortgate_account_number;
};
int main(){
 cout << \"Welcome to the NEB Customer Lookup\" << endl;
 char choice;
 customer *arr = new customer[100];
 int count = read_data(arr, \"input.dat\");
 while(true){
 choice = getMenuChoice();
 if(choice == \'a\')
 lookup_by_checkings_account_number(arr, count);
 else if(choice == \'b\')
 lookup_by_name(arr, count);
 else if(choice == \'c\')
 output_data(arr, count);
 else
 return 0;
 }
 return 0;
 }
int read_data(customer *arr, string fileName){
 ifstream in(fileName.c_str());
 int count = 0;
 string name;
 char type;
 int checkings_account_number;
 int savings_account_number;
 int credit_card_number;
 int mortgate_account_number;
 if(in.is_open()){
 while(in >> name >> type >> checkings_account_number >> savings_account_number >> credit_card_number >> mortgate_account_number){
 arr[count].name = name;
 arr[count].type = type;
 arr[count].checkings_account_number = checkings_account_number;
 arr[count].savings_account_number = savings_account_number;
 arr[count].credit_card_number = credit_card_number;
 arr[count].mortgate_account_number = mortgate_account_number;
 ++count;
 }
 in.close();
 }
 return count;
 }
void output_customer(customer c){
 cout << \"Name: \" << c.name << endl;
 cout << \"Type: \" << c.type << endl;
 cout << \"Checkings account number: \" << c.checkings_account_number << endl;
 cout << \"Savings account number: \" << c.savings_account_number << endl;
 cout << \"Credit card number: \" << c.credit_card_number << endl;
 cout << \"Mortgate account number: \" << c.mortgate_account_number << endl << endl;
 }
void lookup_by_name(customer *arr, int size){
 string name;
 cout << \"Enter customer name: \";
 cin >> name;
 int ind = -1;
 for(int i = 0; i < size; ++i){
 if(arr[i].name == name){
 ind = i;
 break;
 }
 }
 if(ind == -1)
 cout << \"Customer with name of \" << name << \" not found\" << endl;
 else
 output_customer(arr[ind]);
 }
void lookup_by_checkings_account_number(customer *arr, int size){
 int number;
 cout << \"Enter checkings account number: \";
 cin >> number;
 int ind = -1;
 for(int i = 0; i < size; ++i){
 if(arr[i].checkings_account_number == number){
 ind = i;
 break;
 }
 }
 if(ind == -1)
 cout << \"Customer with checkings account number of \" << number << \" not found\" << endl;
 else
 output_customer(arr[ind]);
 }
void output_data(customer *arr, int size){
 for(int i = 0; i < size; ++i){
 output_customer(arr[i]);
 }
 }
char getMenuChoice(){
 char choice;
 cout << \"a. Lookup customer by checking account and output customer data\" << endl;
 cout << \"b. Lookup customer by name account and output customer data\" << endl;
 cout << \"c. Output all customers data\" << endl;
 cout << \"d. Exit program\" << endl;
 while(true){
 cout << \"Enter your choice: \";
 cin >> choice;
 if(choice < \'a\' || choice > \'d\'){
 cout << \"Error. Invalid input. Try again!!\" << endl;
 }
 else{
 return choice;
 }
 }
 }
Solution
I have corrected all the error, you have to use same type of datatype in prototype definitions in the program. Please find the updated code.
#include <iostream>
 #include <fstream>
 #include <string>
 using namespace std;
 void output_customer(int );
 char getMenuChoice();
 int read_data(struct customer *,string);
 void output_data(struct customer *,int);
 void lookup_by_name(struct customer *,int);
 void lookup_by_checkings_account_number(struct customer *, int);
struct customer{
    string name;
    char type;
    int checkings_account_number;
    int savings_account_number;
    long int credit_card_number;
    long int mortgate_account_number;
 };
int main(){
    cout << \"Welcome to the NEB Customer Lookup\" << endl;
    char choice;
    customer *arr = new customer[100];
    int count = read_data(arr,\"input.dat\");
    while(true){
        choice = getMenuChoice();
        if(choice == \'a\')
            lookup_by_checkings_account_number(arr, count);
        else if(choice == \'b\')
            lookup_by_name(arr, count);
        else if(choice == \'c\')
            output_data(arr, count);
        else
            return 0;
    }
    return 0;
 }
int read_data(customer *arr, string fileName){
    ifstream in(fileName.c_str());
    int count = 0;
    string name;
    char type;
    int checkings_account_number;
    int savings_account_number;
    int credit_card_number;
    int mortgate_account_number;
    if(in.is_open()){
        while(in >> name >> type >> checkings_account_number >> savings_account_number >> credit_card_number >> mortgate_account_number){
            arr[count].name = name;
            arr[count].type = type;
            arr[count].checkings_account_number = checkings_account_number;
            arr[count].savings_account_number = savings_account_number;
            arr[count].credit_card_number = credit_card_number;
            arr[count].mortgate_account_number = mortgate_account_number;
            ++count;
        }
        in.close();
    }
    return count;
 }
void output_customer(customer c){
    cout << \"Name: \" << c.name << endl;
    cout << \"Type: \" << c.type << endl;
    cout << \"Checkings account number: \" << c.checkings_account_number << endl;
    cout << \"Savings account number: \" << c.savings_account_number << endl;
    cout << \"Credit card number: \" << c.credit_card_number << endl;
    cout << \"Mortgate account number: \" << c.mortgate_account_number << endl << endl;
 }
void lookup_by_name(customer *arr, int size){
    string name;
    cout << \"Enter customer name: \";
    cin >> name;
    int ind = -1;
    for(int i = 0; i < size; ++i){
        if(arr[i].name == name){
            ind = i;
            break;
        }
    }
    if(ind == -1)
        cout << \"Customer with name of \" << name << \" not found\" << endl;
    else
        output_customer(arr[ind]);
 }
void lookup_by_checkings_account_number(customer *arr, int size){
    int number;
    cout << \"Enter checkings account number: \";
    cin >> number;
    int ind = -1;
    for(int i = 0; i < size; ++i){
        if(arr[i].checkings_account_number == number){
            ind = i;
            break;
        }
    }
    if(ind == -1)
        cout << \"Customer with checkings account number of \" << number << \" not found\" << endl;
    else
        output_customer(arr[ind]);
 }
void output_data(customer *arr, int size){
    for(int i = 0; i < size; ++i){
        output_customer(arr[i]);
    }
 }
char getMenuChoice(){
    char choice;
    cout << \"a. Lookup customer by checking account and output customer data\" << endl;
    cout << \"b. Lookup customer by name account and output customer data\" << endl;
    cout << \"c. Output all customers data\" << endl;
    cout << \"d. Exit program\" << endl;
    while(true){
        cout << \"Enter your choice: \";
        cin >> choice;
        if(choice < \'a\' || choice > \'d\'){
            cout << \"Error. Invalid input. Try again!!\" << endl;
        }
        else{
            return choice;
        }
    }
 }






