### How JustAnswer Works:

• Ask an Expert
• Get a Professional Answer
• 100% Satisfaction Guarantee

## Ask Scott Your Own Question

Scott, MIT Graduate
Category: Homework
Satisfied Customers: 3040
Experience:  MIT Graduate (Math, Programming, Science, and Music)
3546829
Type Your Homework Question Here...
Scott is online now

# Goals: Developing problem-solving skills, declaring

### Customer Question

Goals: Developing problem-solving skills, declaring variables, multi-way branches, employing loops, and using files Problem: You are to create a program to help in the analysis of data obtained from an x-ray powder diffractometer used to characterize materials.
In the diffractometer a sample is exposed to x-rays of a specific wavelength and a detector placed on a goniometer is used to measure the angles (2-theta values) where constructive interference of the diffracted beam occur (called peaks) and the intensity
of these peaks. The location of these peaks is dependent on the atomic structure of the material being examined. This relationship is given by Bragg’s law which states n = 2dsin() where n is the harmonic of the diffracted beam (n = 1 for these experiments),
 is the wavelength of the x-ray, d is the interplanar spacing between planes of specific orientation in the material and  (theta) is the angle between the x-ray beam and the sample of the material. You are to create a program that will read the 2-theta values
and the intensities from a file and create a table that will contain the 2-theta values, the intensities, the d values and Q values where Q = 1/(sin())2. The first line of the data file will contain the sample name which should be stored as a string object.
The second line will contain the anode (the elemental source of the x-ray) as a 2-character symbol which should also be stored as a string object. You will need to use this symbol to determine the wavelength of the x-ray using the table below. You should assume
the format of the 2-character symbol will be an upper case letter followed by a lower case letter and the symbol will be one of those listed in the table below. Anode Wavelength Cu 1.54059 Cr 2.28973 Fe 1.93604 Co 1.78900 Mo 0.70932 The 2-theta (first column)
and intensity values (second column) will start on the third line and continue on subsequent lines. The intensity values are whole numbers. You should design your program so it will continue to read data until the end of file is reached. Your output should
be a file that contains the name of the sample, the wavelength and a table containing the 2-theta and intensity values from the file plus the calculated d and Q values. The wavelength should be output with 6 significant digits, the 2-theta values with 5 significant
digits, the d values with 6 significant digits and the Q values with 7 significant digits. The table that you output should contain column headings then the values similar to the example given below. Your program should allow the user to enter the name of
the data file, but you do not need to worry about the folder path (assume the data file is in the same folder as your *.cpp file) and the name of the output file to be generated. A data file called “Project2data.dat” has been placed on ANGEL. This file contains
different peaks than what is shown in the table below. Your program should also allow the user to analyze data from another file without rerunning the program. For sample Project 2 demo with anode of Cu and wavelength of 1.54059 the values are 2-theta Intensity
d values Q values 16.375 20 5.40889 49.30620 20.845 55 4.25800 30.55609 26.622 100 3.34567 18.86480 33.097 45 2.70443 12.32647 36.520 5 2.45842 10.18587 39.439 21 2.28293 8.783553 40.263 34 2.23809 8.441890 There were 7 peaks in the file. Would you like to
analyze data from another file (y/n)? Do not use any concepts beyond Chapter 5 (e.g. do not use functions or arrays) to complete this project. Attach your source code file and your output file to the same submission on ANGEL. Make sure that you have included
your introductory comments containing the purpose of the program i.e. what problem or task is being solved plus the input needed from user to complete the problem/task, output expected from the program, and the processing needed to get the output from the
input. The description of the purpose should be detailed enough that a person reading your code would not need any additional information to understand the problem. The processing comments should not include any C++ commands.
Submitted: 1 year ago.
Category: Homework
Expert:  active1065 replied 1 year ago.

Hi,

Welcome to Justanswer.

When do you need this by ? DO you have the sample input files for the project

Customer: replied 1 year ago.
hi, I need it by Wednesday morning. I can email you the sample input, it is not allowing me to upload it here .
thanks for the help ,
-A
Expert:  active1065 replied 1 year ago.

You can use the paperclip icon to add attachments. Use a word doc as your input.

Else go to www.wikisend.com and upload your file. It will give you a download link. Paste the link back here.

Customer: replied 1 year ago.
hi the link http://wikisend.com/download/933856/Project2data.dat
Expert:  active1065 replied 1 year ago.

This is something similar to i have done before. You can use this code to run and test your program:

http://pastebin.com/3L2nUkBf

Please don't forget to rate the service.

Regards,

Paul

Customer: replied 1 year ago.
Dear *****
the program did not work , it is due in 2 hours I still cant see to get it working
i have pasted the Date file belowSample XBN-2
Cr
12.002 35
13.867 10
19.659 5
23.095 17
24.137 21
27.942 33
30.507 100
31.320 78
34.398 95
36.556 45
39.928 1
41.842 6
42.464 34
44.882 3
46.631 67
47.202 2
49.438 88
51.067 57
51.602 46
53.702 22
55.241 51
57.745 34
59.214 10
59.699 7
61.614 13
63.028 23
63.496 41
65.347 27
66.718 25
67.172 2
68.972 18
70.308 42
72.510 24
73.818 16
74.253 5
75.980 9
77.268 12
77.695 19
80.671 3
81.094 11
82.780 18
84.041 7
86.136 35
87.390 4
87.808 8
89.479 9
90.731 11
91.149 2
92.819 1
94.074 16
94.493 10
96.170 22
97.431 6
99.542 2
100.814 8
101.239 11
102.947 18
104.236 2
104.667 1
106.400 9
107.710 14
108.149 2
109.915 8
111.253 9
113.511 19
114.884 2
115.345 4
117.207 7
118.624 1
121.031 5
122.504 12
123.000 3
125.014 6
126.558 7
129.203 2
130.839 8
131.393 1
133.659 2
135.416 7
136.013 2
please check and resend as soon as possible,
thank you very much
Expert:  active1065 replied 1 year ago.

I can see the output. Are you entering the file names properly?

Expert:  active1065 replied 1 year ago.

Enter the full input file name for e.g input.txt