c - how to access items in nested struct -
<पूर्व>
#include & lt; stdio.h & gt; # शामिल करें & lt; math.h & gt; # MAXVALS को 100 टाइप किए गएफ़ संरचना {डबल एक्स, वाई; } Location_t; Typedef struct {location_t loc; डबल एसओएस; } Loc_sos_t; Int main (int argc, char * argv []) {int line_count = 0, i = 0; डबल temp_x, temp_y, temp_watt; Location_t loc_str [MAXVALS]; Loc_sos_t sos_str [MAXVALS]; जबकि (scanf ("% lf% lf% lf", & amp; temp_x, & amp; temp_y, & amp; temp_watt) == 3) {loc_str [i] .x = temp_x; Loc_str [i] .y = temp_y; Sos_str [i] .sos = temp_watt; i + = 1; Line_count + = 1;} (i = 0; i & lt; 5; i ++) {printf ("x =% lf, y =% lf \ n", sos_str [i] .loc.x, sos_str [i] .loc के लिए वाई); } Printf ("रेखा गणना =% d", पंक्ति_मार्ग); वापसी 0; } इनपुट फ़ाइल 30.0 70.0 0.0045 53.0 63.0 0.0006 36.5 27.0 0.0005 70.0 25.0 0.0015 20.0 50.0 0.0008 कॉलम X निर्देशांक हैं, वाई समन्वय, वाट मैं एक इनपुट पाठ फ़ाइल से मूल्यों को पढ़ने की कोशिश कर रहा हूं और उन्हें 2 अलग-अलग स्ट्रेंक्ट्स में डालें। पहले ढांचे के लिए एक्स और वाई निर्देशांक की आवश्यकता होती है, जबकि दूसरे के पास (एक्स, वाई) और वाट की आवश्यकता होती है। लूप के लिए अंतिम यह जांचना है कि मूल्यों स्ट्रैक्ट्स में हैं या नहीं। जब मैं दूसरी संरचना से एक्स और वाई निर्देशांक का उपयोग करने की कोशिश करता हूं, तो मुझे शून्य देता है कृपया मुझे बताओ कि क्या गलत था, और इसे कैसे ठीक करें और यदि आप अतिरिक्त उदार हैं, तो मेरे कोड को कैसे बेहतर करें, यह अधिक सुरुचिपूर्ण दिख रहा है।
<पूर्व>
स्थान_t loc_str [MAXVALS]; ... loc_str [i] .x = temp_x; Loc_str [i] .y = temp_y; आप स्थानों को सेट कर रहे हैं जिनके पास आपके sos_str सरणी के साथ कुछ भी नहीं है Loc_str से छुटकारा पाएं और करो
sos_str [i] .loc.x = temp_x; Sos_str [i] .loc.y = temp_y;
Comments
Post a Comment