* i want to add update function .c and .h class in that code also in display vaccine it's not displaying anything Menu 1. Create inventory 2. Update inventory 3. Search vaccine 4. Display vaccine Create.c : #include #include "Create.h" void create_inventory() { int option; char vaccName[15]; char vaccCode[2]; char country[15]; int qty; float populaion; FILE* infile; infile = fopen("Vaccine.txt", "w"); if (infile == NULL) { printf("Vaccine.txt file not found\n"); } option = 1; while (option != 0) { printf("Enter Vaccine Name : "); scanf("%s", vaccName); printf("Enter Vaccine Code : "); scanf("%s", vaccCode); printf("Enter Country : "); scanf("%s", country); printf("Enter Dosage Required : "); scanf("%d", &qty); printf("Enter Population Covered : "); scanf("%f", &populaion); fprintf(infile, "%15s %2s %15s %d %3.2f\n", vaccName, vaccCode, country, qty, populaion); printf("\nEnter 1 to continue and 0 to exit : "); scanf("%d", &option); if (option == 0) break; } fclose(infile); } Display.c: #include "Display.h" #include void display_vaccine() { char vaccName[15]; char vaccCode[2]; char country[15]; int qty; float populaion; FILE* infile; infile = fopen("dist.txt", "r"); if (infile == NULL) { printf("Vaccine.txt file not found\n"); } printf("%15s\t%2s\t%15s\t%6s\t%10s\n", "Vaccine Name", "Vaccine Code", "Country", "Dosage", "Population"); // Reading the file while (fscanf(infile, "%s %s %s %d %f\n", vaccName, vaccCode, country, &qty, &populaion) != EOF) { printf("%15s\t%2s\t%15s\t%d\t%3.2f\n", vaccName, vaccCode, country, qty, populaion); } fclose(infile); } Search.c: #include "Search.h" #include int search_vaccine() { char vaccName[15]; char vaccCode[2]; char country[15]; int qty; float populaion; FILE* infile; char vcode[2]; char temp[2]; int value; infile = fopen("Vaccine.txt", "r"); printf("Enter Vaccine Code to Search : "); scanf("%s", vcode); if (infile == NULL) // checking for file existence { printf("Vaccine.txt file not found\n"); } strcpy(temp, vcode); while (fscanf(infile, "%s %s %s %d %f\n", vaccName, vaccCode, country, &qty, &populaion) != EOF) { if (vaccCode[0] == temp[0] && vaccCode[1] == temp[1]) { printf("%15s\t%2s\t%15s\t%6s\t%10s\n", "Vaccine Name", " Vaccine Code", "Country", "Dosage", "Population"); printf("%15s\t%2s\t%15s\t%d\t%3.2f\n", vaccName, vaccCode, country, qty, populaion); } } fclose(infile); } TestMain.c #include #include #include #include "Search.h" #include "Display.h" #include "Create.h" struct vacc { char vaccName[15]; char vaccCode[2]; char country[15]; int qty; float population; }v[10]; // Function Declarations void update_vacc_qty(); int main() { int ch; do { printf("\n 1:create inventory"); printf("\n 2: display vaccine info "); printf("\n 3: search vaccine"); printf("\n enter your choice (0 to exit):"); scanf("%d", &ch); switch (ch) { case 1: create_inventory(); break; case 2: display_vaccine(); break; case 3: search_vaccine(); break; default: break; } } while (ch != 0); return 0; } void update_vacc_qty() { int t; int option; char vaccName[15]; char vaccCode[2]; char country[15]; int qty; float population; FILE* infile; infile = fopen("Vaccine.txt", "w"); if (infile == NULL) { printf("dist.txt file not found\n"); } option = 1; while (option != 0) { printf("Enter Vaccine Name : "); scanf("%s", vaccName); printf("Enter Vaccine Code : "); scanf("%s", vaccCode); printf("Enter Country : "); scanf("%s", country); printf("Enter Dosage Required : "); scanf("%d", &qty); printf("Enter Population Covered : "); scanf("%f", &population); fprintf(infile, "%s %s %s %d %3.2f\n", vaccName, vaccCode, country, qty, population); printf("\nEnter 1 to continue and 0 to exit : "); scanf("%d", &option); if (option == 0) fclose(infile); } { printf("dist.txt file not found\n"); } t = 0; while (fscanf(infile, "%s %s %s %d %f\n", vaccName, vaccCode, country, &qty, &population) != EOF) { //printf("%s",vaccName); strcpy(v[t].vaccName, vaccName); strcpy(v[t].vaccCode, vaccCode); strcpy(v[t].country, country); v[t].qty = qty; v[t].population = population; t++; } struct vacc temp; for (int i = 0; i < t - 1; i++) { for (int j = 0; j < (t - 1 - i); j++) { if (v[j].qty < v[j + 1].qty) { temp.qty = v[j].qty; v[j].qty = v[j + 1].qty; v[j + 1].qty = temp.qty; } } } printf("%15s\t%2s\t%15s\t%6s\t%10s\n", "Vaccine Name", "Vaccine Code", "Country", "Dosage", "Population"); for (int i = 0;i < t; i++) { printf("%15s\t%13s\t%15s\t%d\t%3.2f\n", v[i].vaccName, v[i].vaccCode, v[i].country, v[i].qty, v[i].population); } fclose(infile); }
* i want to add update function .c and .h class in that code
also in display vaccine it's not displaying anything
Menu
1. Create inventory
2. Update inventory
3. Search vaccine
4. Display vaccine
Create.c :
#include<stdio.h>
#include "Create.h"
void create_inventory()
{
int option;
char vaccName[15];
char vaccCode[2];
char country[15];
int qty;
float populaion;
FILE* infile;
infile = fopen("Vaccine.txt", "w");
if (infile == NULL)
{
printf("Vaccine.txt file not found\n");
}
option = 1;
while (option != 0)
{
printf("Enter Vaccine Name : ");
scanf("%s", vaccName);
printf("Enter Vaccine Code : ");
scanf("%s", vaccCode);
printf("Enter Country : ");
scanf("%s", country);
printf("Enter Dosage Required : ");
scanf("%d", &qty);
printf("Enter Population Covered : ");
scanf("%f", &populaion);
fprintf(infile, "%15s %2s %15s %d %3.2f\n", vaccName, vaccCode, country, qty, populaion);
printf("\nEnter 1 to continue and 0 to exit : ");
scanf("%d", &option);
if (option == 0)
break;
}
fclose(infile);
}
Display.c:
#include "Display.h"
#include<stdio.h>
void display_vaccine()
{
char vaccName[15];
char vaccCode[2];
char country[15];
int qty;
float populaion;
FILE* infile;
infile = fopen("dist.txt", "r");
if (infile == NULL)
{
printf("Vaccine.txt file not found\n");
}
printf("%15s\t%2s\t%15s\t%6s\t%10s\n", "Vaccine Name", "Vaccine Code", "Country", "Dosage", "Population");
// Reading the file
while (fscanf(infile, "%s %s %s %d %f\n", vaccName, vaccCode, country, &qty, &populaion) != EOF)
{
printf("%15s\t%2s\t%15s\t%d\t%3.2f\n", vaccName, vaccCode, country, qty, populaion);
}
fclose(infile);
}
Search.c:
#include "Search.h"
#include<stdio.h>
int search_vaccine()
{
char vaccName[15];
char vaccCode[2];
char country[15];
int qty;
float populaion;
FILE* infile;
char vcode[2];
char temp[2];
int value;
infile = fopen("Vaccine.txt", "r");
printf("Enter Vaccine Code to Search : ");
scanf("%s", vcode);
if (infile == NULL) // checking for file existence
{
printf("Vaccine.txt file not found\n");
}
strcpy(temp, vcode);
while (fscanf(infile, "%s %s %s %d %f\n", vaccName, vaccCode, country, &qty, &populaion) != EOF)
{
if (vaccCode[0] == temp[0] && vaccCode[1] == temp[1])
{
printf("%15s\t%2s\t%15s\t%6s\t%10s\n", "Vaccine Name", " Vaccine Code", "Country", "Dosage", "Population");
printf("%15s\t%2s\t%15s\t%d\t%3.2f\n", vaccName, vaccCode, country, qty, populaion);
}
}
fclose(infile);
}
TestMain.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Search.h"
#include "Display.h"
#include "Create.h"
struct vacc {
char vaccName[15];
char vaccCode[2];
char country[15];
int qty;
float population;
}v[10];
// Function Declarations
void update_vacc_qty();
int main()
{
int ch;
do {
printf("\n 1:create inventory");
printf("\n 2: display vaccine info ");
printf("\n 3: search vaccine");
printf("\n enter your choice (0 to exit):");
scanf("%d", &ch);
switch (ch)
{
case 1: create_inventory();
break;
case 2: display_vaccine();
break;
case 3: search_vaccine();
break;
default: break;
}
} while (ch != 0);
return 0;
}
void update_vacc_qty()
{
int t;
int option;
char vaccName[15];
char vaccCode[2];
char country[15];
int qty;
float population;
FILE* infile;
infile = fopen("Vaccine.txt", "w");
if (infile == NULL)
{
printf("dist.txt file not found\n");
}
option = 1;
while (option != 0)
{
printf("Enter Vaccine Name : ");
scanf("%s", vaccName);
printf("Enter Vaccine Code : ");
scanf("%s", vaccCode);
printf("Enter Country : ");
scanf("%s", country);
printf("Enter Dosage Required : ");
scanf("%d", &qty);
printf("Enter Population Covered : ");
scanf("%f", &population);
fprintf(infile, "%s %s %s %d %3.2f\n", vaccName, vaccCode, country, qty, population);
printf("\nEnter 1 to continue and 0 to exit : ");
scanf("%d", &option);
if (option == 0)
fclose(infile);
}
{
printf("dist.txt file not found\n");
}
t = 0;
while (fscanf(infile, "%s %s %s %d %f\n", vaccName, vaccCode, country, &qty, &population) != EOF)
{
//printf("%s",vaccName);
strcpy(v[t].vaccName, vaccName);
strcpy(v[t].vaccCode, vaccCode);
strcpy(v[t].country, country);
v[t].qty = qty;
v[t].population = population;
t++;
}
struct vacc temp;
for (int i = 0; i < t - 1; i++)
{
for (int j = 0; j < (t - 1 - i); j++)
{
if (v[j].qty < v[j + 1].qty)
{
temp.qty = v[j].qty;
v[j].qty = v[j + 1].qty;
v[j + 1].qty = temp.qty;
}
}
}
printf("%15s\t%2s\t%15s\t%6s\t%10s\n", "Vaccine Name", "Vaccine Code", "Country", "Dosage", "Population");
for (int i = 0;i < t; i++) {
printf("%15s\t%13s\t%15s\t%d\t%3.2f\n", v[i].vaccName, v[i].vaccCode, v[i].country, v[i].qty, v[i].population);
}
fclose(infile);
}
Step by step
Solved in 4 steps with 9 images