Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write a program that will perform a mail merge. Background When companies need to send out the same letter to many different customers, they usually

Write a program that will perform a mail merge.

Background

When companies need to send out the same letter to many different customers, they usually have a form letter which contains "place-holder codes". Then, they will also create a list of data that will be used to fill in the place-holders in the form letter. A mail merge program is designed to create one copy of the template letter for each person's name that appears in the list.

Program Description

When your program starts, it will be given the name of letter file and the name of a data file. Your program should read the letter file, and for each place-holder-code found in the letter file, you should replace the place-holders with data found in the data file. Your program should create one output file for each line of data in the data file (in other words, if there are 3 lines of data in the data file, then your program should create 3 output files).

Your program must store the all of the integers in an array. The maximum number of integers that you can expect is 100, however there may not necessarily be that many. Your program should allow the user to continue entering numbers until they enter a negative number or until the array is filled - whichever occurs first. If the user enters 100 numbers, you should output an message stating that the maximum size for the list has been reached, then proceed with the calculations.

Input Files

The names of the input files are given to your program from the command line, when you type the command to execute your program. So, for example, you can test your program with the example files given by typing: MailMerge collection1.txt collectionNames1.txt

Your starter code includes a file named collection1.txt. The contents of this file is as follows:

Dear <name>, Please remember that the balance on your account (<balance>) remains unpaid. It was due to be paid in full <days> days ago. Enclosed is an envelope in which you may mail your payment. If, by chance, you have already sent your payment, please disregard this letter and accept our gratitude. Thank you</p> <p>In the letter, the codes <title>, <name>, <balance>, and <days> indicate the place-holders which need to be filled in with customer data.</p> <p>Your starter code also includes a file named <strong>collectionNames1.txt</strong>. The contents of this file is as follows:</p> <p>Mr.,Smith,102.50,10 Mrs.,James,59.76,14 Ms.,Abrams,147.70,12 Mr.,Sessoms,112.10,18</p> <p>In the data file, each line of text represents one customer. The customer data on one line is separated by commas. Thus the first line of data from the data file is: Mr.,Smith,102.50,10 and this represents the following data: <title> = "Mr." <name> = "Smith: <balance> = 102.50 <days> = 10</p> <p>You should use these files to test your program, and you are also encouraged to create your own TXT files to test with.</p> <p>Output Files</p> <p>For the example "collectionNames1.txt", there are four lines of data, so your program is expected to create four output files. The names of the ouput files should match the names of the customers. So for this example, you would create a file named <strong>Smith.txt</strong>, a file named <strong>James.txt</strong>, a file named <strong>Abrams.txt</strong> and a file named <strong>Sessoms.txt</strong>.</p> <p>The contents of each of these files should be a copy of the input file, but with the correct data in the place holders. So the Smith.txt file should look like this:</p> <p>Dear Mr. Smith, Please remember that the balance on your account (102.50) remains unpaid. It was due to be paid in full 10 days ago. Enclosed is an envelope in which you may mail your payment. If, by chance, you have already sent your payment, please disregard this letter and accept our gratitude. Thank you</p> <p>and the James.txt file should look like this:</p> <p>Dear Mrs. James, Please remember that the balance on your account (59.76) remains unpaid. It was due to be paid in full 14 days ago. Enclosed is an envelope in which you may mail your payment. If, by chance, you have already sent your payment, please disregard this letter and accept our gratitude. Thank you</p> <p> </p> <p>The algorithm that you can use to create this program is as follows:</p> <p>Create an array of Strings to hold the lines of text from the letter file. This is a partially-filled array, as you will not know how many lines of text will need to be stored.</p> <p>Open the letter file. Read all of the lines of text from this file and store each line into a different position in the letter array.</p> <p>Close the letter file as you will no longer need it.</p> <p>Open the data file.</p> <p>For each line of text found in the data file:</p> <p>Read the line and store it into a simple String variable.</p> <p>Use the <strong>split</strong> method from the String class to split the line of text into four separate strings (the four pieces of data which are separated by commas). The result of this method will produce a String array where each position in the array will contain one of the pieces of data (i.e. pos 0 will contain the title, pos 1 will contain the name, pos 2 will contain the balance and pos 3 will contain the days).</p> <p>Open an output file where the name of the file should be the customer's name, followed by ".txt". So if the customer's name is "Smith" then the filename should be "Smith.txt".</p> <p>For each String found in the letter array (the first array):</p> <p>Make a copy of the string (so you don't mess up the original)</p> <p>Using the <strong>replace</strong> method from the String class, replace "<title>" with the customer's title.</p> <p>Using the <strong>replace</strong> method from the String class, replace "<name>" with the customer's name.</p> <p>Using the <strong>replace</strong> method from the String class, replace "<balance>" with the customer's balance.</p> <p>Using the <strong>replace</strong> method from the String class, replace "<days>" with the customer's days overdue.</p> <p>Write the changed line into the output file</p> <p>Close the output file</p> <p> </p> <p>Technical notes, restrictions, and hints:</p> <p>There is no keyboard input and no screen output for this program. All input data comes from the input files, and all output should be written to files.</p> <p>You may assume that the form letter will not contain more than 15 lines. Therefore, the partially-filled array that you will create to hold the form letter should be created to be size 15.</p> <p>There is a MAXLETTERSIZE constant which is already set to 15. Use it to create the letter array.</p> <p>DO NOT attempt to read the entire data file and store the whole thing into an array. This file could actually contain more lines of data than you have RAM memory to hold --- so it may not even be possible to create an array large enough to hold the entire file. You should read and process one line of data at a time.</p> <p>The starter code contains lines which already correctly get the filenames. The filenames are passed into your program from the command line, and will be found in the "<strong>args</strong>" array which is a parameter to the main method. args[0] will contain the letter file name and args[1] will contain the data file name.</p> <p>There is the beginning of a <strong>generateLetter</strong> method in the starter code. You should use this method to create the letter for ONE customer. Thus, you will call this method one time for each line of data found in the data file. The parameters for this method are as follows:</p> <p>letter = the array containing the lines of text from the template letter</p> <p>letterSize = the used size of the letter array (remember, it's partially filled)</p> <p>data = an array containing the four pieces of customer data (title, name, balance, days)</p> <p>Absolutely NO other global variables (class variables) are allowed (except for the keyboard object).</p> <p>Remember that at this stage, COMMENTING IS A REQUIREMENT! Make sure you FULLY comment your program. You must include comments that explain what sections of code is doing. Notice the key word "sections"! This means that you need not comment every line in your program. Write comments that describe a few lines of code rather than "over-commenting" your program.</p> <p>You MUST write comments about every method that you create. Your comments must describe the purpose of the method, the purpose of every parameter the method needs, and the purpose of the return value (if the method has one).</p> <p>Build incrementally. Don't tackle the entire program at once. Write a little section of the program, then test it AND get it working BEFORE you go any further. Once you know that this section works, then you can add a little more to your program. Stop and test the new code. Once you get it working, then add a little bit more.</p> <p>Make sure you FULLY test your program! Make sure to run your program multiple times, inputting combinations of values that will test all possible conditions for your IF statements and loops. Also be sure to test border-line cases.</p> <p> </p> <p>Testing Your Program</p> <p>After you compile your program, you will run your program by typing the name of your program, followed by the name of the letter file and the name of the data file as follows:</p> <p>MailMerge collection1.txt collectionNames1.txt</p> <p>You may create your own letter and data files to test with if you like. If you do so, simply provide the correct file names when you go to execute your program.</p> </div> </section> <section class="answerHolder"> <div class="answerHolderHeader"> <div class="answer-heading"> <h2>Step by Step Solution</h2> </div> <div class="answerReviews"> <div class="starReview"> <div class="starIcon"> </div> <div class="starText"> </div> </div> </div> </div> <div class="answerSteps"> <p>There are <span>3</span> Steps involved in it</p> <div class="step"> <h3>Step: 1</h3> <img src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/document_product_info/blur-text-image.webp" width="759" height="271" alt="blur-text-image" loading="lazy" decoding="async" fetchpriority="low"> <div class="step1Popup"> <h3>Get Instant Access to Expert-Tailored Solutions</h3> <p>See step-by-step solutions with expert insights and AI powered tools for academic success</p> <button class="view_solution_btn step1PopupButton">View Solution</button> </div> </div> <div class="step"> <h3 class="accordion">Step: 2</h3> <div class="panel"> <img src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/document_product_info/blur-subtext-image.webp" width="975" height="120" alt="blur-text-image" loading="lazy" decoding="async" fetchpriority="low"> <button class="view_solution_btn stepPopupButton">Sign Up to view</button> </div> </div> <div class="step"> <h3 class="accordion">Step: 3</h3> <div class="panel"> <img src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/document_product_info/blur-subtext-image.webp" width="975" height="120" alt="blur-text-image" loading="lazy" decoding="async" fetchpriority="low"> <button class="view_solution_btn stepPopupButton">Sign Up to view</button> </div> </div> </div> </section> </div> <div class="expertRight"> <section class="AIRedirect"> <div class="AIHolder"> <h2>Ace Your Homework with AI</h2> <p>Get the answers you need in no time with our AI-driven, step-by-step assistance</p> <a class="AILink" href="/ask_ai">Get Started</a> </div> </section> <section class="relatedBook"> <div class="bookHolder" > <div class="relatedBookHeading" > <h2>Recommended Textbook for</h2> <object class="freeTagImage" type="image/svg+xml" data="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/document_product_info/free.svg" name="free-book-icon"></object> </div> <div class="bookMainInfo" > <div class="bookImage" > <a href="/textbooks/machine-learning-and-knowledge-discovery-in-databases-european-conference-ecml-pkdd-2010-barcelona-spain-september-2010-proceedings-part-1-lnai-6321-2010th-edition-978-3642158797-176403"> <img src="https://dsd5zvtm8ll6.cloudfront.net/si.question.images/book_images/2024/01/6597fa9e2dfe8_9106597fa9e2af1c.jpg" width="100" height="131" alt="Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2010 Barcelona Spain September 2010 Proceedings Part 1 Lnai 6321" loading="lazy"> </a> </div> <div class="bookInfo" > <h3 class="bookTitle"> <a href="/textbooks/machine-learning-and-knowledge-discovery-in-databases-european-conference-ecml-pkdd-2010-barcelona-spain-september-2010-proceedings-part-1-lnai-6321-2010th-edition-978-3642158797-176403"> Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2010 Barcelona Spain September 2010 Proceedings Part 1 Lnai 6321 </a> </h3> <div class="bookMetaInfo" > <p class="bookAuthor"> <b>Authors:</b> <span>Jose L. Balcazar ,Francesco Bonchi ,Aristides Gionis ,Michele Sebag</span> </p> <p class="bookEdition"> 2010th Edition </p> <p class="bookEdition"> 364215879X, 978-3642158797 </p> </div></div></div> <a href="/textbooks/computer-science-mobile-programming-661" class="viewMoreBooks">More Books</a> </div> </section> </div> </div> <section class="relatedQuestion"> <div class="relatedQuestionHolder"> <h4>Students also viewed these Databases questions</h4> <div class="relatedQuestionSliderHolder"> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/look-up-the-criteria-of-socially-responsible-investing-sri-institutions" > Look up the criteria of socially responsible investing (SRI) institutions online. In what ways do they differ? What are the different criteria they use or sectors they encourage or screen against?... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/knox-company-begins-operations-on-january-1-because-all-work" > Knox Company begins operations on January 1. Because all work is done to customer specifications, the company decides to use a job order cost system. Prepare a flowchart of a typical job order system... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/business-statistics-for-contemporary/2-what-model-will-be-fit-to-the-data-pg45-2100194" > (2) What model will be fit to the data? Pg45 </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/given-the-following-network-with-activity-times-in-months-determine" > Given the following network, with activity times in months, determine the earliest and latest activity times and slack for each activity. Indicate the critical path and the projectduration. 10 6 12 8... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/questions/write-a-program-that-will-perform-a-mail-merge-background-12447090" > Write a program that will perform a mail merge. Background When companies need to send out the same letter to many different customers, they usually have a form letter which contains "place-holder... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/questions/after-you-apprehend-tommy-jones-you-decide-you-want-to-2674390" > After you apprehend Tommy Jones, you decide you want to interrogate him. In order to conduct a lawful interrogation of Tommy Jones, which of the following is true? You cannot legally interrogate... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/questions/i-illustrate-the-forces-acting-on-the-roller-coaster-when-1024070" > i) Illustrate the forces acting on the roller coaster when it is at the bottom, top and the same level as the center. (4 marks) ii) Calculate the force exerted by the track on the car at the lowest... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/questions/the-following-saturday-morning-the-dentist-assisted-by-you-is-1003897" > The following Saturday morning, the dentist, assisted by you, is finishing a complicated series of tooth extractions and repairs on a patient. This required anaesthetic injections to the patient's... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/questions/determine-the-displacements-and-forces-on-each-node-shown-below-1024072" > Determine the displacements and forces on each node shown below. The units of force, displacement and spring stiffness are lb, in and lb/in, respectively. k=200 k=400 k=100 k=300 wwwwwwwww u=0.1 F=20 </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/questions/d-question-2-333-pts-what-entry-modes-discuss-in-1003862" > D Question 2 33.3 pts What entry modes (discuss in details of your understanding) do hospitality companies use when they expand in the global market place? What are the considerations when they make... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/questions/1x-given-the-graphs-of-fx-and-hx-6-5-1000945" > 1(x) Given the graphs of f(x) and h(x). 6 5 2 1 0 4 3 h(x) 6 5 4 3 2 1 0 0 2 3 x a) Let g(x) = f(x) h(x). What is the value of g'(2)? b) Let p(x) = f(x)/h(x) What is the value of p'(2)? c) Write out... </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/managing-human-behavior-in-public/how-would-we-like-to-see-ourselves-2118785" > How would we like to see ourselves? </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/managing-human-behavior-in-public/8-i-accept-that-others-cannot-make-me-angry-without-2118778" > 8. I accept that others cannot make me angry without my full cooperation. In other words, I control my anger. </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> <div class="relatedQuestionCart "> <div class="relatedQuestionCartHeader"> <h3>Question</h3> <div class="relatedStarRating"> <span class="star active">★</span><span class="star active">★</span><span class="star active">★</span><span class="star">★</span><span class="star">★</span> </div> </div> <a class="relatedQuestionText" href="/study-help/managing-human-behavior-in-public/4-when-verbally-attacked-i-allow-for-the-probability-that-2118774" > 4. When verbally attacked, I allow for the probability that the attack is prompted by pain or fear. </a> <div class="relatedQuestionCartFooter"> <div class="relatedHistory"> <p> Answered: <span>1 week ago</span> </p> </div> </div> </div> </div> </div> </section> <hr class="expert-separator"> <div class="next-previous-button"> <div class="navigationButtons"> <a class="previousQuestionButton" href="/study-help/questions/a-heated-vertical-wall-025-m-high-of-furnace-had-12447089">Previous Question</a> <a class="nextQuestionButton" href="/study-help/questions/a-reaction-has-a-rate-law-of-rate-125-12447091">Next Question</a> </div> </div> </div> <div class="promo items-center justify-center hidden" style="margin-left:-15px;"> <div class="app_promo"> <div class="app_promo_headline"> <img class="app_promo_icon" alt="Mobile App Logo" width="40" height="40" loading="lazy" src="includes/images/mobile/finalLogo.png"> <p class="app_promo_title font-sans items-center">View Answer in SolutionInn App</p> </div> <button class="app_promo_action redirection question_open_url='q_id=12447090&q_type=2'"> Download on the App Store </button> <button class="btn btn-default app_promo_dismiss"> Continue with the mobile website </button> </div> </div> </main> </div> <div class="blank-portion"></div> <footer> <div class="container footerHolder"> <div class="footerLinksFlex"> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Services</p> <ul> <li><a href="/site-map">Sitemap</a></li> <li><a href="/fun/">Fun</a></li> <li><a href="/study-help/definitions">Definitions</a></li> <li><a href="/tutors/become-a-tutor">Become Tutor</a></li> <li><a href="/study-help/categories">Study Help Categories</a></li> <li><a href="/study-help/latest-questions">Recent Questions</a></li> <li><a href="/study-help/questions-and-answers">Expert Questions</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Company Info</p> <ul> <li><a href="/security">Security</a></li> <li><a href="/copyrights">Copyrights</a></li> <li><a href="/privacy">Privacy Policy</a></li> <li><a href="/conditions">Terms & Conditions</a></li> <li><a href="/solutioninn-fee">SolutionInn Fee</a></li> <li><a href="/scholarships">Scholarship</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-6"> <p>Get In Touch</p> <ul> <li><a href="/about-us">About Us</a></li> <li><a href="/support">Contact Us</a></li> <li><a href="/career">Career</a></li> <li><a href="/jobs">Jobs</a></li> <li><a href="/support">FAQ</a></li> <li><a href="/campus-ambassador-program">Campus Ambassador</a></li> </ul> </div> <div class="footerLinksCol col-md-3 col-lg-3 col-sm-6 col-12"> <p>Secure Payment</p> <div class="footerAppDownloadRow"> <div class="downloadLinkHolder"> <img src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/common/footer/secure_payment_method.png" class="img-fluid mb-3" width="243" height="28" alt="payment-verified-icon" loading="lazy"> </div> </div> <p>Download Our App</p> <div class="footerAppDownloadRow"> <div class="downloadLinkHolder mobileAppDownload col-md-6 col-lg-6 col-sm-6 col-6 redirection" data-id="1"> <img style="cursor:pointer;" src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/home_page/google-play-svg.svg" alt="SolutionInn - Study Help App for Android" width="116" height="40" class="img-fluid mb-3 " loading="lazy"> </div> <div class="downloadLinkHolder mobileAppDownload col-md-6 col-lg-6 col-sm-6 col-6 redirection" data-id="2"> <img style="cursor:pointer;" src="https://dsd5zvtm8ll6.cloudfront.net/includes/images/rewamp/home_page/apple-store-download-icon.svg" alt="SolutionInn - Study Help App for iOS" width="116" height="40" class="img-fluid mb-3" loading="lazy"> </div> </div> </div> </div> </div> <div class="footer-bottom"> <p>© 2024 SolutionInn. All Rights Reserved</p> </div></footer> <script> window.addEventListener("load",function(){jQuery(document).ready(function(t){t.ajax({type:"POST",url:"/",data:{trackUserActivity:!0,reqUri:document.URL,referer:document.referrer},success:function(t){}})})},!1),window.addEventListener("load",function(){jQuery(document).ready(function(t){t.ajax({type:"POST",url:"/",data:{insertCrawler:!0,reqUri:document.URL,parseTime:"0.056",queryTime:"0.01654768548584",queryCount:"30"},success:function(t){}})})},!1),window.addEventListener("load",function(){jQuery(document).ready(function(){function t(t="",n=!1){var i="itms-apps://itunes.apple.com/app/id6462455425",e="openApp://action?"+t;isAndroid()?(setTimeout(function(){return window.location="market://details?id=com.solutioninn.studyhelp",!1},25),window.location=e):isIOS()?(setTimeout(function(){return window.location=i,!1},25),window.location=e):(i="https://apps.apple.com/in/app/id6462455425",n&&(i="https://play.google.com/store/apps/details?id=com.solutioninn.studyhelp"),window.open("about:blank","_blank").location.href=i)}jQuery("#appModal").modal("show"),jQuery(".download-app-btn").click(function(){t(jQuery(this).attr("question_open_url"))}),jQuery(".redirection").click(function(){var n=jQuery(this).attr("question_open_url"),i=jQuery(this).attr("data-id");void 0!=n?1==i?t(n,!0):t(n,!1):1==i?t("",!0):t("",!1)}),jQuery(".app-notification-close").click(function(){jQuery(".app-notification-section").css("visibility","hidden");var t=new FormData;t.append("hide_notification",!0),jQuery.ajax({type:"POST",url:"/",data:t,cache:!1,contentType:!1,processData:!1,beforeSend:function(){},success:function(t){location.reload()}})})})},!1); </script> </body> </html>