C语言学生学籍信息管理系统设计.docx

上传人:b****1 文档编号:2058921 上传时间:2023-05-02 格式:DOCX 页数:15 大小:16.56KB
下载 相关 举报
C语言学生学籍信息管理系统设计.docx_第1页
第1页 / 共15页
C语言学生学籍信息管理系统设计.docx_第2页
第2页 / 共15页
C语言学生学籍信息管理系统设计.docx_第3页
第3页 / 共15页
C语言学生学籍信息管理系统设计.docx_第4页
第4页 / 共15页
C语言学生学籍信息管理系统设计.docx_第5页
第5页 / 共15页
C语言学生学籍信息管理系统设计.docx_第6页
第6页 / 共15页
C语言学生学籍信息管理系统设计.docx_第7页
第7页 / 共15页
C语言学生学籍信息管理系统设计.docx_第8页
第8页 / 共15页
C语言学生学籍信息管理系统设计.docx_第9页
第9页 / 共15页
C语言学生学籍信息管理系统设计.docx_第10页
第10页 / 共15页
C语言学生学籍信息管理系统设计.docx_第11页
第11页 / 共15页
C语言学生学籍信息管理系统设计.docx_第12页
第12页 / 共15页
C语言学生学籍信息管理系统设计.docx_第13页
第13页 / 共15页
C语言学生学籍信息管理系统设计.docx_第14页
第14页 / 共15页
C语言学生学籍信息管理系统设计.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言学生学籍信息管理系统设计.docx

《C语言学生学籍信息管理系统设计.docx》由会员分享,可在线阅读,更多相关《C语言学生学籍信息管理系统设计.docx(15页珍藏版)》请在冰点文库上搜索。

C语言学生学籍信息管理系统设计.docx

C语言学生学籍信息管理系统设计

学生学籍信息管理系统设计

1、需求分析

学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。

2、总体设计

整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。

3、详细设计

设计学生基本信息和学生成绩基本信息结构体数组。

Struct

{

intstuNo;//学号

charname[20];//姓名

charsex[2];//性别

intdomNum;//宿舍号

inttel;//电话号码

}StuInfo;//学生基本信息结构体

Struct

{

intstuNo;//学号

charcourseNo;//课程编号

charcourseName;//课程名称

intcreditHour;//学分

InttriGrade;//平时成绩

IntexperiGrade;//实验成绩

IntexamGrade;//卷面成绩

FloattotalGrade;//综合成绩

FloatfinalCreHour;//实得学分

}StuGraInfo;//学生成绩基本信息结构体

(1)数据录入模块

学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。

综合成绩和实得学分通过计算得到。

(2)查询模块

通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,按照基本查找算法查找A.TXT,然后把查找结果输出若选择后者,则先在A.TXT中查找学号对应的姓名,再在B.TXT中查找该学生的课程情况,并统计科目和实得总学分,输出结果。

(3)删除模块

通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,删除之;或者输入学生的姓名,先在A.TXT中得到该生的学号,删除该生信息,再在B.TXT中删除该学号对应的信息。

注意:

C语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。

(4)排序模块

通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。

 

#include

#include

#include

#include

#include

voidinput();

voiddisplay();

voidfind();

voiddelmodify();

voiddelfile();

voidsave();

#defineMAX100;

structemploye

{

charjobno[10];//职工号

charname[20];//姓名

charsex[10];//性别

intage;//年龄

charedulevel[10];//学历

charsalary[10];//工资

charaddr[20];//地址

chartel[11];//电话

};//职工信息结构体

structemployea[100];

intnumber=0;

main()

{

intn;

start:

printf("\t\t\t\t欢迎使用职工信息管理系统\n");

do

{

printf("\t\t\t1.职工信息输入\n");

printf("\t\t\t2.职工信息浏览\n");

printf("\t\t\t3.职工信息查询\n");

printf("\t\t\t4.职工信息删除修改\n");

printf("\t\t\t5.删除文件中的职工信息\n");

printf("\t\t\t6.保存职工信息\n");

printf("\t\t\t7.退出\n");

printf("\t\t\t选择功能选项:

");

fflush(stdin);

scanf("%d",&n);

switch(n)

{

case1:

system("cls");input();break;

case2:

system("cls");display();break;

case3:

system("cls");find();break;

case4:

system("cls");delmodify();break;

case5:

system("cls");delfile();break;

case6:

system("cls");save();break;

case7:

system("exit");exit(0);

default:

system("cls");gotostart;

}

}while

(1);

}

 

voidinput()

{inti=0;

charj;

do

{printf("\t\t\t\t录入职工信息\n输入第%d个职工的信息:

\n",i+1);

printf("输入职工号:

");

fflush(stdin);

gets(a[i].jobno);

printf("输入职工姓名:

");

fflush(stdin);

gets(a[i].name);

printf("输入职工性别:

");

fflush(stdin);

scanf("%s",a[i].sex);

printf("输入职工年龄:

");

fflush(stdin);

scanf("%d",&a[i].age);

printf("输入职工学历:

");

fflush(stdin);

gets(a[i].edulevel);

printf("输入职工工资:

");

fflush(stdin);

gets(a[i].salary);

 

printf("输入职工地址:

");

fflush(stdin);

gets(a[i].addr);

 

printf("输入职工电话:

");

fflush(stdin);

gets(a[i].tel);

i++;

number=i;

printf("是否继续录入?

(YorN):

");

fflush(stdin);

scanf("%s",&j);

}

while(j!

='n'&&j!

='N');

}

 

voiddisplay()

{inti=0;

charch;

do

{printf("\n\n");

for(i=0;i

{printf("\t\t第%d个职工的信息:

\n",i+1);

printf("\t职工号%s\n",a[i].jobno);

printf("\t姓名%s\n",a[i].name);

printf("\t性别%s\n",a[i].sex);

printf("\t年龄%d\n",a[i].age);

printf("\t学历%s\n",a[i].edulevel);

printf("\t工资%s\n",a[i].salary);

printf("\t地址%s\n",a[i].addr);

printf("\t电话%s\n",a[i].tel);

}

printf("\t\t按任意键返回主菜单");

fflush(stdin);

ch=getchar();

}

while(!

ch);

system("cls");

}

 

voidfind()

{voidfind1();

voidfind2();

intm;

charch;

start:

printf("\n\n");

printf("\t\t\t选择查询职工信息的模式\n");

do

{printf("\t\t\t1.通过职工号\n");

printf("\t\t\t2.通过职工学历\n");

printf("\t\t\t选择功能选项:

");

fflush(stdin);

scanf("%d",&m);

switch(m)

{case1:

system("cls");find1();break;

case2:

system("cls");find2();break;

default:

system("cls");gotostart;

}

printf("\t\t按任意键返回主菜单");

fflush(stdin);

ch=getchar();

}

while(!

ch);

system("cls");

}

 

voidfind1()

{inti;

charstr[20],ch;

do

{

printf("输入要查询的职工号:

");

fflush(stdin);

gets(str);

for(i=0;i

if(!

strcmp(a[i].jobno,str))

{

printf("\t职工号%s\n",a[i].jobno);

printf("\t姓名%s\n",a[i].name);

printf("\t性别%s\n",a[i].sex);

printf("\t年龄%d\n",a[i].age);

printf("\t学历%s\n",a[i].edulevel);

printf("\t工资%s\n",a[i].salary);

printf("\t地址%s\n",a[i].addr);

printf("\t电话%s\n",a[i].tel);

}

printf("\t\t按任意键返回查询菜单");

fflush(stdin);

ch=getchar();

}

while(!

ch);

system("cls");

}

voidfind2()

{inti;

charstr[20],ch;

do

{

printf("输入要查询的职工学历:

");

gets(str);

for(i=0;i

if(!

strcmp(a[i].edulevel,str))

{

printf("\t职工号%s\n",a[i].jobno);

printf("\t姓名%s\n",a[i].name);

printf("\t性别%s\n",a[i].sex);

printf("\t年龄%d\n",a[i].age);

printf("\t学历%s\n",a[i].edulevel);

printf("\t工资%s\n",a[i].salary);

printf("\t地址%s\n",a[i].addr);

printf("\t电话%s\n",a[i].tel);

}

printf("\t\t按任意键返回查询菜单");

fflush(stdin);

ch=getchar();

}

while(!

ch);

system("cls");

}

 

voiddelmodify()

{voiddel();

voidmodify();

charch;

intp;

start:

printf("\t\t\t职工信息的删除?

修改?

\n");

do

{printf("\t\t\t1.删除\n");

printf("\t\t\t2.修改\n");

printf("选择功能选项:

");

fflush(stdin);

scanf("%d",&p);

switch(p)

{case1:

system("cls");del();break;

case2:

system("cls");modify();break;

default:

system("cls");gotostart;

}

printf("\t\t按任意键返回主菜单");

fflush(stdin);

ch=getchar();

}

while(!

ch);

system("cls");

}

 

voiddel()

{charstr[20];

inti;

printf("\t\t\t1.输入要删除职工的姓名:

\n");

fflush(stdin);

scanf("%s",&str);

for(i=0;i

{

if(!

strcmp(a[i].name,str))

{

if(i==number)number-=1;

else

{a[i]=a[number-1];

number-=1;

}

break;

}

}

system("cls");

}

voidmodify()

{inti;

charstr[20];

printf("\t\t\t2.输入要修改职工的姓名:

\n");

fflush(stdin);

scanf("%s",&str);

for(i=0;i

if(!

strcmp(a[i].name,str))

{system("cls");

printf("\t\t\t2.输入新插入职工的信息:

\n");

printf("输入职工号:

");

fflush(stdin);

gets(a[i].jobno);

printf("输入职工姓名:

");

fflush(stdin);

gets(a[i].name);

printf("输入职工性别:

");

fflush(stdin);

scanf("%s",a[i].sex);

printf("输入职工年龄:

");

fflush(stdin);

scanf("%d",&a[i].age);

printf("输入职工学历:

");

fflush(stdin);

gets(a[i].edulevel);

printf("输入职工工资:

");

fflush(stdin);

gets(a[i].salary);

 

printf("输入职工地址:

");

fflush(stdin);

scanf("%s",a[i].addr);

 

printf("输入职工电话:

");

fflush(stdin);

gets(a[i].tel);

printf("\n\n");

break;

}

system("cls");

}

 

voidsave()

{FILE*fp;

inti;

charfilepath[20];

printf("输入要保存的文件路径:

");

fflush(stdin);

gets(filepath);

if((fp=fopen(filepath,"w"))==NULL)

{

printf("\n保存失败!

");

exit(0);

}

for(i=0;i

fprintf(fp,"%s%s%s%d%s%d%s%s",a[i].jobno,a[i].name,a[i].sex,a[i].age,a[i].edulevel,a[i].salary,a[i].addr,a[i].tel);

fclose(fp);

printf("职工信息已保存在%s中!

\n",filepath);

fclose(fp);

printf("职工信息已保存在%s中!

\n",filepath);

system("pause");

system("cls");

}

 

voiddelfile()

{FILE*fp;

charfilepath[20];

printf("输入要删除的文件路径:

");

fflush(stdin);

gets(filepath);

fp=fopen(filepath,"w");

fclose(fp);

printf("保存在文件%s中的所有信息已经删除!

\n",filepath);

system("pause");

system("cls");

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2