11#include "test.h"
22
3- // Global variables to read and write data
4- // "waiver" "TC" "year" "semester" "credit"
3+ // Global variables to read and write data, for "waiver" "TC" "year" "semester" "credit" placeholders
54int waiver , TC , year , semester , credit ;
65
76// Readfile buffer size and temporary text file name for output generation
@@ -122,7 +121,56 @@ void Display(ResultCallback callback)
122121 remove (TEMP_FILE_NAME );
123122}
124123
124+ // Display function for Diploma Holders
125+ void D_Display (ResultCallback callback )
126+ {
127+ FILE * fp = fopen ("formats/D_format.txt" , "r" );
128+ if (fp == NULL )
129+ {
130+ perror ("Failed to open input file" );
131+ exit (EXIT_FAILURE );
132+ }
133+
134+ FILE * temp_fp = fopen (TEMP_FILE_NAME , "w+" );
135+ if (temp_fp == NULL )
136+ {
137+ perror ("Failed to open temporary file" );
138+ fclose (fp );
139+ exit (EXIT_FAILURE );
140+ }
125141
142+ char buffer [BUFFER_SIZE ];
143+ char value [20 ];
144+
145+ while (fgets (buffer , BUFFER_SIZE , fp ) != NULL )
146+ {
147+ sprintf (value , "%d" , TC );
148+ replace_placeholder (buffer , "\"TC\"" , value );
149+
150+ sprintf (value , "%d" , year );
151+ replace_placeholder (buffer , "\"year\"" , value );
152+
153+ sprintf (value , "%d" , semester );
154+ replace_placeholder (buffer , "\"semester\"" , value );
155+
156+ sprintf (value , "%d" , credit );
157+ replace_placeholder (buffer , "\"credit\"" , value );
158+
159+ fputs (buffer , temp_fp );
160+ }
161+
162+ rewind (temp_fp );
163+
164+ while (fgets (buffer , BUFFER_SIZE , temp_fp ) != NULL )
165+ {
166+ printf ("Buffer content: %s\n" , buffer ); // Debug print
167+ callback (buffer ); // Call the callback with each line of output
168+ }
169+
170+ fclose (fp );
171+ fclose (temp_fp );
172+ remove (TEMP_FILE_NAME );
173+ }
126174
127175// Definition of Struct Undergraduate starts from here
128176void BBA (float SSC , float HSC , ResultCallback callback )
@@ -288,57 +336,7 @@ void Bangla(float SSC, float HSC, ResultCallback callback)
288336 waiver = TC = year = semester = credit = 0 ;
289337}// End of definition of struct Undergraduate
290338
291- // Display function for Diploma Holders
292- void D_Display (ResultCallback callback )
293- {
294- FILE * fp = fopen ("formats/D_format.txt" , "r" );
295- if (fp == NULL )
296- {
297- perror ("Failed to open input file" );
298- exit (EXIT_FAILURE );
299- }
300-
301- FILE * temp_fp = fopen (TEMP_FILE_NAME , "w+" );
302- if (temp_fp == NULL )
303- {
304- perror ("Failed to open temporary file" );
305- fclose (fp );
306- exit (EXIT_FAILURE );
307- }
308-
309- char buffer [BUFFER_SIZE ];
310- char value [20 ];
311-
312- while (fgets (buffer , BUFFER_SIZE , fp ) != NULL )
313- {
314- sprintf (value , "%d" , TC );
315- replace_placeholder (buffer , "\"TC\"" , value );
316-
317- sprintf (value , "%d" , year );
318- replace_placeholder (buffer , "\"year\"" , value );
319-
320- sprintf (value , "%d" , semester );
321- replace_placeholder (buffer , "\"semester\"" , value );
322-
323- sprintf (value , "%d" , credit );
324- replace_placeholder (buffer , "\"credit\"" , value );
325-
326- fputs (buffer , temp_fp );
327- }
328-
329- rewind (temp_fp );
330-
331- while (fgets (buffer , BUFFER_SIZE , temp_fp ) != NULL )
332- {
333- printf ("Buffer content: %s\n" , buffer ); // Debug print
334- callback (buffer ); // Call the callback with each line of output
335- }
336-
337- fclose (fp );
338- fclose (temp_fp );
339- remove (TEMP_FILE_NAME );
340- }
341-
339+ // Definition of Struct UndergraduateDiploma starts from here
342340void D_EEE (float DiplomaResult , ResultCallback callback )
343341{
344342 year = 3 ;
@@ -398,7 +396,6 @@ void D_CSE(float DiplomaResult, ResultCallback callback)
398396
399397void D_ECE (float DiplomaResult , ResultCallback callback )
400398{
401-
402399 year = 3 ;
403400 if (D_getwaiver (DiplomaResult ))
404401 {
@@ -453,4 +450,4 @@ void D_ME(float DiplomaResult, ResultCallback callback)
453450 }
454451 D_Display (callback );
455452 TC = year = semester = credit = 0 ;
456- }
453+ }// End of definition of struct UndergraduateDiploma
0 commit comments