Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This was done in C program using visual studios, my codes works, but it doesn\'t

ID: 3872461 • Letter: T

Question

This was done in C program using visual studios, my codes works, but it doesn't do what I need it to do, please keep my same code, and edit it to give me what I have written down. I provided all my source files and header files , I am not sure if it's a problem with my main function or one of the source files as well, please also give me the code and a brief step on how to enter in the database(maybe I'm entering it wrong ) I want my code output to be like the picture I written out. Not like the last picture, I am making a database project that should allow me to make multiple entries, be able to save it to a disk file, be able to read it from the disk and display it, My problem is, it always override the data I previously entered, if I type "55555" then "44444" it deletes the "5555" instead of adding "4444" to the other line Can someone suggest what code I am missing and where to place it, to have my output the way I have it written on the piece of paper?

Explanation / Answer

Given below is the changed main file. Output shown below. In case of issues let me know through comment. If it helped, please rate the answer. thank you

#include "header.h"

int main(int argc, char* argv[])

{
  
link ptr, firstptr = NULL, lastptr = NULL;
  
char sel;
  
while (true)
  
{
  
printf(" Select Option: ");
  
printf("(1) Enter new database ");
  
printf("(2) Read database fromn disk ");
  
printf("(3) Save current database ");
  
printf("(4) Display current database in memory ");
  
printf("(5) Exit the database ");
  
sel = _getche();
  
switch (sel)
  
{
  
case '1':
  
  
  
{
  
ptr = liquor();
  
if (!firstptr)
  
firstptr = lastptr = ptr;
  
else {
  
lastptr->next = ptr;
lastptr = ptr;
break;
  
}
  
printf("Do you want to choose another option ?");
  
sel = _getche();
  
if (sel == 'n' || sel == 'N')
  
break;
  
}
  
case '2':
  
firstptr = readdb();
  
if (firstptr == NULL)
  
{
  
printf(" The specified file does not exist. Try again ");
  
break;
  
}
  
break;
  
case '3':
  
writedb(firstptr);
  
break;
  
case '4':
  
dispdb(firstptr);
  
break;
  
case '5':
  
exit(0);
  
default:
  
printf("This was an invalid option.TRY AGAIN");
  
}
  
}
  
}

output

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
1
warning: this program uses gets(), which is unsafe.
Enter Quantity: 5
Enter Description: 5
Enter Price: 5
Enter Discount: 5
Enter Amount: 5
Do you want to choose another option ?n

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
3
Enter name for database file: q.q

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
1
Enter Quantity: 4
Enter Description: 4
Enter Price: 4
Enter Discount: 4
Enter Amount: 4
Segmentation fault: 11
amoeba-2:db raji$ clear
amoeba-2:db raji$ g++ dbmain.cpp
amoeba-2:db raji$ ./a.out

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
1
warning: this program uses gets(), which is unsafe.
Enter Quantity: 5
Enter Description: 5
Enter Price: 5
Enter Discount: 5
Enter Amount: 5
Do you want to choose another option ?n

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
3
Enter name for database file: q.q

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
1
Enter Quantity: 4
Enter Description: 4
Enter Price: 4
Enter Discount: 4
Enter Amount: 4

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
3
Enter name for database file: 1.1

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
^C
amoeba-2:db raji$ g++ dbmain.cpp
amoeba-2:db raji$ ./a.out

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
1
warning: this program uses gets(), which is unsafe.
Enter Quantity: 5
Enter Description: 5
Enter Price: 5
Enter Discount: 5
Enter Amount: 5
Do you want to choose another option ?n

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
3
Enter name for database file: q.q

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
1
Enter Quantity: 4
Enter Description: 4
Enter Price: 4
Enter Discount: 4
Enter Amount: 4

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
3
Enter name for database file: q.q

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
2
Enter name for database file: q.q

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
4
Quantity Description Price Discount Amount

5 5 5 5 5
4 4 4 4 4

Select Option:
(1) Enter new database
(2) Read database fromn disk
(3) Save current database
(4) Display current database in memory
(5) Exit the database
5

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote