Data Structure skill examination system and data structure Examination System
After one month of hard work, the data structure skill test system was finally implemented in C ++ (with the interspersed C language ), the biggest advantage of the system is that it can detect whether students have inserted a USB flash drive when answering questions, and enable word, notepad, and other auxiliary tools. This system is divided into two parts: student and teacher.
On the student end, the student enters the student ID and name (for this test), and evaluates the value based on the ASCII code 8 corresponding to the last four digits of the student ID, to achieve the effect of question extraction (you can also modify it to an IP address to read the question), extract two questions from the question bank, answer one question randomly, and then select the question after the answer is completed, this avoids issues that will not be performed after the selected answer. When a question is drawn, the countdown is displayed. The time is 60 minutes. If the question times out, the maximum time allowed is 20 minutes. After the answer is over, the program and encrypted student information can be automatically sent to the instructor end.
The instructor-side function is to obtain the student's files, open the cpp and information files in turn, enter the scores, and generate the student scores form. This reduces the trouble of reading programs and recording scores from students.
Some precautions for the system are as follows:
Student end:
# Include <stdio. h> # include <stdlib. h> # include <iostream> # include <math. h> # include <time. h> # include <string. h> # include <fstream> # include <conio. h> # include <Windows. h> # define NORMAL_SIZ BUFSIZ # define CHMSK_KEY 0xa5char buf [NORMAL_SIZ]; using namespace std; // display the question content int duquwenben (string a) {FILE * fp; fp = fopen (. c_str (), "r"); char buf [1024]; while (fgets (buf, 1024, fp ))! = NULL) {printf ("% s", buf);} printf ("\ n"); return 0;} // read the driver status int GetDriverInfo (LPSTR szDrive) {UINT uDriverType; uDriverType = GetDriveType (szDrive); if (uDriverType = DRIVE_REMOVABLE) return 1; else return 0;} // determine whether a USB flash disk is inserted into int checkUdisk () {CHAR szLogicDriveStrings [1024]; PCHAR szDrive; GetLogicalDriveStrings (1023, szLogicDriveStrings); szDrive = (PCHAR) szLogicDriveStrings; for (int I = 0; I <7; I ++) {if (Get DriverInfo (szDrive) return 1; szDrive + = (lstrlen (szDrive) + 1);} return 0 ;}// determine whether to enable word, PPT, and notepad int checkTask () {string temp1, temp2, temp3; temp1 = "tasklist | find"; temp2 = temp1 + "\" WINWORD \ "" + "> 1.txt "; system (temp2.c _ str (); temp2 = temp1 + "\" POWERPNT \ "" + "> 1.txt"; system (temp2.c _ str ()); temp2 = temp1 + "\" note \ "" + "> 1.txt"; system (temp2.c _ str (); ifstream test; test. open ("1.txt"); while (! Test. eof () {test> temp3; if (temp3.length ()> 3) {return 1; break ;}} test. close (); return 0;} // store the student-related content in the xinxi Text Document void xinxi () {FILE * fp = fopen ("d: \ data structure skills test \ xinxi.txt "," w + "); fprintf (fp," % s "," d: \ data structure skills test \\"); fclose (fp);} // log on to the interface and determine whether the information is correct. void denglu1 (char B []) {FILE * fp = fopen ("d: \ data structure skills test \ xinxi.txt "," w + "); FILE * fq = fopen (" d: \ data structure skills test \ xingming.txt ", "r"); char m [4], ch, s [100]; int I = 0, k = 0, n, x = 0, y, len; // m1 [0] = '\ n'; printf ("Enter name:"); for (int v = 0; v <3 & k = 0; v ++) {gets (B); fclose (fq); FILE * fq = fopen ("d: \ data structure skills test \ xingming.txt", "r "); while (fgets (s, 100, fq )! = NULL) {len = strlen (s); s [len-1] = '\ 0'; if (strcmp (B, s) = 0) {fputs (B, fp); k = 1; break;} if (k = 0 & v <2) printf ("Enter again:");} fclose (fp ); fclose (fq); if (k = 0) exit (0);} // log on to the student ID page and determine whether the student ID meets the void denglu2 (char c []) {FILE * fp = fopen ("d :\\ data structure skills test \ xinxi.txt", "a +"); FILE * fq = fopen ("d: \ data structure skills test \ xuehao.txt "," r "); char m [4], ch, s [100]; int I = 0, k = 0, n, x = 0, y, len; printf ("Enter the student ID:"); for (int v = 0; v <3 & k = 0; v ++) {gets (c); fclose (fq ); FILE * fq = fopen ("d :\\ data structure skills test \ xuehao.txt", "r"); while (fgets (s, 100, fq )! = NULL) {len = strlen (s); s [len-1] = '\ 0'; if (strcmp (c, s) = 0) {fprintf (fp, "\ n"); fputs (c, fp); k = 1; break ;}} if (k = 0 & v <2) printf ("Enter again: ");} fclose (fp); fclose (fq); if (k = 0) exit (0 );} // according to the student's student ID, question int chui( int a) {int B; a = a % 8; B = a + 10; FILE * fp = fopen ("d: \ data structure skills test \ xinxi.txt "," a + "); stringtempIdd; string tempId =" d :\\ data structure skills test \ Ti \ 1.txt "; fprintf (fp, "\ n"); fprintf (fp, "% s", "students obtain the following questions:"); printf ("\ n: question % d and question % d Question \ n ", a + 1, B + 1); fprintf (fp," % s "," th "); fprintf (fp," % d ", a + 1); fprintf (fp, "% s", "Question and number"); fprintf (fp, "% d", B + 1); fprintf (fp, "% s", "Question"); fprintf (fp, "\ n"); switch (a) {case 0: tempId = "d: \ data structure skills test \ Ti \ 1.txt"; break; case 1: tempId = "d: \ data structure skills test \ Ti \ 2.txt"; break; case 2: tempId = "d :\\ data structure skills test \ Ti \ 3.txt"; break; case 3: tempId =" d: \ data structure skills test \ Ti \ 4.txt"; break; case 4: tempId = "d: \ data structure skills test \ Ti \ 5.txt"; break; case 5: tempId = "d :\\ data knot Structural skills test \ Ti \ 6.txt"; break; case 6: tempId = "d: \ data structure skills test \ Ti \ 7.txt"; break; case 7: tempId = "d :\\ data structure skills test \ Ti \ 8.txt"; break; case 8: tempId =" d: \ data structure skills test \ Ti \ 9.txt"; break; case 9: tempId = "d: \ data structure skills test \ Ti \ 10.txt"; break; case 10: tempId = "d :\\ data structure skills test \ Ti \ 11.txt"; break; case 11: tempId =" d: \ data structure skills test \ Ti \ 12.txt"; break; case 12: tempId = "d: \ data structure skills test \ Ti \ 13.txt"; break; case 13: tempId = "d :\\ data structure skills test \ Ti \ 14.txt"; break; Case 14: tempId = "d :\\ data structure skills test \ Ti \ 15.txt"; break; case 15: tempId =" d: \ data structure skills test \ Ti \ 16.txt"; break; case 16: tempId = "d: \ data structure skills test \ Ti \ 17.txt"; break; case 17: tempId = "d :\\ data structure skills test \ Ti \ 18.txt"; break;} duquwenben (tempId ); printf ("************************************* * ********************* \ n "); switch (B) {case 0: tempIdd = "d :\\ data structure skills test \ Ti \ 1.txt"; break; case 1: tempIdd =" d: \ data structure skills test \ Ti \ 2.txt"; break; case 2: te MpIdd = "d :\\ data structure skills test \ Ti \ 3.txt"; break; case 3: tempIdd =" d: \ data structure skills test \ Ti \ 4.txt"; break; case 4: tempIdd = "d: \ data structure skills test \ Ti \ 5.txt"; break; case 5: tempIdd = "d :\\ data structure skills test \ Ti \ 6.txt"; break; case 6: tempIdd =" d: \ data structure skills test \ Ti \ 7.txt"; break; case 7: tempIdd = "d: \ data structure skills test \ Ti \ 8.txt"; break; case 8: tempIdd = "d :\\ data structure skills test \ Ti \ 9.txt"; break; case 9: tempIdd =" d: \ data structure skills test \ Ti \ 10.txt"; break; case 10: tempIdd = "d: \ data structure skills test \ T I \ 11.txt"; break; case 11: tempIdd = "d :\\ data structure skills test \ Ti \ 12.txt"; break; case 12: tempIdd =" d: \ data structure skills test \ Ti \ 13.txt"; break; case 13: tempIdd = "d: \ data structure skills test \ Ti \ 14.txt"; break; case 14: tempIdd = "d :\\ data structure skills test \ Ti \ 15.txt"; break; case 15: tempIdd =" d: \ data structure skills test \ Ti \ 16.txt"; break; case 16: tempIdd = "d: \ data structure skills test \ Ti \ 17.txt"; break; case 17: tempIdd = "d :\\ data structure skills test \ Ti \ 18.txt"; break;} duquwenben (tempIdd); if (checkUdisk () {pr Intf ("do not insert a USB flash drive, unplug it and try again \ n"); while (checkUdisk () Sleep (1) ;}fclose (fp); // system (f ); return 0;} // if an exception occurs, the title int chongchui( int a) {int B; a = a % 8; B = a + 10; string tempId will be displayed again, tempIdd; tempId = "d :\\ data structure skills test \ Ti \ 1.txt"; the question drawn by printf (" \ n is: question % d and question % d \ n ", a + 1, B + 1); switch (a) {case 0: tempId =" d: \ data structure skills test \ Ti \ 1.txt"; break; case 1: tempId = "d: \ data structure skills test \ Ti \ 2.txt"; break; case 2: tempId = "d :\\ data structure skills test \ Ti \ 3.txt"; break; case 3: tempId = "D :\\ data structure skills test \ Ti \ 4.txt"; break; case 4: tempId =" d :\\ data structure skills test \ Ti \ 5.txt "; break; case 5: tempId = "d :\\ data structure skills test \ Ti \ 6.txt"; break; case 6: tempId =" d: \ data structure skills test \ Ti \ 7.txt"; break; case 7: tempId = "d: \ data structure skills test \ Ti \ 8.txt"; break; case 8: tempId = "d :\\ data structure skills test \ Ti \ 9.txt"; break; case 9: tempId =" d: \ data structure skills test \ Ti \ 10.txt"; break; case 10: tempId = "d: \ data structure skills test \ Ti \ 11.txt"; break; case 11: tempId = "d :\\ data structure skills test \ Ti \ 12.txt "; Break; case 12: tempId = "d :\\ data structure skills test \ Ti \ 13.txt"; break; case 13: tempId =" d: \ data structure skills test \ Ti \ 14.txt"; break; case 14: tempId = "d: \ data structure skills test \ Ti \ 15.txt"; break; case 15: tempId = "d :\\ data structure skills test \ Ti \ 16.txt"; break; case 16: tempId =" d: \ data structure skills test \ Ti \ 17.txt"; break; case 17: tempId = "d: \ data structure skills test \ Ti \ 18.txt"; break ;} duquwenben (tempId ); printf ("************************************* * ********************* \ n "); switch (B) {ca Se 0: tempIdd = "d :\\ data structure skills test \ Ti \ 1.txt"; break; case 1: tempIdd =" d: \ data structure skills test \ Ti \ 2.txt"; break; case 2: tempIdd = "d: \ data structure skills test \ Ti \ 3.txt"; break; case 3: tempIdd = "d :\\ data structure skills test \ Ti \ 4.txt"; break; case 4: tempIdd =" d: \ data structure skills test \ Ti \ 5.txt"; break; case 5: tempIdd = "d: \ data structure skills test \ Ti \ 6.txt"; break; case 6: tempIdd = "d :\\ data structure skills test \ Ti \ 7.txt"; break; case 7: tempIdd =" d: \ data structure skills test \ Ti \ 8.txt"; break; case 8: tempIdd = "d: \ data structure skills EXam \ Ti \ 9.txt"; break; case 9: tempIdd = "d :\\ data structure skills test \ Ti \ 10.txt"; break; case 10: tempIdd = "d :\\ data structure skills test \ Ti \ 11.txt"; break; case 11: tempIdd =" d: \ data structure skills test \ Ti \ 12.txt"; break; case 12: tempIdd = "d: \ data structure skills test \ Ti \ 13.txt"; break; case 13: tempIdd = "d :\\ data structure skills test \ Ti \ 14.txt"; break; case 14: tempIdd =" d: \ data structure skills test \ Ti \ 15.txt"; break; case 15: tempIdd = "d: \ data structure skills test \ Ti \ 16.txt"; break; case 16: tempIdd = "d :\\ data structure skills test \ Ti \ 17. Txt "; break; case 17: tempIdd =" d :\\ data structure skills test \ Ti \ 18.txt"; break ;}duquwenben (tempIdd); return 0 ;} // The document that generates the student information will encrypt void jiami () {FILE * fp = fopen ("d: \ data structure skills test \ xinxi.txt ", "rb +"); int n; while (n = fread (buf, 1, NORMAL_SIZ, fp)> 0) {int I; for (I = 0; I <n; I ++) {buf [I] ^ = CHMSK_KEY;} if (fseek (fp,-n, SEEK_CUR) =-1) {perror ("fseek");} n = fwrite (buf, 1, n, fp); fflush (fp); // if this sentence is not added, if the file size is smaller than the library size When the Function Buffer (the default value is the BUFSIZ size), the actual write operations are not written, resulting in the next read operation being successful. Therefore, the program will not exit buf [0] = 0 ;} fclose (fp);} // countdown, time: 1 hour void daojishi (int a, int m [0], int sec [0]) {m [0] = 59, sec [0] = 59; printf ("\ n"); while (m [0]> = 0) {sec [0] = 59; while (sec [0]> 0) {if (_ kbhit () break; printf ("\ r % 2d: % 2d", m [0], sec [0]); Sleep (1000); sec [0] --; if (sec [0] % 10 = 0) {if (checkUdisk ()) {system ("cls"); while (checkUdisk () {Sleep (1); printf ("do not insert a USB flash drive. Unplug it and try again \ n"); s Ystem ("cls") ;}chongchui( a); printf ("Remaining Time") ;}if (checkTask () {system ("cls "); while (checkTask () {Sleep (1); printf ("forbidden to use word, ppt, txt files, please close it and log on again \ n "); system ("cls") ;}chongchui( a); printf ("Remaining Time") ;}} if (_ kbhit () break; // printf ("*** % d \ n", m [0]); // printf ("*** % d \ n", sec [0]); if (m [0] = 0 & sec [0] = 1) break; m [0] --;}/* if (sec> 0) {system ("cls"); // print_jiayou ();} else printf ("\ n timeout! "); * // Getchar (); if (m [0]! = 0 & sec [0]! = 1) getchar () ;}// if the time exceeds one hour, the void chaoshi (int a, int m1 [0], int sec1 [0]) can be timed out for a maximum of 20 minutes. {m1 [0] = 19, sec1 [0] = 59; printf ("\ n"); while (m1 [0]> = 0) {sec1 [0] = 59; while (sec1 [0]> 0) {if (_ kbhit () break; printf ("\ r % 2d: % 2d ", m1 [0], sec1 [0]); printf ("timeout \ n"); Sleep (1000); sec1 [0] --; if (sec1 [0] % 10 = 0) {if (checkUdisk () {system ("cls"); while (checkUdisk () {Sleep (1 ); printf ("do not insert a USB flash drive, please unplug it and try again \ n"); system ("cls") ;}chongchuti (a); prin Tf ("timeout");} if (checkTask () {system ("cls"); while (checkTask () {Sleep (1 ); printf ("forbidden to use word, ppt, txt files, please close it and re-log on to \ n"); system ("cls") ;}chongchuti (); printf ("timeout") ;}}if (_ kbhit () break; // printf ("*** % d \ n", m [0]); // printf ("*** % d \ n", sec [0]); if (m1 [0] = 0 & sec1 [0] = 1) break; m1 [0] --;}/* if (sec> 0) {system ("cls"); // print_jiayou ();} else printf ("\ n timeout! "); * // Getchar (); if (m1 [0]! = 0 & sec1 [0]! = 1) getchar () ;}int main () {char a [10000]; int B [10], c [2]; char d [4], e [14]; char g [20]; char f [12]; char s [25]; int n, x = 0, l; int m [1], sec [1]; int m1 [1], sec1 [1]; xinxi (); FILE * fx = fopen ("d: \ data structure skills test \ xinxi.txt ", "r +"); fgets (f, 25, fx); fclose (fx);/* check whether a USB flash disk and related files are opened */if (checkUdisk ()) {printf ("do not insert a USB flash drive, unplug it and try again \ n"); while (checkUdisk () Sleep (1);} if (checkTask ()) {printf ("forbidden to use word, ppt, txt files, please close and try again \ n"); while (checkTask () Sleep (1);}/* logon interface */system ("cls"); denglu1 (e); denglu2 (d ); int mg = d [10] + d [11] + d [12] + d [13]; // obtain the student's student ID // generate the cpp FILE * fc = fopen ("d: \ data structure skills test \ xinxi.txt", "r +") of the student's student ID "); if (checkUdisk () {printf ("do not insert a USB flash drive, unplug it and try again \ n"); while (checkUdisk () Sleep (1);} fgets (s, 25, fc);/* use fgets to read the first row to the array s */n = strlen (s); x + = n; fseek (fc, x + 1, SEEK_SET ); /* move the file pointer to the next line */fgets (s, 25, fc);/* use fgets to read the second row to the array s */for (int v = 0; v <15; v ++) {f [20 + v] = s [v];} f [34] = '. '; f [35] = 'C'; f [36] = 'P'; f [37] = 'P'; f [38] = '\ 0'; fflush (stdin ); FILE * mv = fopen (f, "w +"); fclose (mv); fclose (fc); if (checkUdisk () {printf ("do not insert a USB flash drive, please unplug and try \ n "); while (checkUdisk () Sleep (1);} chui( mg ); // question extraction/* countdown start */printf ("\ n test start, time is 60 Minutes, remaining:"); daojishi (mg, m, sec ); m [0] = 59-m [0]; sec [0] = 59-sec [0]; if (m [0] = 0 & sec [0] = 58) // If the countdown has not ended, the time-out period chaoshi (mg, m1, sec1) is automatically recorded; else {m1 [0] = 19; sec1 [0] = 59 ;} if (sec [0] = 59) {m [0] ++; sec [0] = 0;} m1 [0] = 19-m1 [0]; sec1 [0] = 59-sec1 [0]; if (sec1 [0] = 59) {m1 [0] ++; sec1 [0] = 0;} fflush (stdin); // enter the selected question number FILE * fg = fopen ("d: \ data structure skills test \ xinxi.txt ", "a +"); printf ("Enter the selected question:"); scanf ("% d", & l); while (l! = Mg % 8 + 1 & l! = Mg % 8 + 11) {printf ("Enter the selected question:"); scanf ("% d", & l) ;} fprintf (fg, "% s", "Student-selected question:"); fprintf (fg, "% d", l); fprintf (fg, "\ n "); fprintf (fg, "% s", "students are:"); fprintf (fg, "% d", m [0]); fprintf (fg, "% s", ":"); fprintf (fg, "% d", sec [0]); fprintf (fg, "\ n"); fprintf (fg, "% s", "Student question preparation Timeout:"); fprintf (fg, "% d", m1 [0]); fprintf (fg, "% s ", ":"); fprintf (fg, "% d", sec1 [0]); fclose (fg ); // string teachIp = "\\\\ 172.17.1.41 \ candidate information"; string sss (f); st Ring dosStr2 = "copy" + sss + "" + teachIp; if (system (dosStr2.c _ str ())! = 0) {printf ("Upload Failed, please manually upload"); puts (f);} else printf ("uploaded successfully \ n"); f [34] = '. '; f [35] = 'T'; f [36] = 'X'; f [37] = 'T'; f [38] =' \ 0 '; jiami (); // generate the student information file and encrypt rename ("d :\\ data structure skills test \ xinxi.txt", f); fclose (fc ); string ddd (f); string dosStr = "copy" + ddd + "" + teachIp; if (system (dosStr. c_str ())! = 0) {// Upload Failed. The following message is displayed: manual upload and file location printf ("Upload Failed, please upload manually"); puts (f );} else printf ("uploaded successfully \ n"); Sleep (30000); return 0 ;}
Instructor end:
# Include <stdio. h> # include <string. h> # include <io. h> # include <stdlib. h> # include <time. h> # include <windows. h> # include <iostream> # include <conio. h> # include <string. h> # define NORMAL_SIZ BUFSIZ # define CHMSK_KEY 0xa5using namespace std; char buf [NORMAL_SIZ]; # define number 300 // number of imported rows // read text content int duquwenben (string) {FILE * fp; fp = fopen (. c_str (), "r"); char buf [1024]; while (fgets (buf, 1024, fp ))! = NULL) {printf ("% s", buf);} printf ("\ n"); return 0 ;} // decrypt the student information void jiemi (char a []) {FILE * fp = fopen (a, "rb +"); int n; while (n = fread (buf, 1, NORMAL_SIZ, fp)> 0) {int I; for (I = 0; I <n; I ++) {buf [I] ^ = CHMSK_KEY;} if (fseek (fp,-n, SEEK_CUR) =-1) {perror ("fseek ");} n = fwrite (buf, 1, n, fp); fflush (fp); // if this sentence is not added, the file size is smaller than the buffer size of the library function (the default value is the BUFSIZ size) in fact, the write operation is not written in, resulting in the next read operation being successful, so the program will not exit buf [0] = 0;} fclose (fp);} // dynamically obtain the number of students until the condition int presencename () {system ("dir d: \ Data Structure skill test \ examinee information \\*. cpp/B> d: \ Data Structure skill test \ examinee information \ cpp. dat "); FILE * fp = fopen (" d: \ Data Structure skill test \ examinee information \ cpp. dat "," r "); char m [4], ch, s [100]; int I = 0, k = 0, n, x = 0, y, len, b; string note = "d :\\ data structure skills test \ examinee information \ cpp. dat "; printf (" Enter the number of students: "); scanf (" % d ", & B); while (1) {if (_ kbhit () break; I = 0; fclose (fp); system ("dir d: \ Data Structure skill test \ examinee information \\*. cpp/B> d :\\ Data Structure skill test \ examinee information \ cpp. dat "); FILE * fp = fopen (" d: \ Data Structure skill test \ examinee information \ cpp. dat "," r "); while (fgets (s, 100, fp )! = NULL) {len = strlen (s); s [len-1] = '\ 0'; I ++; if (I> = B) break;} duquwenben (note ); printf ("current number of students: % d \ n", I); if (I = B) break; Sleep (10000); system ("cls ");} getchar (); return B;} // read student information, which is opened in sequence. cpp and related information files, and enter the score void read (int num) {/* put the student information file name in a txt file */system ("dir d: \ Data Structure skill test \ examinee information \\*. cpp/B> d :\\ data structure skills test \ examinee information \ cpp1.dat "); char str [50] = {" d: \ Data Structure skill test \ examinee information \ "}, str1 [num] [30], date [number] [11], str2 [50]; Double price [number] [6]; float z; char f [40], m [1], n [15], v [7]; FILE * in, * fp, * fq; char ch; int j; in = fopen ("d :\\ Data Structure skill test \ examinee information \ cpp1.dat", "r "); if (in = NULL) {// if the generated new file fails, exit printf ("can't open the file999."); exit (0 );} /* generate an Excel file for student scores, named student scores */fq = fopen ("d: \ data structure skills test \ student scores .csv", "w + "); fprintf (fq, "% s", "name"); fprintf (fq, ","); fprintf (fq, "% s", "student ID "); fprintf (fq, ","); fprintf (fq, "% s", "score"); fprintf (fq ,"\ N "); fclose (fq); for (int I = 0; I <num; I ++) {fflush (stdin); fq = fopen (" d: \ data structure skills test \ student transcript.csv "," a + "); fscanf (in," % s ", & str1 [I] [0]); strcat (str, & str1 [I] [0]); system (str); // open the cpp file of the student for (j = 0; str [j]! = '\ 0'; j ++); strcpy (str2, str); str2 [J-1] = 'T'; str2 [J-2] = 'X '; str2 [J-3] = 'T'; jiemi (str2); system (str2); // open the student's txt file fflush (stdin); fp = fopen (str2, "r"); int k = 0; fflush (stdin); fread (m, 7,1, fp); m [6] = '\ 0'; fflush (stdin ); fprintf (fq, m); // write the student's name fflush (stdin); fclose (fq); fq = fopen ("d: \ data structure skills test \ student transcript.csv "," a + "); fprintf (fq,", "); fread (n, fp ); n [14] = '\ 0'; fprintf (fq, "'"); fprintf (fq, n); // write the student ID for (int I = 0; I <number; I ++) {fscanf (fp, "% s", & date [I] [0]); for (j = 0; j <6; j ++) fscanf (fp, "% lf", & price [I] [j]);} fclose (fp); fclose (fq); fflush (stdin ); printf ("Enter the score:"); scanf ("% f", & z); fq = fopen ("d: \ data structure skills test \ student placement .csv ", "a +"); fprintf (fq, ","); fprintf (fq, "% f", z); // write the student's score fprintf (fq, "\ n"); fclose (fq); strcpy (str, "d :\\ data structure skills test \ examinee information \") ;}fclose (in );} int main () {read (presencename (); // automatically obtain the file and enter return 0 ;}
If you have any questions, please note.