1、学生学籍信息管理系统设计 作者: 日期:13 个人收集整理 勿做商业用途学生学籍信息管理系统设计1、需求分析学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组.Struct int stuNo; /学号 char name20; /姓名 char sex2; /性别 int domNum; /宿舍号
2、 int tel; /电话号码 StuInfo; /学生基本信息结构体Struct int stuNo; /学号 char courseNo; /课程编号 char courseName; /课程名称 int creditHour; /学分Int triGrade; /平时成绩Int experiGrade; /实验成绩Int examGrade; /卷面成绩Float totalGrade; /综合成绩Float finalCreHour; /实得学分StuGraInfo; /学生成绩基本信息结构体(1)数据录入模块学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩
3、和实得学分通过计算得到。(2)查询模块通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,按照基本查找算法查找A。TXT,然后把查找结果输出若选择后者,则先在A。TXT中查找学号对应的姓名,再在B.TXT中查找该学生的课程情况,并统计科目和实得总学分,输出结果.(3)删除模块通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,删除之;或者输入学生的姓名,先在A。TXT中得到该生的学号,删除该生信息,再在B。TXT中删除该学号对应的信息。注意:C语言中没有直接删除信息的函数,需要自己实现,可以采取读出
4、数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。(4)排序模块通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果.#include includeinclude #includestring。hvoid input();void display();void find();void delmodify();void delfile();void save(); define MAX 100;struct employe char jobno10; /职工号 char name20; /姓名 char sex10
5、; /性别 int age; /年龄 char edulevel10; /学历 char salary10; /工资 char addr20; /地址 char tel11; /电话; /职工信息结构体struct employe a100;int number=0; main()int n;start: printf(”tttt欢迎使用职工信息管理系统n);do printf(”ttt1。职工信息输入n”);printf(ttt2。职工信息浏览n);printf(”ttt3.职工信息查询n”);printf(”ttt4.职工信息删除修改 n);printf(ttt5.删除文件中的职工信息 n
6、”);printf(ttt6。保存职工信息 n”);printf(”ttt7.退出n”);printf(”ttt选择功能选项:);fflush(stdin);scanf(%d,n);switch(n)case 1 : system(cls); input(); break;case 2 : system(cls”); display(); break;case 3 : system(”cls); find(); break;case 4 : system(cls); delmodify(); break;case 5 : system(cls”); delfile(); break;case
7、6 : system(”cls); save(); break;case 7 : system(”exit”); exit(0);default :system(cls”); goto start;while(1);void input()int i=0;char j;doprintf(tttt录入职工信息 n输入第 %d 个职工的信息:n,i+1);printf(输入职工号 :);fflush(stdin);gets(ai.jobno);printf(输入职工姓名:”);fflush(stdin);gets(ai.name);printf(”输入职工性别:);fflush(stdin);sc
8、anf(”%s,ai。sex);printf(输入职工年龄:”);fflush(stdin);scanf(”%d,&ai。age);printf(”输入职工学历:”);fflush(stdin);gets(ai。edulevel);printf(输入职工工资:);fflush(stdin);gets(ai.salary);printf(输入职工地址:”);fflush(stdin);gets(ai.addr);printf(”输入职工电话:);fflush(stdin);gets(ai.tel);i+;number=i;printf(是否继续录入?(Y or N):);fflush(stdin
9、);scanf(%s,j);while(j!=nj!=N);void display()int i=0;char ch;doprintf(”nn);for(i=0;inumber;i+)printf(tt第 %d 个职工的信息:n”,i+1);printf(t职工号%sn”,ai。jobno);printf(”t姓名sn,ai.name); printf(t性别%sn”,ai。sex);printf(”t年龄dn”,ai。age);printf(”t学历%sn,ai.edulevel);printf(t工资sn,ai。salary);printf(t地址sn,ai.addr);printf(t
10、电话%sn”,ai.tel); printf(”tt按任意键返回主菜单);fflush(stdin);ch=getchar();while(!ch);system(cls”);void find ()void find1();void find2();int m;char ch;start :printf(nn); printf(”ttt选择查询职工信息的模式n);doprintf(”ttt1。通过职工号n);printf(ttt2。通过职工学历n);printf(”ttt选择功能选项:”);fflush(stdin);scanf(”%d,&m);switch(m)case 1 :system
11、(”cls); find1(); break;case 2 : system(cls); find2(); break;default :system(cls”); goto start;printf(tt按任意键返回主菜单”);fflush(stdin);ch=getchar();while(!ch);system(”cls”);void find1()int i;char str20,ch;doprintf(”输入要查询的职工号:);fflush(stdin);gets(str);for(i=0;inumber;i+)if(!strcmp(ai。jobno,str))printf(t职工号
12、%sn,ai。jobno);printf(”t姓名sn”,ai。name); printf(t性别%sn”,ai.sex);printf(”t年龄%dn”,ai.age);printf(t学历%sn”,ai.edulevel);printf(”t工资%sn”,ai。salary);printf(”t地址%sn”,ai。addr);printf(t电话%sn,ai。tel); printf(tt按任意键返回查询菜单”);fflush(stdin);ch=getchar();while(!ch);system(cls);void find2()int i;char str20,ch;doprint
13、f(输入要查询的职工学历:);gets(str);for(i=0;inumber;i+)if(!strcmp(ai.edulevel,str)printf(t职工号sn”,ai.jobno);printf(”t姓名sn”,ai.name); printf(”t性别sn,ai.sex);printf(”t年龄dn,ai。age);printf(”t学历%sn,ai.edulevel);printf(t工资%sn”,ai。salary);printf(”t地址sn,ai。addr);printf(”t电话%sn”,ai。tel);printf(”tt按任意键返回查询菜单);fflush(stdin
14、);ch=getchar();while(!ch);system(”cls);void delmodify()void del(); void modify(); char ch;int p;start : printf(”ttt职工信息的删除?修改?n);doprintf(ttt1.删除n”);printf(”ttt2.修改n);printf(”选择功能选项:);fflush(stdin);scanf(”%d,&p);switch(p)case 1 :system(cls”); del(); break;case 2 : system(”cls”); modify(); break;defa
15、ult :system(”cls”); goto start;printf(tt按任意键返回主菜单”);fflush(stdin);ch=getchar();while(!ch);system(cls);void del()char str20;int i;printf(ttt1。输入要删除职工的姓名:n”);fflush(stdin);scanf(s,str);for(i=0;inumber;i+)if(!strcmp(ai.name,str))if(i=number) number=1;elseai=anumber1;number-=1;break;system(”cls”);void m
16、odify()int i;char str20;printf(ttt2.输入要修改职工的姓名:n);fflush(stdin);scanf(%s”,&str);for(i=0;inumber;i+)if(!strcmp(ai.name,str)system(cls);printf(”ttt2.输入新插入职工的信息:n);printf(”输入职工号 :”);fflush(stdin);gets(ai.jobno);printf(”输入职工姓名:);fflush(stdin);gets(ai.name);printf(”输入职工性别:);fflush(stdin);scanf(%s”,ai.sex
17、);printf(输入职工年龄:);fflush(stdin);scanf(d,&ai。age);printf(”输入职工学历:”);fflush(stdin);gets(ai。edulevel);printf(”输入职工工资:”);fflush(stdin);gets(ai。salary);printf(”输入职工地址:”);fflush(stdin);scanf(%s,ai.addr);printf(输入职工电话:);fflush(stdin);gets(ai。tel);printf(”nn”);break;system(”cls);void save ()FILE fp;int i;ch
18、ar filepath20;printf(”输入要保存的文件路径:);fflush(stdin);gets(filepath);if(fp=fopen(filepath,w”)=NULL)printf(”n保存失败!”);exit(0);for(i=0;inumber;i+)fprintf(fp,ss%s%ds%dss”,ai。jobno,ai.name,ai。sex,ai。age,ai.edulevel,ai.salary,ai.addr,ai。tel);fclose(fp);printf(职工信息已保存在%s中!n,filepath);fclose(fp);printf(职工信息已保存在s中!n,filepath);system(pause);system(cls);void delfile()FILE *fp;char filepath20;printf(输入要删除的文件路径:);fflush(stdin);gets(filepath);fp=fopen(filepath,”w);fclose(fp);printf(”保存在文件s中的所有信息已经删除!n”,filepath);system(”pause);system(”cls”);
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100