C語言動(dòng)態(tài)鏈表實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)
本文實(shí)例為大家分享了C語言利用動(dòng)態(tài)鏈表實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
/* * C語言學(xué)生信息管理系統(tǒng)(動(dòng)態(tài)鏈表版) * 作者:cbc * 時(shí)間:2018年6月7日 * 功能:增添新鍵數(shù)據(jù)、修改刪除數(shù)據(jù)、查詢統(tǒng)計(jì)數(shù)據(jù) * 平臺(tái):windows */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> # define LEN sizeof(struct Student) ? struct Student { ?? ?char num[10]; ?/*學(xué)號(hào)*/ ?? ?char name[20]; /*姓名*/ ?? ?char sex[10]; ?/*性別*/ ?? ?int age; ? ? ? /*年齡*/ ?? ?char phone[12];/*電話*/ ?? ?char qq[12]; ? /*QQ號(hào)*/ ?? ?char nativePlace[20];/*籍貫*/ ?? ?char department[20];/*系別*/ ?? ?char major[20];/*專業(yè)*/ ?? ?char className[20];/*班級(jí)*/ ?? ?struct Student *next; }; ? char filename[30];//全局變量,用來保存要打開的文件名字 ? ?? ??? ??? ??? ? ?/*生成鏈表*/ struct Student *Creat(int n) { ?? ?void menu_print_in(void); ?? ?struct Student *head; ?? ?struct Student *p1, *p2; ? ? int i; ?? ?system("cls"); ?? ?for (i = 1;i < n + 1;i++) { ?? ??? ?p1 = (struct Student*)malloc(LEN); ?? ??? ?menu_print_in(); ?? ??? ?scanf("%s %s %s %d %s %s %s %s %s %s", p1->num, p1->name, p1->sex, ?? ??? ??? ?&p1->age, p1->phone, p1->qq,p1->nativePlace,p1->department,p1->major,p1->className); ?? ??? ?p1->next = NULL; ?? ??? ?if (i == 1) { ?? ??? ??? ?head = p2 = p1; ?? ??? ?} ?? ??? ?else { ?? ??? ??? ?p2->next = p1; ?? ??? ??? ?p2 = p1; ?? ??? ?} ?? ?} ?? ?return(head); } ? /*數(shù)據(jù)存盤(wb只寫)*/ void WriteData_wb(struct Student *head) { ?? ?FILE *fp; ?? ?struct Student *p; ?? ?if ((fp = fopen(filename, "wb")) == NULL) ?? ??? ?printf("\a error! Can not open the file!"); ?? ?p = head; ?? ?while (p != NULL) { ?? ??? ?if (fwrite(p, LEN, 1, fp) != 1) { ?? ??? ??? ?printf("寫入數(shù)據(jù)出錯(cuò)\n"); ?? ??? ??? ?fclose(fp); ?? ??? ??? ?return; ?? ??? ?} ?? ??? ?p = p->next; ?? ?} ?? ?fclose(fp); } ? /*數(shù)據(jù)存盤(ab追加) void WriteData_ab(struct Student *head) { ?? ?FILE *fp; ?? ?struct Student *p; ?? ?if ((fp = fopen(filename, "ab")) == NULL) ?? ??? ?printf("\a error! Can not open the file!"); ?? ?p = head; ?? ?while (p != NULL) { ?? ??? ?if (fwrite(p, LEN, 1, fp) != 1) { ?? ??? ??? ?printf("寫入數(shù)據(jù)出錯(cuò)\n"); ?? ??? ??? ?fclose(fp); ?? ??? ??? ?return; ?? ??? ?} ?? ??? ?p = p->next; ?? ?} ?? ?fclose(fp); } /*讀取數(shù)據(jù)*/ /*讀取數(shù)據(jù)文件保存到鏈表中 ,返回指向此鏈表頭指針*/ struct Student *ReadData(void) { ?? ?struct Student *head = NULL; ?? ?struct Student *p1, *p2;//s = p1;p = p2; ? ?? ?FILE *fp; ?? ?if ((fp = fopen(filename, "rb+")) == NULL) ?? ?{ ?? ??? ?printf("打開文件出錯(cuò)\n"); ?? ??? ?exit(0); ?? ?} ?? ?while (!feof(fp)) { ?? ??? ?if ((p1 = (struct Student*)malloc(LEN)) == NULL) { ?? ??? ??? ?printf("內(nèi)存申請(qǐng)出錯(cuò)\n"); ?? ??? ??? ?fclose(fp); ?? ??? ??? ?exit(0); ?? ??? ?} ?? ??? ?if (fread(p1, LEN, 1, fp) != 1) { ?? ??? ??? ?free(p1); ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?if (head == NULL) ?? ??? ??? ?head = p2 = p1; ?? ??? ?else { ?? ??? ??? ?p2->next = p1; ?? ??? ??? ?p2 = p1; ?? ??? ?} ?? ?} ?? ?fclose(fp); ?? ?return (head); } ? /*【1】全量查詢*/ void Print_inquire_all(void) { ?? ?void menu_print_out(void); ?? ?struct Student *pt; ?? ?pt = ReadData(); ?? ?menu_print_out(); ?? ?do { ?? ??? ?printf("%-10s%6s%8s%4d%13s%11s ?%s %s %s %s\n", ?? ??? ??? ?pt->num, pt->name, pt->sex, pt->age, pt->phone, pt->qq, pt->nativePlace, pt->department, pt->major, pt->className); ?? ??? ?pt = pt->next; ?? ?} while (pt != NULL); ?? ?printf("\n\n"); } ? /*【2】學(xué)號(hào)查詢*/ int Print_inquire_num() { ?? ?void menu_print_out(void); ?? ?struct Student *pt; ?? ?char str_num[10]; ?? ?printf("◎請(qǐng)輸入您要查詢的學(xué)號(hào):"); ?? ?scanf("%s", str_num); ?? ?pt = ReadData(); ?? ?menu_print_out(); ?? ?do { ?? ??? ?if (strcmp(pt->num, str_num) == 0) { ?? ??? ??? ?printf("%-10s%6s%8s%4d%13s%11s %s %s %s %s\n", ?? ??? ??? ??? ?pt->num, pt->name, pt->sex, pt->age, pt->phone, pt->qq, pt->nativePlace, pt->department, pt->major, pt->className); ?? ??? ??? ?printf("\n\n"); ?? ??? ??? ?return 0; ?? ??? ?} ?? ??? ?pt = pt->next; ?? ?} while (pt != NULL); ?? ?printf("數(shù)據(jù)庫中沒有存儲(chǔ)您要查詢的數(shù)據(jù)!\n"); ?? ?printf("\n\n"); ?? ?return 0; } ? /*【3】姓名查詢*/ int Print_inquire_name() { ?? ?void menu_print_out(void); ?? ?struct Student *pt; ?? ?char str_name[20]; ?? ?printf("◎請(qǐng)輸入您要查詢的姓名:"); ?? ?scanf("%s", str_name); ?? ?pt = ReadData(); ?? ?menu_print_out(); ?? ?do { ?? ??? ?if (strcmp(pt->name, str_name) == 0) { ?? ??? ??? ?printf("%-10s%6s%8s%4d%13s%11s ?%s %s %s %s\n", ?? ??? ??? ??? ?pt->num, pt->name, pt->sex, pt->age, pt->phone, pt->qq, pt->nativePlace, pt->department, pt->major, pt->className); ?? ??? ??? ?printf("\n\n"); ?? ??? ??? ?return 0; ?? ??? ?} ?? ??? ?pt = pt->next; ?? ?} while (pt != NULL); ?? ?printf("數(shù)據(jù)庫中沒有存儲(chǔ)您要查詢的數(shù)據(jù)!\n"); ?? ?printf("\n\n"); ?? ?return 0; } ? /*【4】模糊查詢*/ int Print_inquire_fuzzy(void) { ?? ?void menu_print_out(void); ?? ?struct Student *pt; ?? ?char str_find[20]; ?? ?int m = 0; ?? ?printf("◎請(qǐng)輸入您要查詢的關(guān)鍵詞:"); ?? ?scanf("%s", str_find); ?? ?pt = ReadData(); ?? ?menu_print_out(); ?? ?do { ?? ??? ?if (strstr(pt->num, str_find) != 0 || strstr(pt->name, str_find) != 0 ?? ??? ??? ?|| strstr(pt->sex, str_find) != 0 || strstr(pt->phone, str_find) != 0 ?? ??? ??? ?|| strstr(pt->qq, str_find) != 0) { ?? ??? ??? ?printf("%-10s%6s%8s%4d%13s%11s %s %s %s %s\n", ?? ??? ??? ??? ?pt->num, pt->name, pt->sex, pt->age, pt->phone, pt->qq, pt->nativePlace, pt->department, pt->major, pt->className); ?? ??? ??? ?m = 1; ?? ??? ?} ?? ??? ?pt = pt->next; ?? ?} while (pt != NULL); ?? ?if (!m) ?? ??? ?printf("數(shù)據(jù)庫中沒有存儲(chǔ)您要查詢的數(shù)據(jù)!\n"); ?? ?printf("\n\n"); ?? ?return 0; } ? /*【1】修改數(shù)據(jù)之刪除記錄*/ int Delete() { ?? ?struct Student *pt1, *pt2, *head; ?? ?char str_num[20]; ?? ?printf("\n◎請(qǐng)輸入您要?jiǎng)h除的學(xué)號(hào)信息:"); ?? ?scanf("%s", str_num); ?? ?pt1 = ReadData(); ?? ?pt2 = pt1->next; ?? ?head = pt1; ?? ?while (pt2 != NULL) { ?? ??? ?if (strcmp(pt1->num, str_num) == 0) { ?? ??? ??? ?WriteData_wb(pt2); ?? ??? ?} ?? ??? ?else if (strcmp(pt2->num, str_num) == 0) { ?? ??? ??? ?pt1->next = pt2->next; ?? ??? ??? ?WriteData_wb(head); ?? ??? ?} ?? ??? ?pt2 = pt2->next; ?? ??? ?pt1 = pt1->next; ?? ?} ?? ?if (pt2 != NULL) ?? ??? ?printf("數(shù)據(jù)庫中沒有存儲(chǔ)您要?jiǎng)h除的數(shù)據(jù)!\n"); ?? ?printf("\n\n"); ?? ?return 0; } ? /*【2】修改數(shù)據(jù)之修改記錄*/ int Amend() { ?? ?void menu_print_in(void); ?? ?struct Student *pt1, *pt2, *head; ?? ?char str_num[20]; ?? ?printf("◎請(qǐng)輸入您要修改的學(xué)號(hào)信息:"); ?? ?scanf("%s", str_num); ?? ?pt1 = ReadData(); ?? ?pt2 = pt1->next; ?? ?head = pt1; ?? ?while (pt2 != NULL) { ?? ??? ?if (strcmp(pt1->num, str_num) == 0) { ?? ??? ??? ?menu_print_in(); ?? ??? ??? ?scanf("%s %s %s %d %s %s %s %s %s %s", pt1->num, pt1->name, pt1->sex, ?? ??? ??? ??? ?&pt1->age, pt1->phone, pt1->qq, pt1->nativePlace, pt1->department, pt1->major, pt1->className); ?? ??? ??? ?WriteData_wb(head); ?? ??? ?} ?? ??? ?else if (strcmp(pt2->num, str_num) == 0) { ?? ??? ??? ?menu_print_in(); ?? ??? ??? ?scanf("%s %s %s %d %s %s %s %s %s %s", pt2->num, pt2->name, pt2->sex, ?? ??? ??? ??? ?&pt2->age, pt2->phone, pt2->qq, pt2->nativePlace, pt2->department, pt2->major, pt2->className); ?? ??? ??? ?WriteData_wb(head); ?? ??? ?} ?? ??? ?pt2 = pt2->next; ?? ??? ?pt1 = pt1->next; ?? ?} ?? ?if (pt2 != NULL) ?? ??? ?printf("數(shù)據(jù)庫中沒有存儲(chǔ)您要?jiǎng)h除的數(shù)據(jù)!\n"); ?? ?return 0; } ? /*【3】修改數(shù)據(jù)之整理數(shù)據(jù)*/ int Neaten() { ?? ?struct Student *first; ?? ?struct Student *tail; ?? ?struct Student *p_min; ?? ?struct Student *min; ?? ?struct Student *p; ?? ?struct Student *head; ?? ?head = ReadData(); ?? ?first = NULL; ?? ?while (head != NULL) { ?? ??? ?for (p = head, min = head; p->next != NULL; p = p->next) { ?? ??? ??? ?if (strcmp(p->next->num, min->num) < 0) { ?? ??? ??? ??? ?p_min = p; ?? ??? ??? ??? ?min = p->next; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?if (first == NULL) { ?? ??? ??? ?first = min; ?? ??? ??? ?tail = min; ?? ??? ?} ?? ??? ?else { ?? ??? ??? ?tail->next = min; ?? ??? ??? ?tail = min; ?? ??? ?} ?? ??? ?if (min == head) { ?? ??? ??? ?head = head->next; ?? ??? ?} ?? ??? ?else { ?? ??? ??? ?p_min->next = min->next; ?? ??? ?} ?? ?} ?? ?if (first != NULL) { ?? ??? ?tail->next = NULL; ?? ?} ?? ?head = first; ? ?? ?WriteData_wb(head); ?? ?return 0; } ? /*輸入寫入數(shù)據(jù)的數(shù)量*/ int Creat_num(void) { ?? ?int n; ?? ?printf("\n◎請(qǐng)輸入您此次要添加的數(shù)據(jù)個(gè)數(shù):"); ?? ? ?? ?if (scanf("%d", &n) != 1) { ?? ??? ?printf("\a error!"); ?? ?} ?? ?return n; } ? /*選擇將要打開的文件*/ int File_name() { ?? ?printf("\n◎請(qǐng)輸入您想要打開的文件:"); ?? ?if (scanf("%s", filename) != 1) ?? ??? ?printf("\a error!"); ?? ?return 0; } ? /*主菜單*/ void menu(void) { ?? ?void menu_add(void); ?? ?void menu_inquire(void); ?? ?void menu_amend(void); ?? ?int a = 0; ?? ?printf(" ? ? ? ? ? ? ?╭════════╮ ? ? ? ? ? ? ?\n"); ?? ?printf("╭══════╣學(xué)生管理系統(tǒng)V1.0╠══════╮\n"); ?? ?printf("║ ? ? ? ? ? ?╰════════╯ ? ? ? ? ? ?║\n"); ?? ?printf("║ ? 【1】添加數(shù)據(jù) ? ? ? ? ? 【3】修改數(shù)據(jù) ? ?║\n"); ?? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n"); ?? ?printf("║ ? 【2】查詢數(shù)據(jù) ? ? ? ? ? 【4】退出系統(tǒng) ? ?║\n"); ?? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n"); ?? ?printf("╰══════════════════════╯\n"); ?? ?printf("◎請(qǐng)輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ? ?? ? ?? ?a = getchar(); ? ?? ?while (a != '1'&&a != '2'&&a != '3'&&a != '4') { ?? ??? ?printf("error! please input the right number!\n"); ?? ??? ?putchar('\a'); ?? ??? ?getchar(); ?? ??? ?printf("◎請(qǐng)重新輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ?? ??? ?a = getchar(); ?? ?} ?? ?switch (a) { ?? ?case '1': File_name();menu_add(); ?? ??? ?break; ?? ?case '2': File_name();menu_inquire(); ?? ??? ?break; ?? ?case '3': File_name();menu_amend(); ?? ??? ?break; ?? ?case '4': exit(0); ?? ??? ?break; ?? ?} ?? ?getchar(); } ? /*二級(jí)菜單之添加數(shù)據(jù)*/ void menu_add(void) { ?? ?int a = 0; ?? ?system("cls"); ?? ?getchar(); ?? ?printf(" ? ? ? ? ? ? ?╭════════╮ ? ? ? ? ? ? ?\n"); ?? ?printf("╭══════╣ ?添加數(shù)據(jù)方式 ?╠══════╮\n"); ?? ?printf("║ ? ? ? ? ? ?╰════════╯ ? ? ? ? ? ?║\n"); ?? ?printf("║ 【1】新建文件 【2】增添數(shù)據(jù) 【3】返回菜單 ?║\n"); ?? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n"); ?? ?printf("╰══════════════════════╯\n"); ?? ?printf("◎請(qǐng)輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ? ?? ? ?? ?a = getchar(); ? ?? ?while (a != '1'&&a != '2'&&a != '3') { ?? ??? ?printf("error! please input the right number!\n"); ?? ??? ?putchar('\a'); ?? ??? ?getchar(); ?? ??? ?printf("◎請(qǐng)重新輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ?? ??? ?a = getchar(); ?? ?} ?? ?switch (a) { ?? ?case '1': WriteData_wb(Creat(Creat_num())); ?? ??? ?printf("\n◎新建文件成功且數(shù)據(jù)已成功保存◎\n"); ?? ??? ?system("pause"); ?? ??? ?system("cls"); ?? ??? ?menu_add(); ?? ??? ?break; ?? ?case '2': WriteData_ab(Creat(Creat_num())); ?? ??? ?printf("\n◎數(shù)據(jù)已成功添加◎\n"); ?? ??? ?system("pause"); ?? ??? ?system("cls"); ?? ??? ?menu_add(); ?? ??? ?break; ?? ?case '3': system("cls"); ?? ??? ?getchar(); ?? ??? ?menu(); ?? ??? ?break; ?? ?} } ? /*二級(jí)菜單之查詢數(shù)據(jù)*/ void menu_inquire(void) { ?? ?int a = 0; ?? ?system("cls"); ?? ?getchar(); ?? ?while (1) { ?? ??? ?system("cls"); ?? ??? ?printf(" ? ? ? ? ? ? ?╭════════╮ ? ? ? ? ? ? ?\n"); ?? ??? ?printf("╭══════╣ ?查詢數(shù)據(jù)方式 ?╠══════╮\n"); ?? ??? ?printf("║ ? ? ? ? ? ?╰════════╯ ? ? ? ? ? ?║\n"); ?? ??? ?printf("║ ? ?【1】全量查詢 ? ? ? ? 【4】模糊查詢 ? ? ║\n"); ?? ??? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n"); ?? ??? ?printf("║ ? ?【2】學(xué)號(hào)查詢 ? ? ? ? 【5】返回菜單 ? ? ║\n"); ?? ??? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n"); ?? ??? ?printf("║ ? ?【3】姓名查詢 ? ? ? ? ? ? ? ? ? ? ? ? ? ║\n"); ?? ??? ?printf("╰══════════════════════╯\n"); ?? ??? ?printf("◎請(qǐng)輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ?? ??? ? ?? ??? ?a = getchar(); ? ?? ??? ?while (a != '1'&&a != '2'&&a != '3'&&a != '3'&&a != '4'&&a != '5'&&a != '6') { ?? ??? ??? ?printf("error! please input the right number!\n"); ?? ??? ??? ?putchar('\a'); ?? ??? ??? ?getchar(); ?? ??? ??? ?printf("◎請(qǐng)重新輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ?? ??? ??? ?a = getchar(); ?? ??? ?} ?? ??? ?switch (a) { ?? ??? ?case '1': Print_inquire_all();system("pause");getchar(); ?? ??? ??? ?break; ?? ??? ?case '2': Print_inquire_num();system("pause");getchar(); ?? ??? ??? ?break; ?? ??? ?case '3': Print_inquire_name();system("pause");getchar(); ?? ??? ??? ?break; ?? ??? ?case '4': Print_inquire_fuzzy();system("pause");getchar();; ?? ??? ??? ?break; ?? ??? ?case '5': system("cls");getchar();menu(); ?? ??? ??? ?break; ?? ??? ?} ?? ?} } ? /*二級(jí)菜單之修改數(shù)據(jù)*/ void menu_amend(void) { ?? ?int a = 0; ?? ?system("cls"); ?? ?getchar(); ?? ?while (1) { ?? ??? ?system("cls"); ?? ??? ?printf(" ? ? ? ? ? ? ?╭════════╮ ? ? ? ? ? ? ?\n"); ?? ??? ?printf("╭══════╣ ?修改數(shù)據(jù)方式 ?╠══════╮\n"); ?? ??? ?printf("║ ? ? ? ? ? ?╰════════╯ ? ? ? ? ? ?║\n"); ?? ??? ?printf("║ ? ?【1】刪除記錄 ? ? ? ? ?【3】整理數(shù)據(jù) ? ?║\n"); ?? ??? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n"); ?? ??? ?printf("║ ? ?【2】修改記錄 ? ? ? ? ?【4】返回菜單 ? ?║\n"); ?? ??? ?printf("╰══════════════════════╯\n"); ?? ??? ?printf("◎請(qǐng)輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ? ?? ??? ? ?? ??? ?a = getchar(); ? ?? ??? ?while (a != '1'&&a != '2'&&a != '3'&&a != '4') { ?? ??? ??? ?printf("error! please input the right number!\n"); ?? ??? ??? ?putchar('\a'); ?? ??? ??? ?getchar(); ?? ??? ??? ?printf("◎請(qǐng)重新輸入功能前的序號(hào)進(jìn)入相應(yīng)的工具:【 ? 】\b\b"); ?? ??? ??? ?a = getchar(); ?? ??? ?} ?? ??? ?switch (a) { ?? ??? ?case '1': Delete(); ?? ??? ??? ?printf("\n\n◎已成功刪除指定數(shù)據(jù)◎\n"); ?? ??? ??? ?system("pause"); ?? ??? ??? ?getchar(); ?? ??? ??? ?break; ?? ??? ?case '2': Amend(); ?? ??? ??? ?printf("\n\n◎已成功修改指定數(shù)據(jù)◎\n"); ?? ??? ??? ?system("pause"); ?? ??? ??? ?getchar(); ?? ??? ??? ?break; ?? ??? ?case '3': Neaten(); ?? ??? ??? ?printf("\n\n◎數(shù)據(jù)已成功按照學(xué)號(hào)重新排列◎\n"); ?? ??? ??? ?system("pause"); ?? ??? ??? ?getchar(); ?? ??? ??? ?break; ?? ??? ?case '4': system("cls"); ?? ??? ??? ?getchar(); ?? ??? ??? ?menu(); ?? ??? ??? ?break; ?? ??? ?} ?? ?} } ? /*輸入輸出提示欄*/ void menu_print_in(void) { ?? ?printf("------------------------------------------------------------------------\n"); ?? ?printf("學(xué)號(hào) ? ? ?姓名 ? ? 性別 ?年齡 ? ?電話 ? ? ? ? QQ ? ? ? ?籍貫 ?系別 ?專業(yè) ?班級(jí) ? \n"); ?? ?printf("------------------------------------------------------------------------\n"); } void menu_print_out(void) { ?? ?printf("--------------------------------------------------------------------------\n"); ?? ?printf("學(xué)號(hào) ? ? ?姓名 ? ? 性別 ?年齡 ? ?電話 ? ? ? ? QQ ? ? ? ?籍貫 ?系別 ?專業(yè) ?班級(jí) \n"); ?? ?printf("--------------------------------------------------------------------------\n"); } ? /*主函數(shù)*/ int main(void) { ?? ?SetConsoleTitle(L"學(xué)生學(xué)籍管理系統(tǒng)"); ?? ?menu(); ?? ?return 0; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
c語言獲取當(dāng)前工作路徑的實(shí)現(xiàn)代碼(windows/linux)
這篇文章主要介紹了c語言獲取當(dāng)前工作路徑的實(shí)現(xiàn)代碼(windows/linux),需要的朋友可以參考下2017-09-09C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過程
利用C/C++開發(fā)大型應(yīng)用程序中,內(nèi)存的管理與分配是一個(gè)需要認(rèn)真考慮的部分,下面這篇文章主要給大家介紹了關(guān)于C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過程,需要的朋友可以參考下2021-09-09C++ 實(shí)現(xiàn)求最大公約數(shù)和最小公倍數(shù)
這篇文章主要介紹了c++ 實(shí)現(xiàn)求最大公約數(shù)和最小公倍數(shù)的相關(guān)資料,需要的朋友可以參考下2017-05-05判斷指定的進(jìn)程或程序是否存在方法小結(jié)(vc等)
VC判斷進(jìn)程是否存在?比如我想知道記事本是否運(yùn)行,要用到哪些函數(shù)等實(shí)例,需要的朋友可以參考下2013-01-01dev-c++創(chuàng)建lib(靜態(tài)鏈接庫)文件的實(shí)現(xiàn)步驟
本文主要介紹了dev-c++創(chuàng)建lib(靜態(tài)鏈接庫)文件的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06C++?RAII在HotSpot?VM中的重要應(yīng)用解析
RAII技術(shù)被認(rèn)為是C++中管理資源的最佳方法,進(jìn)一步引申,使用RAII技術(shù)也可以實(shí)現(xiàn)安全、簡(jiǎn)潔的狀態(tài)管理,編寫出優(yōu)雅的異常安全的代碼,這篇文章主要介紹了C++?RAII在HotSpot?VM中的重要應(yīng)用,需要的朋友可以參考下2023-09-09