• 系统模块设计
    a.预处理模块
    系统在启动时会根据配置文件里的内容去相应文件里去加载账户信息和学生信息。
    b.登陆模块

输入用户名和密码,输密码的时候用“*” 代表用户当前输入的内容。Shift + “#” 代表输入结束。

当用户输入完用户名和密码后,系统会拿它去跟内存中的用户名和密码匹配。如果匹配成功则进入系统菜单界面。如果匹配不成功则会直接退出程序。

c.系统功能菜单显示
根据用户名的权限不同显示不同的功能,普通用户只具有查询学生信息的功能。
当用户选择查询学生信息功能时会根据用户权限的不同显示不同功能的查询功能。当前用户为普通用户时,

分为按姓名查询和按学号查询。3菜单返回上一层。
当前用户为管理员用户时,显示为

多了一个功能。
系统提供的其他功能只有在管理员权限下才能使用。

菜单2 为添加学生信息,管理员从标准输入输入学生的详细信息,系统会把学生信息按照学号的大小插入到内存的链表中,并同时把链表保存到相应文件中去。(注意:学生的学号是唯一的,如果两学生的学号相同会插入失败)

菜单3为修改学生的信息。管理员可以根据学号修改学生的其他信息(学号不能修改)。并同时将修改完的信息保存到到文件。

菜单4 为删除学生的信息,管理员可以根据学生的学号删除相应学生的信息。并同时把删除后的学生信息保存到文件中去。

菜单5是增加账号。所增加的账号名不能与已存在的冲突。增加账号完毕后同时把增加后的信息保存到相应的文件中去。
菜单 6 更新账号信息。同时把信息保存到相应文件中去。
菜单7 删除用户账户。管理员根据输入的账户名删除相对应的账户。并把删除后的信息保存到相应的文件中去。
菜单8 查询用户账号信息。
菜单9 退出系统。并同时把信息保存到文件中去。

学生管理系统

SIMS.h

#pragma once
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>#define FILE_NAME_LEN 300
#define USR_NAME_LEN 20
#define USR_PWD_LEN 10
#define USR_ROLE int
#define SEARCH_ID int
#define USR_ACCOUNT_NUM int
#define SYSTEM_MENU_TYPE int
#define USR_INFOR_NUM inttypedef struct usr_account_tag
{char usr_name[USR_NAME_LEN];     char usr_pwd[USR_PWD_LEN];USR_ROLE  usr_role;struct usr_account_tag *pNext_Usr_Account;
}USR_ACCOUNT, *pUSR_ACCOUNT;typedef struct usr_infor_tag
{int usr_id;char usr_name[USR_NAME_LEN];int usr_course_id;float usr_course_score;struct usr_infor_tag *pNext_Usr_Infor;
}USR_INFOR, *pUSR_INFOR;void printlist1(pUSR_ACCOUNT pUsr_Acount);
void printlist2(pUSR_INFOR pUsr_Infor);void system_init(const char* config_file_name, pUSR_ACCOUNT  *pUsr_Acount, pUSR_INFOR *pUsr_Infor);
//系统初始化函数。初始化内存中的学生信息链表和账号列表。USR_ROLE role_confirm(pUSR_ACCOUNT pUsr_Account);
//根据输入的用户名和密码检查是否合法并确认当前账号的权限(管理员或普通用户)SYSTEM_MENU_TYPE show_system_menu(USR_ROLE role);
//显示系统菜单,返回当前用户所选择的菜单SYSTEM_MENU_TYPE show_search_menu(USR_ROLE role);
//当前用户选择查询功能时根据权限显示具有不同功能的查询功能的菜单void search_usr_infor_all(pUSR_INFOR pUsr_Infor_List);
//显示所有学生信息void search_usr_infor_by_id(pUSR_INFOR pUsr_Infor_List, SEARCH_ID search_id);
//根据当前用户所输的学号查询相应的学生信息。void search_usr_infor_by_name(pUSR_INFOR pUsr_Infor_List, char* search_name);
//根据当前用户所输的姓名查询相应的学生信息。pUSR_INFOR add_usr_infor(pUSR_INFOR *ppUsr_Infor_List);
//添加学生信息,返回指向插入的学生的指针pUSR_INFOR update_usr_infor(pUSR_INFOR * pUsr_Infor_List, SEARCH_ID search_id);
//修改学生的信息,返回指向修改后的学生的信息的指针pUSR_INFOR delete_usr_infor(pUSR_INFOR *ppUsr_Infor_List, SEARCH_ID search_id);
//删除学生的信息, 是返回所删除的学生的下一个学生的指针void search_usr_account(pUSR_ACCOUNT pUsr_Account_List, char* search_name);
//根据当前账号输入的账号名查询相应的账号信息。pUSR_ACCOUNT add_usr_account(pUSR_ACCOUNT* ppUsr_Account_List);
//增加账号信息,返回指向当前账号的指针pUSR_ACCOUNT update_usr_account(pUSR_ACCOUNT * pUsr_Account_List, char* search_name);
//修改账号信息返回指向当前修改账号的信息pUSR_ACCOUNT delete_usr_account(pUSR_ACCOUNT *ppUsr_Account_List, char* search_name);
//删除账号信息,返回指向下一个账号的指针void save_data_to_file(char * config_file_name, pUSR_ACCOUNT pUsr_Account_List, pUSR_INFOR pUsr_Infor_List);
//将学生信息和账号信息保存到文件里去。

SIMS.c

#include "SIMS.h"void system_init(const char * config_file_name, pUSR_ACCOUNT * pUsr_Acount, pUSR_INFOR * pUsr_Infor)
{FILE *fp;fp = fopen("configure.txt", "r");if (NULL == fp) {perror("fopen");return;}char buf[FILENAME_MAX];memset(buf, 0, sizeof(buf));char c;int num = 0;while ((c = fgetc(fp))!=EOF) {if (c == '\n') break;buf[num++] = c;}char * usr_account_file_loc = (char*)calloc(FILENAME_MAX,sizeof(char));strcpy(usr_account_file_loc, buf);memset(buf, 0, sizeof(buf));num = 0;while ((c = fgetc(fp)) != EOF) {buf[num++] = c;}char * usr_infor_file_loc = (char*)calloc(FILENAME_MAX, sizeof(char));strcpy(usr_infor_file_loc, buf);fclose(fp);FILE *fp2;fp2 = fopen(usr_account_file_loc, "r");if (NULL == fp2) {perror("fopen");return;}pUSR_ACCOUNT temp = (pUSR_ACCOUNT)calloc(1, sizeof(USR_ACCOUNT));while (fscanf(fp2, "%s\t%s\t%d\n", temp->usr_name, temp->usr_pwd, &temp->usr_role) == 3) {pUSR_ACCOUNT ACOUNT_TEMP = (pUSR_ACCOUNT)calloc(1, sizeof(USR_ACCOUNT));strcpy(ACOUNT_TEMP->usr_name, temp->usr_name);strcpy(ACOUNT_TEMP->usr_pwd, temp->usr_pwd);ACOUNT_TEMP->usr_role = temp->usr_role;if (NULL == *pUsr_Acount) {*pUsr_Acount = ACOUNT_TEMP;}else {  //尾插pUSR_ACCOUNT pUSR_ACOUNT_pCur, pUSR_ACOUNT_pPre;pUSR_ACOUNT_pCur = pUSR_ACOUNT_pPre = *pUsr_Acount;while (pUSR_ACOUNT_pCur) {pUSR_ACOUNT_pPre = pUSR_ACOUNT_pCur;pUSR_ACOUNT_pCur = pUSR_ACOUNT_pCur->pNext_Usr_Account;}pUSR_ACOUNT_pPre->pNext_Usr_Account = ACOUNT_TEMP;ACOUNT_TEMP->pNext_Usr_Account = pUSR_ACOUNT_pCur;}}fclose(fp2);fp2 = fopen(usr_infor_file_loc, "r");pUSR_INFOR tmp = (pUSR_INFOR)calloc(1, sizeof(USR_INFOR));while (fscanf(fp2, "%d\t%s\t%d\t%f\n", &tmp->usr_id, tmp->usr_name, &tmp->usr_course_id, &tmp->usr_course_score) == 4) {pUSR_INFOR INFOR_TEMP = (pUSR_INFOR)calloc(1, sizeof(USR_INFOR));INFOR_TEMP->usr_id = tmp->usr_id;strcpy(INFOR_TEMP->usr_name, tmp->usr_name);INFOR_TEMP->usr_course_id = tmp->usr_course_id;INFOR_TEMP->usr_course_score = tmp->usr_course_score;if (NULL == *pUsr_Infor) {*pUsr_Infor = INFOR_TEMP;}else { //尾插pUSR_INFOR pUSR_INFOR_pCur, pUSR_INFOR_pPre;pUSR_INFOR_pCur = pUSR_INFOR_pPre = *pUsr_Infor;while (pUSR_INFOR_pCur) {pUSR_INFOR_pPre = pUSR_INFOR_pCur;pUSR_INFOR_pCur = pUSR_INFOR_pCur->pNext_Usr_Infor;}pUSR_INFOR_pPre->pNext_Usr_Infor = INFOR_TEMP;INFOR_TEMP->pNext_Usr_Infor = pUSR_INFOR_pCur;}}
}USR_ROLE role_confirm(pUSR_ACCOUNT pUsr_Account)
{system("cls");printf("enter usr_name:\n");char usr_name[USR_NAME_LEN];scanf("%s", usr_name);char usr_pwd[USR_PWD_LEN], c;int num = 0;printf("enter usr_password:\n");while (1) {c = getch();if (c == '\r') break;if (c == '\b') {if (num == 0) continue;else {printf("\b \b");num--;}}else {printf("*");usr_pwd[num++] = c;}}usr_pwd[num] = '\0';printf("\n");while (pUsr_Account) {if (strcmp(pUsr_Account->usr_name, usr_name) == 0) {if (strcmp(pUsr_Account->usr_pwd, usr_pwd) == 0) {//进入菜单return pUsr_Account->usr_role;break;}else {printf("password not correct!\n");return -1;}}pUsr_Account = pUsr_Account->pNext_Usr_Account;}if (NULL == pUsr_Account) {printf("The account doesn't exist!\n");return -1;}
}SYSTEM_MENU_TYPE show_system_menu(USR_ROLE role)
{SYSTEM_MENU_TYPE num;system("cls");printf("*********************************************************************************************\n""*******************Student Information Management  System***********************\n""*********************************************************************************************\n\n");if (role == 1) {printf("\t\t\t\t1.search student information\n");printf("\t\t\t\t2.add student information\n");printf("\t\t\t\t3.update student information\n");printf("\t\t\t\t4.delete student information\n");printf("\t\t\t\t5.add user account\n");printf("\t\t\t\t6.update user account\n");printf("\t\t\t\t7.delete user account\n");printf("\t\t\t\t8.search user account\n");printf("\t\t\t\t9.exit\n");}else if (role == 2) {printf("\t\t\t\t1.search student information\n");printf("\t\t\t\t9.exit\n");}printf("*********************************************************************************************\n");printf("select a number:");scanf("%d", &num);return num;
}SYSTEM_MENU_TYPE show_search_menu(USR_ROLE role)
{system("cls");SYSTEM_MENU_TYPE num;if (role == 1) {printf("0.search all\n");}printf("1.search by name\n");printf("2.search by id\n");printf("3.return\n");printf("select a number:");scanf("%d", &num);return num;
}void search_usr_infor_all(pUSR_INFOR pUsr_Infor_List)
{if (NULL == pUsr_Infor_List) {printf("the information is empty!\n");return;}while (pUsr_Infor_List) {printf("%-5d %10s %-2d %.2f\n", pUsr_Infor_List->usr_id, pUsr_Infor_List->usr_name, pUsr_Infor_List->usr_course_id, pUsr_Infor_List->usr_course_score);pUsr_Infor_List = pUsr_Infor_List->pNext_Usr_Infor;}
}void search_usr_infor_by_id(pUSR_INFOR pUsr_Infor_List, SEARCH_ID search_id)
{while (pUsr_Infor_List) {if (pUsr_Infor_List->usr_id == search_id) {printf("%-5d %10s %-2d %.2f\n", pUsr_Infor_List->usr_id, pUsr_Infor_List->usr_name, pUsr_Infor_List->usr_course_id, pUsr_Infor_List->usr_course_score);return;}pUsr_Infor_List = pUsr_Infor_List->pNext_Usr_Infor;}if (NULL == pUsr_Infor_List) {printf("the id doesn't exist!\n");}
}void search_usr_infor_by_name(pUSR_INFOR pUsr_Infor_List, char * search_name)
{while (pUsr_Infor_List) {if (strcmp(pUsr_Infor_List->usr_name, search_name) == 0) {printf("%-5d %10s %-2d %.2f\n", pUsr_Infor_List->usr_id, pUsr_Infor_List->usr_name, pUsr_Infor_List->usr_course_id, pUsr_Infor_List->usr_course_score);return;}pUsr_Infor_List = pUsr_Infor_List->pNext_Usr_Infor;}if (NULL == pUsr_Infor_List) {printf("the name doesn't exist!\n");}
}pUSR_INFOR add_usr_infor(pUSR_INFOR * ppUsr_Infor_List)
{printf("\nplease input the student information you want to add:\n");printf("Format:stu_id name score_id score\n");pUSR_INFOR temp = (pUSR_INFOR)calloc(1, sizeof(USR_INFOR));scanf("%d %s %d %f", &temp->usr_id, temp->usr_name, &temp->usr_course_id, &temp->usr_course_score);pUSR_INFOR pCur, pPre;pCur = pPre = *ppUsr_Infor_List;if (NULL == *ppUsr_Infor_List) {(*ppUsr_Infor_List) = temp;}else {while (pCur) {if (pCur->usr_id > temp->usr_id) {pPre->pNext_Usr_Infor = temp;temp->pNext_Usr_Infor = pCur;break;}pPre = pCur;pCur = pCur->pNext_Usr_Infor;}//尾插pPre->pNext_Usr_Infor = temp;temp->pNext_Usr_Infor = pCur;}printf("Added successfully!\n");return temp;
}pUSR_INFOR update_usr_infor(pUSR_INFOR * pUsr_Infor_List, SEARCH_ID search_id)
{printf("\nplease input the student information you want to modify:\n");printf("Format:Name score_id score\n");char name[USR_NAME_LEN];int scoreid;float score;scanf("%s %d %f", name, &scoreid, &score);pUSR_INFOR pCur = *pUsr_Infor_List;while (pCur) {if (pCur->usr_id == search_id) {strcpy(pCur->usr_name, name);pCur->usr_course_id = scoreid;pCur->usr_course_score = score;printf("Modified successfully!\n");break;}pCur = pCur->pNext_Usr_Infor;}if (pCur == NULL) printf("Modify failed!\n");return pCur;
}pUSR_INFOR delete_usr_infor(pUSR_INFOR * ppUsr_Infor_List, SEARCH_ID search_id)
{pUSR_INFOR pPre, pCur, pFree;pPre = pCur = *ppUsr_Infor_List;if (pCur->usr_id == search_id) {*ppUsr_Infor_List = pCur->pNext_Usr_Infor;return pCur;}while (pCur) {if (pCur->usr_id == search_id) {pFree = pCur;pCur = pCur->pNext_Usr_Infor;pPre->pNext_Usr_Infor = pCur;free(pFree);printf("Deleted successfully!\n");return pCur;}pPre = pCur;pCur = pCur->pNext_Usr_Infor;}if (pCur == NULL) {printf("Failed! No such id!\n");return NULL;}
}void search_usr_account(pUSR_ACCOUNT pUsr_Account_List, char * search_name)
{while (pUsr_Account_List) {if (strcmp(pUsr_Account_List->usr_name, search_name) == 0) {printf("%s %s %d\n", pUsr_Account_List->usr_name, pUsr_Account_List->usr_pwd, pUsr_Account_List->usr_role);break;}pUsr_Account_List = pUsr_Account_List->pNext_Usr_Account;}if (NULL == pUsr_Account_List) {printf("No such name!\n");}
}pUSR_ACCOUNT add_usr_account(pUSR_ACCOUNT * ppUsr_Account_List)
{printf("please input the account you want to add:\n");printf("ex:zhangsan 123 2\n");pUSR_ACCOUNT temp = (pUSR_ACCOUNT)calloc(1, sizeof(USR_ACCOUNT));scanf("%s %s %d", temp->usr_name, temp->usr_pwd, &temp->usr_role);pUSR_ACCOUNT pCur, pPre;pCur = pPre = *ppUsr_Account_List;if (NULL == *ppUsr_Account_List) {(*ppUsr_Account_List) = temp;}else {//尾插,先找尾结点while (pCur) {pPre = pCur;pCur = pCur->pNext_Usr_Account;}pPre->pNext_Usr_Account = temp;temp->pNext_Usr_Account = pCur;}printf("Added successfully!");return temp;
}pUSR_ACCOUNT update_usr_account(pUSR_ACCOUNT * pUsr_Account_List, char * search_name)
{printf("\nplease input the account you want to modify:\n");printf("Format:name password role\n");char name[USR_NAME_LEN];char pwd[USR_NAME_LEN];int role;scanf("%s %s %d", name, pwd, &role);pUSR_ACCOUNT pCur;pCur = *pUsr_Account_List;while (pCur) {if (strcmp(pCur->usr_name, search_name) == 0) {pCur->usr_role = role;strcpy(pCur->usr_pwd, pwd);printf("Update successfully!\n");break;}pCur = pCur->pNext_Usr_Account;}if (NULL == pCur) {printf("No such name\n");}return pCur;
}pUSR_ACCOUNT delete_usr_account(pUSR_ACCOUNT * ppUsr_Account_List, char * search_name)
{pUSR_ACCOUNT pPre, pCur, pFree;pPre = pCur = *ppUsr_Account_List;if (NULL == pCur) {*ppUsr_Account_List = pCur->pNext_Usr_Account;}else if (strcmp(pCur->usr_name, search_name) == 0)//删除的是头部{*ppUsr_Account_List = pCur->pNext_Usr_Account;pCur = pCur->pNext_Usr_Account;printf("delete successfully!\n");return pCur;}while (pCur) {if (strcmp(pCur->usr_name, search_name) == 0) {pFree = pCur;pCur = pCur->pNext_Usr_Account;pPre->pNext_Usr_Account = pCur;free(pFree);printf("delete successfully!\n");return pCur;}pPre = pCur;pCur = pCur->pNext_Usr_Account;}
}void save_data_to_file(char * config_file_name, pUSR_ACCOUNT pUsr_Account_List, pUSR_INFOR pUsr_Infor_List)
{FILE *fp;fp = fopen(config_file_name, "r");if (NULL == fp) {perror("fopen");return;}char buf[FILENAME_MAX];memset(buf, 0, sizeof(buf));fread(buf, sizeof(char), sizeof(buf) - 1, fp);char * usr_account_file_loc = (char*)calloc(FILENAME_MAX, sizeof(char));strcpy(usr_account_file_loc, buf);memset(buf, 0, sizeof(buf));fread(buf, sizeof(char), sizeof(buf) - 1, fp);char * usr_infor_file_loc = (char*)calloc(FILENAME_MAX, sizeof(char));strcpy(usr_infor_file_loc, buf);fclose(fp);FILE *fp2;fp2 = fopen("usr_account.txt", "w+");if (NULL == fp2) {perror("fopen");return;}while (pUsr_Account_List) {fprintf(fp, "%s %s %d\n", pUsr_Account_List->usr_name, pUsr_Account_List->usr_pwd, pUsr_Account_List->usr_role);pUsr_Account_List = pUsr_Account_List->pNext_Usr_Account;}fclose(fp2);fp2 = fopen("usr_infor.txt", "w+");if (NULL == fp2) {perror("fopen");return;}while (pUsr_Infor_List) {fprintf(fp, "%d %s %d %.2f\n", pUsr_Infor_List->usr_id, pUsr_Infor_List->usr_name, pUsr_Infor_List->usr_course_id, pUsr_Infor_List->usr_course_score);pUsr_Infor_List = pUsr_Infor_List->pNext_Usr_Infor;}fclose(fp2);
}

main.c

#include"SIMS.h"int main() {pUSR_ACCOUNT pUSR_ACCOUNT_head = NULL;pUSR_INFOR pUSR_INFOR_head = NULL;USR_INFOR_NUM usr_infor_num = 0;SYSTEM_MENU_TYPE role, num, id, search_menu_num;int search_id;char temp_Name[USR_NAME_LEN];char search_id_name[USR_NAME_LEN];system_init("configure.txt", &pUSR_ACCOUNT_head, &pUSR_INFOR_head);
//登录界面
label1:role = role_confirm(pUSR_ACCOUNT_head);if (role == -1) {system("pause");goto label1;}
//主界面
label2:num = show_system_menu(role);if (role == 1) {switch (num){case 1:search_menu_num = show_search_menu(role);switch (search_menu_num) {case 0:search_usr_infor_all(pUSR_INFOR_head);system("pause");goto label2;break;case 1:printf("please input the name of student you want to search:\n");memset(search_id_name, 0, sizeof(search_id_name));scanf("%s", search_id_name);search_usr_infor_by_name(pUSR_INFOR_head, search_id_name);system("pause");goto label2;break;case 2:printf("please input the id of student you want to search:\n");scanf("%d", &search_id);search_usr_infor_by_id(pUSR_INFOR_head, search_id);system("pause");goto label2;break;case 3:goto label2;break;}break;case 2:add_usr_infor(&pUSR_INFOR_head);system("pause");goto label2;break;case 3:printf("please input the id you want to modify:\n");scanf("%d", &id);update_usr_infor(&pUSR_INFOR_head, id);system("pause");goto label2;break;case 4:if (NULL == pUSR_INFOR_head) {printf("the list is empty!\n");system("pause");goto label2;break;}printf("please input the id you want to delete:\n");scanf("%d", &id);delete_usr_infor(&pUSR_INFOR_head, id);system("pause");goto label2;break;case 5:add_usr_account(&pUSR_ACCOUNT_head);system("pause");goto label2;break;case 6:printf("please input the name of account you want to modify:\n");memset(temp_Name, 0, sizeof(temp_Name));scanf("%s", temp_Name);update_usr_account(&pUSR_ACCOUNT_head, temp_Name);system("pause");goto label2;break;case 7:if (NULL == pUSR_ACCOUNT_head) {printf("the list is empty!\n");system("pause");goto label2;break;}printf("please input the name of account you want to delete:\n");memset(temp_Name, 0, sizeof(temp_Name));scanf("%s", temp_Name);delete_usr_account(&pUSR_ACCOUNT_head, temp_Name);system("pause");goto label2;break;case 8:printf("please input the name of account you want to search:\n");memset(temp_Name, 0, sizeof(temp_Name));scanf("%s", temp_Name);search_usr_account(pUSR_ACCOUNT_head, temp_Name);system("pause");goto label2;break;case 9:save_data_to_file("configure.txt", pUSR_ACCOUNT_head, pUSR_INFOR_head);system("pause");break;default:printf("Input error!\n");system("pause");goto label2;break;}}else {switch (num){case 1:show_search_menu(role);goto label2;break;case 9:save_data_to_file("configure.txt", pUSR_ACCOUNT_head, pUSR_INFOR_head);break;default:printf("Input error!\n");system("pause");goto label2;break;}return 0;}
}

转载于:https://www.cnblogs.com/Mered1th/p/10668026.html

C语言强化——学生管理系统相关推荐

  1. C/C++语言实现 学生管理系统

    C/C++语言实现 学生管理系统 首先,让我分部分介绍本学生管理系统 本系统分为两个大板块,分别是学生版和教师版,学生版又分出三个具体功能,教师版分为七个功能,让我依次来介绍它们吧! (一)学生版 1 ...

  2. C语言实现学生管理系统

    C语言实现-学生管理系统 程序员的必经之路吧,学生管理系统.在制作过程中体会到了编写一个具体可用的软件而要做的工作,无论是编写前的准备,还是编写过程中每个细节的处理,都让我理解了这份工作是个什么样子. ...

  3. 语言学生学籍管理系统流程图_基于C语言的学生管理系统(含文件)(一)

    "点击上方"蓝色字",关注我们哦(*^▽^*)!" NO.1 篇幅较长,请空闲时观看 前言 这个项目是大一暑假完成,纯C语言编写,界面比较美观,由于当时还是一个 ...

  4. 学生管理系统c#语言代码,基于C#语言的学生管理系统的设计(ASP.NET2.0)

    摘  要 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.学生管理系统是学校管理中不可少的一部分.而基于B/S架构的学生管 ...

  5. (C语言)学生管理系统

    学生管理系统 题目:编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多20个字符),性别(男/女,用1表示男,2表示女). 生日(19850101(年月日)).身高(以m为单位),还需要处理C语言 ...

  6. c语言实现学生管理系统,C语言学生管理系统源代码

    <C语言学生管理系统源代码>由会员分享,可在线阅读,更多相关<C语言学生管理系统源代码(12页珍藏版)>请在人人文库网上搜索. 1.C语言学生成绩管理系统源代码,保证能用#in ...

  7. 初学Go语言的学生管理系统

    package mainimport ("fmt""os" )// Student struct represents a student (一般在结构体上面加 ...

  8. c语言编程学生管理系统的代码,C语言学生管理系统源代码.doc

    C语言学生成绩管理系统源代码,保证能用-- #include "malloc.h" #include "stdio.h" #include "stdl ...

  9. C语言—班级学生管理系统

    下面是根据班级,这个人数较少的单位设计的学籍管理系统,录入时,要求班内序号由1开始  按顺序录入,其中主要用到了 结构体数组,文件处理,循环语句,选择语句等方面的知识 在设计中遇到一个问题就是  不知 ...

最新文章

  1. powermock跳过某方法_变频调速电动机产生机械共振原因和处理方法
  2. MWeb 的基本使用
  3. oracle清理asm归档日志,【Oracle】 rman 删除归档日志的命令
  4. Eureka-zookeeper的服务发现替代方案
  5. linux内核那些事之mmap
  6. TypeError at / 'AnonymousUser' object is not iterable
  7. java怎么预加载字典值,有选择地显示预加载内容提高网站的性能
  8. 送给初学.net兄弟们的一些话
  9. mac环境下配置nginx
  10. 图像几何变换(geometric transformation)
  11. 这么说吧,NIO很简单,其实就是个牛逼IO
  12. JDK源码分析(2)LinkedList
  13. Android音频系统之AudioFlinger(一)
  14. thrift开源项目研究
  15. cas5.3.2单点登录-配置记住我(十六)
  16. 第一行代码-第二版(郭霖著)笔记七(Content Provider)
  17. 自动驾驶货运编队行驶介绍
  18. 寒假养成计划——Day9
  19. html封面设计图片手绘大全,封面设计铅笔画手绘图片
  20. 一些对模糊搜索的思考

热门文章

  1. onvif学习笔记7:一个C++封装的onvif代码的阅读笔记
  2. 【Kafka】Flink 消费 kafka 部分 分区 一直不提交 offset
  3. 【Flink】FLink 如果watermark水印时间超出今天会是什么问题呢
  4. 95-10-180-启动-Mx4jLoader
  5. 40-400-040-运维-优化-MySQL File Sort 原理以及优化
  6. 【docker】宿主机安装kafka docker容器内clickhouse无法连接
  7. 95-140-122-源码-transform-算子reduce
  8. 【Antlr】Antlr 在语法中嵌入任意动作
  9. Flink专栏:栏目订阅 概述
  10. Mac:Split文件分割命令