A CALLING MODEM A calling modem transmits each data bit 1 as a 1270 hertz tone l
ID: 3931032 • Letter: A
Question
A CALLING MODEM
A calling modem transmits each data bit 1 as a 1270 hertz tone lasting one time unit, and each data bit 0 as a 1070 hertz tone .
Write a program that displays and writes to an output file messages indicating the tones that would be emitted for the input data , a file of zeros and ones separated by spaces. The messages should take the form:
Emit____ -hz tone for ___________ time unit(s).
Be sure to prompt the user for file names.
input file:
1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1
output:
Emit 1270-hz tone for 1 time unit(s).
Emit 1070-hz tone for 4 time units(s).
Emit 1270-hr tone for 2 time units(s).
Explanation / Answer
//This is a C code. It takes an "output.txt" as input.
#include <stdio.h>
int main(void)
{
FILE *fp;
char c;
int i,count1=0,count0=0;
fp = fopen("output.txt", "r"); // error check this!
while((c = fgetc(fp)) != EOF) {
if (c == '1') {
if(count0!=0)
{
printf("Emit 1070-hz tone for %d time unit(s). ",count0);
count0=0;
}
count1++;
}
if(c == '0')
{
if(count1!=0)
{
printf("Emit 1270-hz tone for %d time unit(s). ",count1);
count1=0;
}
count0++;
}
}
if(count1!=0)
{
printf("Emit 1270-hz tone for %d time unit(s). ",count1);
count1=0;
}
if(count0!=0)
{
printf("Emit 1070-hz tone for %d time unit(s). ",count0);
count0=0;
}
fclose(fp);
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.