《c语言课程设计_学生信息管理系统》由会员分享,可在线阅读,更多相关《c语言课程设计_学生信息管理系统(9页珍藏版)》请在金锄头文库上搜索。
1、学生管理系统设计 功能:学生管理系统应包含学生的全部信息。每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。本系统能够按专业班级或学号查找学生,并显示相关学生情况。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数; 2、完成最低要求:建立一个文件,包括同一个专业 10 个学生的必要信#include #include #include #define BUFLEN 100 #define LEN 15 #define N 100 struct record char codeLEN+1; char nameLEN+1; int a
2、ge; char sex3; char timeLEN+1; char add30; char dormLEN+1; char class30; char zyLEN+1; stuN; int k=1,n,m; void readfile(); void seek(); void modify(); void insert(); void del(); void display(); void save(); void menu(); int main() while(k) menu(); system(“pause“); return 0; void help() printf(“n0.欢迎
3、使用系统帮助!n“); printf(“n1.进入系统后,先刷新学生信息,再查询;n“);printf(“n2.按照菜单提示键入数字代号;n“); printf(“n3.增加学生信息后,切记保存按 7;n“); printf(“n4.谢谢您的使用!n“); void readfile()/* 建立信息 */ char *p=“student.txt“; FILE *fp; int i=0; if (fp=fopen(“student.txt“,“r“)=NULL) printf(“Open file %s error! Strike any key to exit!“,p); system(“
4、pause“); exit(0); while(fscanf(fp,“%s %s%d%s %s %s %s %s %s“,stui.code,stui.name, i=i; fclose(fp); n=i; printf(“录入完毕!n“); void seek() int i,item,flag; char s121; printf(“-n“); printf(“-1.按学号查询-n“); printf(“-2.按姓名查询-n“); printf(“-3.退出本菜单-n“); printf(“-n“); while(1) printf(“请选择子菜单编号:“); scanf(“%d“, fl
5、ag=0; switch(item) case 1: printf(“请输入要查询的学生的学号:n“);scanf(“%s“,s1); for(i=0;ii;j-) if(strcmp(stuj-1.code,stuj.code)0) strcpy(temp,stuj-1.code); strcpy(stuj-1.code,stuj.code); strcpy(stuj.code,temp); strcpy(temp,stuj-1.name); strcpy(stuj-1.name,stuj.name); strcpy(stuj.name,temp); strcpy(temp,stuj-1.s
6、ex); strcpy(stuj-1.sex,stuj.sex); strcpy(stuj.sex,temp); strcpy(temp,stuj-1.time); strcpy(stuj-1.time,stuj.time); strcpy(stuj.time,temp); strcpy(temp,stuj-1.add); strcpy(stuj-1.add,stuj.add); strcpy(stuj.add,temp); strcpy(temp,stuj-1.dorm); strcpy(stuj-1.dorm,stuj.dorm); strcpy(stuj.dorm,temp); strc
7、py(temp,stuj-1.class); strcpy(stuj-1.class,stuj.class); strcpy(stuj.class,temp); strcpy(temp,stuj-1.zy); strcpy(stuj-1.zy,stuj.zy); strcpy(stuj.zy,temp);p=q=s=*q;*q=*p;*p=s; void insert() int i=n,j,flag; printf(“请输入待增加的学生数:n“); scanf(“%d“, do flag=1; while(flag) flag=0; printf(“请输入第 %d 个学生的学号:n“,i+1
8、); scanf(“%s“,stui.code); for(j=0;ji;j+) if(strcmp(stui.code,stuj.code)=0) printf(“已有该学号,请检查后重新录入!n“); flag=1; break; printf(“请输入第 %d 个学生的姓名:n“,i+1); scanf(“%s“,stui.name); printf(“请输入第 %d 个学生的年龄:n“,i+1); scanf(“%d“, printf(“请输入第 %d 个学生的性别:n“,i+1); scanf(“%s“,stui.sex); printf(“请输入第 %d 个学生的出生年月:(格式:
9、年.月)n“,i+1); scanf(“%s“,stui.time); printf(“请输入第 %d 个学生的地址:n“,i+1); scanf(“%s“,stui.add); printf(“请输入第 %d 个学生的宿舍:n“,i+1); scanf(“%s“,stui.dorm); printf(“请输入第 %d 个学生的班级:n“,i+1); scanf(“%s“,stui.class); printf(“请输入第 %d 个学生的专业:n“,i+1); scanf(“%s“,stui.zy); if(flag=0) i=i;i+; while(in+m); n+=m; printf(“
10、录入完毕!nn“); sort(); void del() int i,j,flag=0; char s1LEN+1; printf(“请输入要删除学生的学号:n“); scanf(“%s“,s1); for(i=0;in;i+) if(strcmp(stui.code,s1)=0) flag=1; for(j=i;jn-1;j+) stuj=stuj+1; if(flag=0) printf(“该学号不存在!n“); if(flag=1) printf(“删除成功,显示结果请选择菜单 6n“); n-; void display() int i; printf(“所有学生的信息为:n“);
11、printf(“学生学号 学生姓名 年龄 性别 出生年月 地址 宿舍 班级 专业n“); printf(“-n“); for(i=0;in;i+) printf(“%6s %7s %5d %5s %9s %8s %8s %9s %9sn“,stui.code,stui.name,stui.age, stui.sex,stui.time,stui.add,stui.dorm,stui.class,stui.zy); void save() int i; FILE *fp; fp=fopen(“student.txt“,“w“); /*写入*/ for(i=0;in;i+) fprintf(fp,
12、“%s %s %d %s %s %s %s %s %sn“,stui.code,stui.name,stui.age, stui.sex,stui.time,stui.add,stui.dorm,stui.class,stui.zy); fclose(fp); void menu() int num; printf(“ nn 西安理工大学自动化学院学生管理系统 nn“); printf(“ nn“); printf(“ 制作人:惟楚有才 n n“); printf(“ nn“); printf(“ 系统功能菜单 n“); printf(“友情提醒:查询前请先刷新系统! n“); printf(“ - - n“); printf(“ n“); printf(“ 0.系统帮助及说明 1.刷新学生信息 n“); printf(“ n“); printf(“ 2.查询学生信息 3.修改学生信息 n“); printf(“ n“); printf(“ 4.增加学生信息 5.按学号删除信息 n“); printf(“ n“); printf(“ 6.显示当前信息 7.保存当前学生信息 n“); printf(“ n“); printf(“ 8.退出系统 n“); printf(“