学生学籍信息管理系统设计_第1页
学生学籍信息管理系统设计_第2页
学生学籍信息管理系统设计_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学生学籍信息管理系统设计1、需求分析 学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操 作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组。Structint stuNo;/ 学号char name20; / 姓名 char sex2; /性别 int domNum; /宿舍号 int tel; /电话号码StuInfo; / 学生基本信息结构体

2、Structint stuNo;/学号char courseNo; / 课程编号char courseName; /课程名称int creditHour; / 学分Int triGrade; / 平时成绩Int experiGrade; / 实验成绩Int examGrade; / 卷面成绩Float totalGrade; / 综合成绩Float finalCreHour; / 实得学分StuGraInfo; / 学生成绩基本信息结构体(1)数据录入模块 学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。(2)查询模块 通过菜单选择查询功能,

3、再选择学生基本情况查询和成绩查询,若选择前者,再通过菜 单选择学号、姓名或宿舍号码,按照基本查找算法查找 A.TXT ,然后把查找结果输出若选择 后者,则先在 A.TXT 中查找学号对应的姓名,再在 B.TXT 中查找该学生的课程情况,并统 计科目和实得总学分,输出结果。(3)删除模块 通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在 A.TXT 和 B.TXT 中 查找该生信息,删除之;或者输入学生的姓名,先在 A.TXT 中得到该生的学号,删除该生信 息,再在 B.TXT 中删除该学号对应的信息。注意: C 语言中没有直接删除信息的函数,需要 自己实现,可以采取读出数据,判断数据

4、(如果不删除,则进入缓冲区,否则删除) ,写入数 据(把缓冲区中的数据写入文件)的步骤进行。(4)排序模块 通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出 结果。#include #include #include #include #include void input();void display();void find();void delmodify();void delfile();void save();# define MAX 100;struct employechar 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); doprintf(ttt1.职工信息输入n);printf(ttt2.职工信息浏览n);printf(ttt3.职工信息查询n);printf(ttt4.职工信息删除修改 n); printf(ttt5. 删除文件中的职工信息 n);printf

6、(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 6 : system(

7、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();printf( 输入职工性别 :); fflush(stdin);scanf(%s,

8、ai.sex);printf( 输入职工年龄 :); fflush(stdin);scanf(%d,&ai.age);printf( 输入职工学历 :); fflush(stdin); gets(level);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

9、(stdin);scanf(%s,&j);while(j!=n&j!=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,);printf(t性别 %sn,ai.sex);printf(t年龄 %dn,ai.age);printf(t学历 %sn,level);printf(t工资 %sn,ai.salary);printf(t地址 %sn,a

10、i.addr);printf(t电话 %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);n);printf(ttt 选择查询职工信息的模式 doprintf(ttt1. 通过职工号 n); printf(ttt2.通过职工学历 n);printf(ttt 选择功能选项 :); fflush(stdin);scanf(%d,&m);swi

11、tch(m)case 1 :system(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

12、.jobno,str)printf(t 职工号 %sn,ai.jobno); printf(t姓名 %sn,);printf(t性别 %sn,ai.sex);printf(t年龄 %dn,ai.age);printf(t学历 %sn,level);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

13、i;char str20,ch;doprintf( 输入要查询的职工学历 :); gets(str);for(i=0;inumber;i+) if(!strcmp(level,str)printf(t 职工号 %sn,ai.jobno); printf(t姓名 %sn,);printf(t性别 %sn,ai.sex);printf(t年龄 %dn,ai.age);printf(t学历 %sn,level);printf(t工资 %sn,ai.salary);printf(t地址 %sn,ai.addr);printf(t电话 %sn,ai.tel);pri

14、ntf(tt 按任意键返回查询菜单 ); fflush(stdin);ch=getchar();while(!ch); system(cls);void delmodify() void del();void modify();char ch;职工信息的删除?修改?删除 n);修改 n);n);int p;start : printf(ttt do printf(ttt1. printf(ttt2.printf( 选择功能选项 :);fflush(stdin);scanf(%d,&p);switch(p)case 1 :system(cls); del(); break; case 2 : s

15、ystem(cls); modify(); break; default :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(,str)if(i=number) number-=1;elseai=anumber-1

16、; number-=1;break; system(cls);void modify()int i;char str20;n);n);printf(ttt2. 输入要修改职工的姓名: fflush(stdin);scanf(%s,&str); for(i=0;inumber;i+) if(!strcmp(,str) system(cls);printf(ttt2. 输入新插入职工的信息: printf( 输入职工号 :);fflush(stdin);gets(ai.jobno);printf( 输入职工姓名 :); fflush(stdin);gets();prin

17、tf( 输入职工性别 :); fflush(stdin);scanf(%s,ai.sex);printf( 输入职工年龄 :); fflush(stdin);scanf(%d,&ai.age);printf( 输入职工学历 :); fflush(stdin);gets(level);printf( 输入职工工资 :); fflush(stdin); gets(ai.salary);printf( 输入职工地址 :); fflush(stdin); scanf(%s,ai.addr);printf( 输入职工电话 :); fflush(stdin);gets(ai.tel);prin

18、tf(nn);break; system(cls);void save ()FILE *fp;int i;char filepath20;printf( 输入要保存的文件路径: );fflush(stdin);gets(filepath);if(fp=fopen(filepath,w)=NULL)printf(n 保存失败 !);exit(0);for(i=0;inumber;i+)fprintf(fp,%s%s%s%d%s%d%s%s,ai.jobno,,ai.sex,ai.age,lev el,ai.salary,ai.addr,ai.tel);fclose(fp)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论