1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Kruka [31]
3 years ago
5

The picture above is a description of the C code below. Please modify the C below so that it uses FILE HANDLING (fopen, fputs, f

gets, etc.).
You may also be required to use command line parameters for the input file, thank you.

main.c:

#include "contacts.h"
#include
#include

int main(void) {
size_t size;
contact **c = alloc_contacts(MAX_CONTACTS);
size = get_contacts(c);
if (size == 0)
perror("get_contacts failed");
sort_contacts(c, size);
print_contacts(c, size);
free_alloc(c, size);

return 1;
}

contacts.c:


#include "contacts.h"
#include
#include

/* Allocate space for n number of contacts.
Then return a pointer to the array */
contact **alloc_contacts(size_t n) {
contact **c = malloc(n * sizeof(contact *));
if (c == NULL)
perror("Malloc failed");

return c;
}

/* Populate contact array with values from stdin */
size_t get_contacts(contact **c) {
char zip[64];
size_t size = 0;
for (size_t i = 0; i < MAX_CONTACTS; i++, size++) {
/* allocate contact struct as needed */
c[i] = malloc(sizeof(contact));
if (c[i] == NULL)
perror("Malloc failed");
fgets(c[i]->name, MAX_BUF, stdin);
fgets(c[i]->address, MAX_BUF, stdin);
fgets(c[i]->locale, MAX_BUF, stdin);
fgets(zip, sizeof(zip), stdin);
c[i]->zip = atoi(zip);
/* if EOF reached, break loop to avoid more allocs */
if (feof(stdin))
break;
}

return c ? size : 0;
}

void swap(contact *a, contact *b) {
contact temp = *b;
*b = *a;
*a = temp;
}

/* Bubble sort O(n^2) */
void sort_contacts(contact **c, size_t n) {
int i, j = n, s = 1;
while (s) {
s = 0;
for (i = 1; i < j; i++) {
if (c[i]->zip < c[i - 1]->zip) {
swap(c[i], c[i - 1]);
s = 1;
}
}
j--;
}
}

/* Loop over contact array printing each contact element */
void print_contacts(contact **c, size_t size) {
for (size_t i = 0; i < size; i++)
printf("%s%s%s%d\n", c[i]->name, c[i]->address, c[i]->locale, c[i]->zip);
}

void free_alloc(contact **c, size_t size) {
for (size_t i = 0; i < size; i++) {
free(c[i]);
}
free(c);
}

contacts.h:

#pragma once
#define MAX_CONTACTS 50
#define MAX_BUF 50

typedef struct {
char name[MAX_BUF];
char address[MAX_BUF];
char locale[MAX_BUF];
unsigned int zip;
} contact;

contact **alloc_contacts(size_t n);
size_t get_contacts(contact **c);
void print_contacts(contact **c, size_t size);
void sort_contacts(contact **c, size_t n);
void swap(contact *a, contact *b);
void free_alloc(contact **c, size_t size);

Computers and Technology
1 answer:
siniylev [52]3 years ago
3 0

Answer: i just learned something new.

Explanation:

You might be interested in
Write a Java program that can compute the interest on the next monthly mortgage payment. The program reads the balance and the a
kherson [118]

Answer:

import java.util.Scanner;

public class Main

{

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

   

    double balance, rate, interest;

   

 System.out.print("Enter the balance: ");

 balance = input.nextDouble();

 

 System.out.print("Enter the annual percentage interest rate [%4.25 must be entered as 4.25]: ");

 rate = input.nextDouble();

 

 if(balance < 0 || rate < 0)

     System.out.println("The balance and/or interest rate cannot be negative!");

 else{

     interest = balance * (rate / 1200);

     System.out.printf("The interest amount $%.2f", interest);

 }

}

}

Explanation:

Ask the user to enter the balance

Ask the user to enter the interest rate as given format

Check the balance and rate. If any negative value is entered, print an error message. Otherwise, calculate the interest using the given formula and print the interest in required format

3 0
3 years ago
STOP DELETING MY ANSWERS AND QUESTIONS!!!!!!!
puteri [66]

Answer:

no

Explanation:

trolled

3 0
3 years ago
Which certification does CompTIA recommend a candidate for the CompTIA Network exam already have?
kirill115 [55]

Answer:

normaly a CompTIA A+ and a Cisco CCNA

Explanation:

thses are just some of the basic's i seen comptia list with most network certifications.

3 0
4 years ago
Which is a method used to determine database requirement?
Ivahew [28]

Answer:

I think it would be A, good luck!

8 0
3 years ago
How do computer users benefit from the increased speed?
erma4kov [3.2K]

Answer:

jrjhfn4

Explanation:

jejehrurjrbrr

7 0
3 years ago
Other questions:
  • What is heat sink?what is its use?If it is not in the system what will happen?
    12·1 answer
  • Question 1 :The most common business firewall technique is to use a firewall server in conjunction with:This task contains the r
    11·1 answer
  • Write a C++ program that overloads a function named LinearSearch that searches an array of data of either integer data type, flo
    8·1 answer
  • 2. Use the Internet to research Robocopy switches and then construct a command line that will use Robocopy to copy files in rest
    14·1 answer
  • True/False: The American Standard Code for Information (ASCII) is a code that allows people to read information on a computer.
    9·2 answers
  • How are people using lying today? What are the types of lying? Describe each type.
    7·1 answer
  • What is a trojan horse in computer science?
    15·1 answer
  • A proposal is also known as a
    14·2 answers
  • Gavin is making a new logo for his business. He uses drawing software to create a unique. Which file format does he use to creat
    5·1 answer
  • Edhesive assignment 1 movie ratings
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!