学生信息管理系统高级语言程序设计报告文档格式.docx

上传人:b****5 文档编号:18787156 上传时间:2023-01-01 格式:DOCX 页数:43 大小:300.62KB
下载 相关 举报
学生信息管理系统高级语言程序设计报告文档格式.docx_第1页
第1页 / 共43页
学生信息管理系统高级语言程序设计报告文档格式.docx_第2页
第2页 / 共43页
学生信息管理系统高级语言程序设计报告文档格式.docx_第3页
第3页 / 共43页
学生信息管理系统高级语言程序设计报告文档格式.docx_第4页
第4页 / 共43页
学生信息管理系统高级语言程序设计报告文档格式.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

学生信息管理系统高级语言程序设计报告文档格式.docx

《学生信息管理系统高级语言程序设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统高级语言程序设计报告文档格式.docx(43页珍藏版)》请在冰豆网上搜索。

学生信息管理系统高级语言程序设计报告文档格式.docx

1)将烦琐复杂的排序等工作用计算机完成。

2)将各类信息分开方便查询和修改。

3)记录外来人员的信息。

4)将管理人员和非管理人员分开,就是非管理人员只能查询和查看排序表。

5)管理人员进入页面需要登陆,账号密码通过注册获得,注册时需要管理人员确认码(1234)。

3.本系统的运行环境是Visualc++。

四、概要设计

1.系统结构图(功能模块图)

2、程序可以满足以下功能:

(1).各模块间通过菜单切换和调用

(2).主函数通过调用菜单函数实现对各功能模块的调用,各功能模块间根据需要可相互调用。

(3).程序能够保证各模块功能的独立和数据共享。

3.各功能介绍:

(1):

输入功能:

进入主菜单后,选择一个界面(管理人员界面或非管理人员界面),输入有关信息。

(2):

输出功能:

屏幕上输出录入的的相关信息。

(3):

排行功能:

将输入的新秀按学号由小到大进行排序。

(4):

查询功能:

查询录入的相关信息。

(5):

修改功能:

将学生的密码进行修改。

(6):

添加功能:

可以任意添加相关信息。

五、详细设计及运行结果

1、公寓管理系统模块图:

2、运行结果:

初始界面:

管理员系统:

输入学生的信息:

输出按学号排行情况:

输出按姓名排序的情况:

学生的新信息:

公寓物品信息录入

更改密码

流程图,函数之间相互调用的图示,程序设计及编码,运行结果

六、调试情况,总结及体会

1.调试情况:

几经周折写完程序进行调试,一开始直接提示102个Errors还有几个Warnings,感觉自己程序做的也太失败了,看看周围其他同学也都在进行调试,每个人都会出现各种各样的错误,大家都在认真找错,自己也就静下心来一个错误一个错误改正。

在那些错误当中发现好多都是犯同一个错,有的是自己粗心输入错误,例如:

把revise输成revese之类的拼写小错误,很明显的错误自己只要认真找找都能改掉,而有的虽然光标已经明显指出哪错的,但是自己还是不会改,找同学帮着也改了不少错误,许多函数都没定义,别人指出一点,自己就能改掉所有这一类型的好多错,以后遇见这些问题自己就再也不会犯了,之后还遇见多输入了一个花括号,导致程序出现好几个错误。

认真改完所有错误之后,当提示0Errors,0Warnings的时候,调试成功了!

2.主要问题:

刚开始时在结构体中加了循环导致错误,还在老师提醒,指出错误,再将所有的程序修改;

在字符串比较大小时没将两字符串的占用内存设置一样,导致无法比较;

设置密码系统时开始无法使密码正确输入,经过参考同学的程序找到了问题所在。

3.我的体会:

在VC++环境下运行与在TC下运行有很多不同,像getch()等一些函数都需要先定义,不过在VC++下可以用中文,而且可以设置页面的颜色。

编写程序时很枯燥,但经过程序的不断完善,心情越来越好,而且经过和同学的一些交流可以曾加自己的知识面,通过分工,在网上找到一些好的方法一起研究,也拓宽了自己的知识面,运用指针文件在一知半解的情况下,仿照课本上的例子也成功运用了。

觉得这两个星期的实习,不但把以前的只是复习了,而且将原本零散的知识串到了一起。

有的自己一个人改不了的错误找同学帮着也改了不少,许多函数都没定义,别人指出一点,自己就能改掉所有这一类型的好多错,而这些错误自己找了好长时间也还是没找出来,所以在实习期间也发现一定要不懂就问,虚心接受别人的意见,取别人之长补自己之短。

有些错误大家都改不了的就找老师帮忙,老师看看程序,几下就解决了,所以从老师身上自己也学会了很多东西。

总之,这次实习自己受益匪浅!

七.源代码:

#include<

string.h>

#include<

stdio.h>

conio.h>

stdlib.h>

#defineN20

#defineMAX20

#defineM20

#definemessage1printf("

\n----------------------公寓号:

%d--------------------\n"

student[i].num)

#definemessage2printf("

\n姓名:

%6s性别:

%4s******\n"

student[i].name,student[i].sex)

#definemessage3printf("

\n年龄:

%6d学号:

%4d*照片*\n"

student[i].age,student[i].xuehao)

#definemessage4printf("

\n系别:

%8s******\n"

student[i].grade)

#definemessage5printf("

goods[j].num1)

#definemessage6printf("

\n桌子:

%4d坏:

%4d\n"

goods[j].desk1,goods[j].desk2)

#definemessage7printf("

\n椅子:

goods[j].chair1,goods[j].chair2)

#definemessage8printf("

\n衣柜:

goods[j].yigui1,goods[j].yigui2)

#definemessage9printf("

\n床:

goods[j].bed1,goods[j].bed2)

#definemessage10printf("

\n其它需维修的物品:

%s\n"

goods[j].other)

#definemessage11printf("

\n外来人员姓名:

%s,性别:

%s,年龄:

%d,证件号:

%d.\n"

people[k].name,people[k].sex,people[k].age,people[k].card)

intsum1,sum2,sum3,sum4;

structstudent_type/*学生成员信息*/

{intnum;

charname[10];

charsex[10];

intxuehao;

intage;

chargrade[30];

}student[MAX];

voidsave_message1(intsum1)/*保存学生信息*/

{FILE*fp1;

inti;

if((fp1=fopen("

student.txt"

"

wt"

))==NULL)

{printf("

读文件错误!

\n"

);

return;

}

for(i=0;

i<

sum1;

i++)

if(fwrite(&

student[i],sizeof(structstudent_type),1,fp1)!

=1)

printf("

写文件错误!

fclose(fp1);

structgoods_type/*公寓物品信息*/

{intnum1;

intdesk1;

intdesk2;

intbed1;

intbed2;

intchair1;

intchair2;

intyigui1;

intyigui2;

charother[40];

}goods[N];

voidsave_message2(intsum2)/*保存物品信息*/

{FILE*fp2;

intj;

if((fp2=fopen("

goods.txt"

wb"

for(j=0;

j<

sum2;

j++)

goods[j],sizeof(structgoods_type),1,fp2)!

fclose(fp2);

structzhu_type/*密码信息*/

charmima[20];

}zhu[N];

voidsave_message4(intsum4)/*保存密码信息*/

{FILE*fp4;

intk;

if((fp4=fopen("

mima.txt"

{

return;

}

for(k=0;

k<

sum4;

k++)

zhu[k],sizeof(structzhu_type),1,fp4)!

fclose(fp4);

structpeople_type/*外来人员信息*/

{charname[10];

intcard;

}people[M];

voidsave_message3(intsum3)/*保存外来人员信息*/

{FILE*fp3;

if((fp3=fopen("

people.txt"

sum3;

people[k],sizeof(structpeople_type),1,fp3)!

fclose(fp3);

voidinput_message1()/*输入学生或物品信息*/

{inti,j,a,s,b;

\n\n输入学生或物品信息\n\n"

\n选择:

1:

先输入学生信息;

\n"

\n2:

直接输入物品信息。

scanf("

%d"

&

a);

switch(a)

{case1:

MAX;

{system("

cls"

\n请输入姓名:

%s"

student[i].name);

\n请输入公寓号:

student[i].num);

\n请输入性别:

student[i].sex);

\n请输入年龄及学号:

%d%d"

student[i].age,&

student[i].xuehao);

\n请输入所在系别:

student[i].grade);

\n是否继续输入(是1,否2)?

b);

if(b==2)break;

\n是否输入公寓物品信息(是1,否2)?

s);

if(s==2){i++;

sum1=i;

break;

if(s==1){i++;

case2:

N;

goods[j].num1);

\n请输入桌子、椅子、床及衣柜的数量:

%d%d%d%d"

goods[j].desk1,&

goods[j].chair1,&

goods[j].bed1,&

goods[j].yigui1);

\n请输入已损坏的桌子、椅子、床及衣柜的数量:

goods[j].desk2,&

goods[j].chair2,&

goods[j].bed2,&

goods[j].yigui2);

\n请输入其它需要修理的物品信息:

goods[j].other);

if(b==2){j++;

sum2=j;

break;

default:

\n错误\n"

\n公寓信息输入完毕\n"

getch();

voidinput_message2()/*外来人员输入信息*/

{intk,choice;

for(k=sum3;

M;

\n请输入姓名\n"

people[k].name);

\n请输入性别\n"

people[k].sex);

\n请输入年龄\n"

people[k].age);

\n请输入你的证件号(后四位):

people[k].card);

\n是否继续输入新信息?

(是1,否2)\n"

choice);

if(choice==2){k++;

sum3=k;

\n人员已经登记\n"

\n谢谢\n"

intread_message1()/*读取信息1*/

inti=0;

rb"

\n\n没有信息\n\n"

returni;

while(feof(fp1)!

fread(&

student[i],sizeof(structstudent_type),1,fp1);

if(student[i].num==0)break;

elsei++;

return(i);

intread_message2()/*读取信息2*/

intj=0;

if((fp2=fopen("

returnj;

while(feof(fp2)!

{fread(&

goods[j],sizeof(structgoods_type),1,fp2);

if(goods[j].num1==0)break;

elsej++;

return(j);

intread_message3()/*读取信息3*/

intk=0;

if((fp3=fopen("

returnk;

while(feof(fp3)!

people[k],sizeof(structpeople_type),1,fp3);

if(people[k].card==0)break;

elsek++;

return(k);

intread_message4()/*读取信息4*/

{

FILE*fp4;

if((fp4=fopen("

while(feof(fp4)!

zhu[k],sizeof(structzhu_type),1,fp4);

if(zhu[k].num==0)break;

voidinsert_message()/*添加信息*/

{intchoice,j,i,a,b;

system("

\n\n---------------------添加公寓信息---------------------\n\n"

\n1:

添加公寓物品信息\n"

\n2:

添加学生信息\n"

\n请选择1或2。

switch(choice)

case1:

for(j=sum2;

\n请输入新增的公寓号\n"

是否继续?

是1,否2"

if(a==2){j++;

for(i=sum1;

\n请输入新增人员姓名:

\n请输入公寓号:

\n请输入性别:

if(b==2){i++;

sum1=i;

\n添加信息完毕\n"

voiddel_message()/*删除信息*/

{intchoice,del_xuehao,i,n,j,k,del_num1,a,x;

longintdel_card;

\n请选择要删除的信息类别:

学生信息;

公寓物品信息;

\n3:

外来人员登记信息;

{do

\n请输入要删除的学生学号:

del_xuehao);

x=0;

if(del_xuehao==student[i].xuehao)

if(i==0&

&

sum1==1)

{student[i].num=0;

memset(student[i].name,0,sizeof(student[i].name));

student[i].age=0;

student[i

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

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1