Student * StudentList::add_student( char name[]) { add_student(name,0,UND); return s_root; //Always return the address of the root of the list }
int main(void) { int choice; if(file2mem() == FAIL){ printf("信息文件读取出错\n"); return 1; } while(1){ print_choice(); scanf("%d",&choice); switch(choice){ case ADD: add_student();break; case DEL: delete_student();break; case CGE: change_student();break; case F_NAME: find_name();break; case F_NUM: find_number();break; case SORT: sort_score();break; case PRT: print_student();break; case EXIT: return 0; } getchar(); printf("请按任意继续\n"); getchar(); } }
int main(void) { struct student students[MAX_STUDENT] = {{0}}; struct student *std; while ((std = read_student()) != NULL) { add_student(students,std); } print_student(students); printf("\nClass AVG.:\t%f\n", class_average(students)); }
void readStudent(student_node *studentList, char *s) { int student_number; char *student_name = malloc(sizeof(char)*limit); if (sscanf(s, "S %d %s", &student_number, student_name) > 0) { student *newStudent = create_student(student_number, student_name); add_student(studentList, newStudent); } }
void get_courses_for_student_recursive(enrollment_node *enrollmentList, course *myCourse, student_node *myStudentList) { if (enrollmentList != NULL) { if (enrollmentList->current != NULL) { if (enrollmentList->current->e_course->course_number == myCourse->course_number) { add_student(myStudentList, enrollmentList->current->e_student); } } } if (enrollmentList->next != NULL) { get_courses_for_student_recursive(enrollmentList->next, myCourse, myStudentList); } }
StudentList::StudentList(char name[], long ID, Major m) { s_root = NULL; CurrentEntry=NULL; CurrentEntry=add_student(name, ID, m); }
StudentList::StudentList(char name[]) { s_root = NULL; CurrentEntry=NULL; CurrentEntry=add_student(name); }
int main(void) { int rval; avro_file_reader_t dbreader; avro_file_writer_t db; avro_schema_t extraction_schema, name_schema, phone_schema; int64_t i; const char *dbname = "student.db"; init(); /*如果student.db存在,则删除*/ unlink(dbname); /*创建数据库文件*/ rval = avro_file_writer_create(dbname, student_schema, &db); if (rval) { fprintf(stderr, "Failed to create %s\n", dbname); exit(EXIT_FAILURE); } /*向数据库文件中添加学生信息*/ add_student(db, "Zhanghua", "Law", "15201161111", 25); add_student(db, "Lili", "Economy", "15201162222", 24); add_student(db,"Wangyu","Information","15201163333", 25); add_student(db, "Zhaoxin", "Art", "15201164444", 23); add_student(db, "Sunqin", "Physics", "15201165555", 25); add_student(db, "Zhouping", "Math", "15201166666", 23); avro_file_writer_close(db); fprintf(stdout, "\nPrint all the records from database\n"); /*读取并输出所有的学生信息*/ avro_file_reader(dbname, &dbreader); for (i = 0; i < id; i++) { if (show_student(dbreader, NULL)) { fprintf(stderr, "Error printing student\n"); exit(EXIT_FAILURE); } } avro_file_reader_close(dbreader); /*输出学生的姓名和电话信息*/ extraction_schema = avro_schema_record("Student", NULL); name_schema = avro_schema_string(); phone_schema = avro_schema_string(); avro_schema_record_field_append(extraction_schema, "Name", name_schema); avro_schema_record_field_append(extraction_schema, "Phone", phone_schema); /*只读取每个学生的姓名和电话*/ fprintf(stdout, "\n\nExtract Name & Phone of the records from database\n"); avro_file_reader(dbname, &dbreader); for (i = 0; i < id; i++) { if (show_student(dbreader, extraction_schema)) { fprintf(stderr, "Error printing student\n"); exit(EXIT_FAILURE); } } avro_file_reader_close(dbreader); avro_schema_decref(name_schema); avro_schema_decref(phone_schema); avro_schema_decref(extraction_schema); /*最后释放学生模式*/ avro_schema_decref(student_schema); return 0; }
void add_student_to_database(database *myDatabase, int student_number, char* student_name) { student *newStudent = create_student(student_number, student_name); add_student(myDatabase->studentList, newStudent); }