C語(yǔ)言動(dòng)態(tài)鏈表實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)
本文實(shí)例為大家分享了C語(yǔ)言利用動(dòng)態(tài)鏈表實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下



/*
* C語(yǔ)言學(xué)生信息管理系統(tǒng)(動(dòng)態(tài)鏈表版)
* 作者:cbc
* 時(shí)間:2018年6月7日
* 功能:增添新鍵數(shù)據(jù)、修改刪除數(shù)據(jù)、查詢(xún)統(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];/*專(zhuān)業(yè)*/
?? ?char className[20];/*班級(jí)*/
?? ?struct Student *next;
};
?
char filename[30];//全局變量,用來(lái)保存要打開(kāi)的文件名字
?
?? ??? ??? ??? ? ?/*生成鏈表*/
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ù)存盤(pán)(wb只寫(xiě))*/
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("寫(xiě)入數(shù)據(jù)出錯(cuò)\n");
?? ??? ??? ?fclose(fp);
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?p = p->next;
?? ?}
?? ?fclose(fp);
}
?
/*數(shù)據(jù)存盤(pán)(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("寫(xiě)入數(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("打開(kāi)文件出錯(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】全量查詢(xún)*/
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)查詢(xún)*/
int Print_inquire_num() {
?? ?void menu_print_out(void);
?? ?struct Student *pt;
?? ?char str_num[10];
?? ?printf("◎請(qǐng)輸入您要查詢(xún)的學(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ù)庫(kù)中沒(méi)有存儲(chǔ)您要查詢(xún)的數(shù)據(jù)!\n");
?? ?printf("\n\n");
?? ?return 0;
}
?
/*【3】姓名查詢(xún)*/
int Print_inquire_name() {
?? ?void menu_print_out(void);
?? ?struct Student *pt;
?? ?char str_name[20];
?? ?printf("◎請(qǐng)輸入您要查詢(xún)的姓名:");
?? ?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ù)庫(kù)中沒(méi)有存儲(chǔ)您要查詢(xún)的數(shù)據(jù)!\n");
?? ?printf("\n\n");
?? ?return 0;
}
?
/*【4】模糊查詢(xún)*/
int Print_inquire_fuzzy(void) {
?? ?void menu_print_out(void);
?? ?struct Student *pt;
?? ?char str_find[20];
?? ?int m = 0;
?? ?printf("◎請(qǐng)輸入您要查詢(xún)的關(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ù)庫(kù)中沒(méi)有存儲(chǔ)您要查詢(xún)的數(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ù)庫(kù)中沒(méi)有存儲(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ù)庫(kù)中沒(méi)有存儲(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;
}
?
/*輸入寫(xiě)入數(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;
}
?
/*選擇將要打開(kāi)的文件*/
int File_name() {
?? ?printf("\n◎請(qǐng)輸入您想要打開(kāi)的文件:");
?? ?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】查詢(xún)數(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í)菜單之查詢(xún)數(shù)據(jù)*/
void menu_inquire(void) {
?? ?int a = 0;
?? ?system("cls");
?? ?getchar();
?? ?while (1) {
?? ??? ?system("cls");
?? ??? ?printf(" ? ? ? ? ? ? ?╭════════╮ ? ? ? ? ? ? ?\n");
?? ??? ?printf("╭══════╣ ?查詢(xún)數(shù)據(jù)方式 ?╠══════╮\n");
?? ??? ?printf("║ ? ? ? ? ? ?╰════════╯ ? ? ? ? ? ?║\n");
?? ??? ?printf("║ ? ?【1】全量查詢(xún) ? ? ? ? 【4】模糊查詢(xún) ? ? ║\n");
?? ??? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n");
?? ??? ?printf("║ ? ?【2】學(xué)號(hào)查詢(xún) ? ? ? ? 【5】返回菜單 ? ? ║\n");
?? ??? ?printf("║ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?║\n");
?? ??? ?printf("║ ? ?【3】姓名查詢(xún) ? ? ? ? ? ? ? ? ? ? ? ? ? ║\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 ? ? ? ?籍貫 ?系別 ?專(zhuān)業(yè) ?班級(jí) ? \n");
?? ?printf("------------------------------------------------------------------------\n");
}
void menu_print_out(void) {
?? ?printf("--------------------------------------------------------------------------\n");
?? ?printf("學(xué)號(hào) ? ? ?姓名 ? ? 性別 ?年齡 ? ?電話 ? ? ? ? QQ ? ? ? ?籍貫 ?系別 ?專(zhuān)業(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語(yǔ)言之函數(shù)遞歸的實(shí)現(xiàn)
本文主要介紹了C語(yǔ)言之函數(shù)遞歸的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
c語(yǔ)言獲取當(dāng)前工作路徑的實(shí)現(xiàn)代碼(windows/linux)
這篇文章主要介紹了c語(yǔ)言獲取當(dāng)前工作路徑的實(shí)現(xiàn)代碼(windows/linux),需要的朋友可以參考下2017-09-09
C語(yǔ)言面試常見(jiàn)考點(diǎn)排序總結(jié)
深處開(kāi)發(fā)崗,其實(shí)排序也是繞不開(kāi)的環(huán)節(jié),其中冒泡排序,選擇排序,插入排序,歸并排序,快速排序,堆排序也是我在秋招以來(lái)頻繁問(wèn)到的技術(shù)點(diǎn),今天我們來(lái)重點(diǎn)聊聊排序2021-11-11
C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過(guò)程
利用C/C++開(kāi)發(fā)大型應(yīng)用程序中,內(nèi)存的管理與分配是一個(gè)需要認(rèn)真考慮的部分,下面這篇文章主要給大家介紹了關(guān)于C++設(shè)計(jì)一個(gè)簡(jiǎn)單內(nèi)存池的全過(guò)程,需要的朋友可以參考下2021-09-09
C++ 實(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-01
dev-c++創(chuàng)建lib(靜態(tài)鏈接庫(kù))文件的實(shí)現(xiàn)步驟
本文主要介紹了dev-c++創(chuàng)建lib(靜態(tài)鏈接庫(kù))文件的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
C++?RAII在HotSpot?VM中的重要應(yīng)用解析
RAII技術(shù)被認(rèn)為是C++中管理資源的最佳方法,進(jìn)一步引申,使用RAII技術(shù)也可以實(shí)現(xiàn)安全、簡(jiǎn)潔的狀態(tài)管理,編寫(xiě)出優(yōu)雅的異常安全的代碼,這篇文章主要介紹了C++?RAII在HotSpot?VM中的重要應(yīng)用,需要的朋友可以參考下2023-09-09

