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

Hello I am wokring on a dog database, I need work out the final bugs. PLEASE HEL

ID: 3677754 • Letter: H

Question

Hello I am wokring on a dog database, I need work out the final bugs. PLEASE HELP ME!!

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SZ_NAME 32
#define SZ_BREED 32
#define SZ_COLOR 16
#define SZ_SEX 8
struct dog_entry
{
    char name [SZ_NAME];
    char breed [SZ_BREED];
    char color [SZ_COLOR];
    float weight;
    int age;
    char sex [SZ_SEX];
};
#define REC_SIZE sizeof(struct dog_entry)
struct dog_entry record[REC_SIZE];
char pr_menu(void);
void addRecord(struct dog_entry *reg, int type);
void modifyRecord(int);
void delete_dog(int g, struct dog_entry *rec);
void view_dog(int, struct dog_entry *reg);
off_t find_dog(int);
void searchRecord(int, struct dog_entry *rec);


int main()
{
    struct dog_entry reg;
    int i=0,n;
    while(free)
    {
        char ch =pr_menu();
      
        switch(ch)
        {
            case '1':
                addRecord(&reg,1);
                i++;
                break;
              
            case '2':
                addRecord(&reg,2);
                break;
              
            case '3': delete_dog(1,&reg);
                break;
              
            case '4': view_dog(1,&reg);
                break;
              
            case '5': searchRecord(n,&reg);
                break;
              
            default: break;
        }
      
        if (ch == '6') // exit
            break;
      
    }
    system("pause");
}

char pr_menu(void)
{
    char ch;
    system("cls");
    printf(" Menu: 1.Add 2.Change 3.Delete 4.View 5.Search 6. Exit Enter Choice: ");
    scanf("%c",&ch);
    return ch;
}

//Function that adds a record
void addRecord(struct dog_entry *rec, int type)
{
    FILE * f;//define donde se guarda el archivo
    f=fopen("database_dog.txt", "a+");//definition of file
  
    system("cls");
    printf("Add the Dog: ");
  
    printf(" Enter Name: ");
    scanf("%s", rec->name);
  
    printf(" Enter Breed: ");
    scanf("%s", rec->breed);
  
    printf(" Enter Color: ");
    scanf("%s", rec->color);
  
    printf(" Enter Weight: ");
    scanf("%f", &rec->weight);
  
    printf(" Enter Age: ");
    scanf("%d", &rec->age);
  
    printf(" Enter Sex: ");
    scanf("%s", rec->sex);
  
    fseek(f, 0, SEEK_END);
    fwrite(&rec, sizeof(struct dog_entry),1,f);//save the data
    fclose(f);//close the file
    printf(" ");
    system("pause");
}
//Function that modifies the record
void modifyRecord(int index)
{
  
}
//Function that displays records
void view_dog(int total, struct dog_entry *rec)
{
    FILE * f;//define donde se guarda el archivo
    f=fopen("database.dog", "r+");//definition of file
    char name [SZ_NAME];
  
    system("cls");
    printf("View the Dog: ");
    printf(" Enter Dog's Name: ");
    scanf("%s", name);
  
    rewind(f);
    while(fread(&rec, sizeof(struct dog_entry),1, f))
    { //apertura del while
        if(strcmp(name,rec->name)==0)//compara una cadena de caracteres
        {
            printf(" Name: %s", rec->name);
          
            printf(" Breed: %s", rec->breed);
          
            printf(" Color: %s", rec->color);
          
            printf(" Weight: %f", &rec->weight);
          
            printf(" Age: %d", &rec->age);
          
            printf(" Sex: %s", rec->sex);
          
            printf(" ");
            system("pause");
            break;
        }
    }
  
    fclose(f);//close the file
  
}

int find_dog(int g, struct dog_entry *rec){
    FILE * f;//define donde se guarda el archivo
    f=fopen("database.dog", "r+");//definition of file
    char name [SZ_NAME];
  
    printf(" Enter Dog's Name: ");
    scanf("%s", name);
  
    rewind(f);
    int c;
    while(fread(&rec, sizeof(struct dog_entry),1, f))
    { //apertura del while
        if(strcmp(name,rec->name)==0)//compara una cadena de caracteres
        {
            c++;
            break;
        }
    }
  
    fclose(f);//close the file
    return c;
}
void delete_dog(int g, struct dog_entry *rec){
    FILE * f;//define donde se guarda el archivo
    f=fopen("database.dog", "r+");//definition of file
    char name [SZ_NAME];
    int num=0;
  
    system("cls");
    printf("Delete Record: ");
    printf(" Enter Dog's number: ");
    scanf("%d", &num);
  
    fseek(f, num*sizeof(struct dog_entry), SEEK_SET);
    fread(&rec, sizeof(struct dog_entry), 1, f);
    fclose(f);//close the file
}
//Function that searches for the record
void searchRecord(int n, struct dog_entry *rec)
{
    char dog[SZ_NAME];
    int j;
    int flag=0;
  
    flag = find_dog(0);
  
    if(flag==1)
        printf("Record exists ");
    else
        printf("No such record exists ");
}

Explanation / Answer

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define SZ_NAME 32
#define SZ_BREED 32
#define SZ_COLOR 16
#define SZ_SEX 8

struct dog_entry
{
   char name [SZ_NAME];
   char breed [SZ_BREED];
   char color [SZ_COLOR];
   float weight;
   int age;
   char sex [SZ_SEX];
};

#define REC_SIZE sizeof(struct dog_entry)

struct dog_entry record[REC_SIZE];
char pr_menu(void);
void addRecord(struct dog_entry *reg, int type);
void modifyRecord(int);
void delete_dog(int g, struct dog_entry *rec);
void view_dog(int, struct dog_entry *reg);
int find_dog(int, struct dog_entry *rec);
void searchRecord(int, struct dog_entry *rec);

int main()
{
   struct dog_entry reg;
   int i = 0, n;
   while(free)
   {
       char ch = pr_menu();
      
       switch(ch)
       {
           case '1':
           addRecord(&reg, 1);
           i++;
           break;
          
           case '2':
           addRecord(&reg, 2);
           break;
          
           case '3': delete_dog(1, &reg);
           break;
          
           case '4': view_dog(1, &reg);
           break;
          
           case '5': searchRecord(n, &reg);
           break;
          
           default: break;
       }
      
       if (ch == '6') // exit
           break;
      
   }
   // system("pause");
}
char pr_menu(void)
{
   char ch;
   // system("cls");
   printf(" Menu: 1.Add 2.Change 3.Delete 4.View 5.Search 6. Exit Enter Choice: ");
   scanf("%c", &ch);
   return ch;
}
//Function that adds a record
void addRecord(struct dog_entry *rec, int type)
{
   FILE * f;//define donde se guarda el archivo
   f = fopen("database_dog.txt", "w+");//definition of file
  
   // system("cls");
   printf("Add the Dog: ");
  
   printf(" Enter Name: ");
   scanf("%s", rec->name);
  
   printf(" Enter Breed: ");
   scanf("%s", rec->breed);
  
   printf(" Enter Color: ");
   scanf("%s", rec->color);
  
   printf(" Enter Weight: ");
   scanf("%f", &rec->weight);
  
   printf(" Enter Age: ");
   scanf("%d", &rec->age);

   printf(" Enter Sex: ");
   scanf("%s", rec->sex);
  
   fseek(f, 0, SEEK_END);
   fwrite(&rec, sizeof(struct dog_entry), 1, f);//save the data
   fclose(f);//close the file
   printf(" ");
   // system("pause");
}
//Function that modifies the record
void modifyRecord(int index)
{
  
}
//Function that displays records
void view_dog(int total, struct dog_entry *rec)
{
   FILE * f;//define donde se guarda el archivo
   f = fopen("database_dog.txt", "r+");//definition of file
   char name [SZ_NAME];
  
   // system("cls");
   printf("View the Dog: ");
   printf(" Enter Dog's Name: ");
   scanf("%s", name);
  
   rewind(f);
   while(fread(&rec, sizeof(struct dog_entry), 1, f))
   { //apertura del while
       if(strcmp(name, rec->name) == 0)//compara una cadena de caracteres
       {
           printf(" Name: %s", rec->name);
          
           printf(" Breed: %s", rec->breed);
          
           printf(" Color: %s", rec->color);
          
           printf(" Weight: %f", rec->weight);
          
           printf(" Age: %d", rec->age);
          
           printf(" Sex: %s", rec->sex);
          
           printf(" ");
           // system("pause");
           break;
       }
   }
  
   fclose(f);//close the file
  
}
int find_dog(int g, struct dog_entry *rec){
   FILE * f;//define donde se guarda el archivo
   f = fopen("database_dog.txt", "r+");//definition of file
   char name [SZ_NAME];
  
   printf(" Enter Dog's Name: ");
   scanf("%s", name);
  
   rewind(f);
   int c;
   while(fread(&rec, sizeof(struct dog_entry), 1, f))
   { //apertura del while
       if(strcmp(name, rec->name) == 0)//compara una cadena de caracteres
       {
           c++;
           break;
       }
   }
  
   fclose(f);//close the file
   return c;
}
void delete_dog(int g, struct dog_entry *rec){
   FILE * f;//define donde se guarda el archivo
   f = fopen("database_dog.txt", "r+");//definition of file
   char name [SZ_NAME];
   int num = 0;
  
   // system("cls");
   printf("Delete Record: ");
   printf(" Enter Dog's number: ");
   scanf("%d", &num);
  
   fseek(f, num * sizeof(struct dog_entry), SEEK_SET);
   fread(&rec, sizeof(struct dog_entry), 1, f);
   fclose(f);//close the file
}
//Function that searches for the record
void searchRecord(int n, struct dog_entry *rec)
{
   char dog[SZ_NAME];
   int j;
   int flag = 0;

   flag = find_dog(0, rec);

   if(flag == 1)
       printf("Record exists ");
   else
       printf("No such record exists ");
}

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