软件课程设计报告.doc_第1页
软件课程设计报告.doc_第2页
软件课程设计报告.doc_第3页
软件课程设计报告.doc_第4页
软件课程设计报告.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

软件课程设计报 告 书院系名称:电子工程学院学生姓名:李群专业名称:光信息班级:1103学号:05113096时间:2012年4月11日至2012年4月20日 实验题目一、 实验目的让学生综合应用所学的计算机基础知识和所掌握的程序设计语言(C语言),自行设计并实现一个较为完整的小型管理信息系统或小型应用系统的设计与开发。其主要目的是使学生通过系统分析、系统设计、编程调试,写实验报告等环节,初步掌握软件系统设计的方法和步骤,灵活运用程序设计语言进行软件开发的能力,提高分析问题和解决问题的能力,提高程序设计水平。要求编程时采用结构体、指针、文件等复杂数据结构存储组织数据。二、 实验内容 1 通过键盘输入某位学生的学生证信息。学生证包含的信息请参看自己的学生证;2 给定学号,显示某位学生的学生证信息;3 学生信息的添加4 显示全部的学生证信息;5 给定某位学生的学号,修改该学生的学生证信息;6 给定某位学生的学号,删除该学生的学生证信息;7 提供一些统计各类信息的功能。统计学生数,学生男女人数;8 能够对年龄进行升序和降序排序;9 用文件的形式将录入的数据进行存储,并从其中读取数据。 三、 需求分析根据题目要求,学生信息要从文本文件中存取,所以本程序要提供读写文件,显示,统计,查寻,修改记录,保存文件等操作,此外,还要提供键盘式选择菜单实现功能。四、 概要设计 分析整个系统,根据上面的需求分析,可以将这个系统的设计分为如下几大模块:读取数据,输出数据,添加数据,输入数据、修改数据、查询数据、删除数据、统计数据,排序数据,保存数据。 五、 详细设计及运行结果 输出模块查询模块 修改模块六、 调试情况,设计技巧及体会1、本次设计选取内容比较简单;结构比较明晰,涉及内容比较全面,程序采用比较基础的C语言,整个程序中午够多复杂函数。2、本次设计让我体会到:牢固的程序设计基础知识是设计成功的前提,正确的学习态度是设计成功的基础,知识与实践的有效结合是设计成功的保障;认真学,认真练是程序课程的核心。七、 源程序清单(略,详见电子版实验报告)格式:内容部分用宋体、小四号字,代码用Courier New字体、五号。A4打印纸。 #include #include #include#define MAX 20#define PRI printf(学号 %dn姓名 %sn院系 %sn专业 %sn性别 %sn年龄 %dn,stdii.num,,stdii.yuanxi,stdii.zhuanye,stdii.xingbie,stdii.nianling)struct stude_ntint num;char name10;char yuanxi15;char zhuanye15;char xingbie10;int nianling; stdiMAX,t;int sum;/*保存测试*/void save_message(int sum) FILE *fp; int i; if(fp=fopen(1.txt,wb)=NULL) printf(读文件错误!n); return; for(i=0;isum;i+) if(fwrite(&stdii,sizeof(struct stude_nt),1,fp)!=1) printf(写文件错误!n); fclose(fp);/*输入模块*/ void input_message() int i=0,s=MAX;system(cls); printf(nn 录入学生信息 n); printf(当输入0结束输入); do printf(n 第%d个学生信息,i+1); printf(n 学号 ); fflush(stdin); scanf(%d,&stdii.num); if(stdii.num=0) break; printf(n 姓名 ); fflush(stdin); scanf(%s,); printf(n 院系 ); fflush(stdin); scanf(%s,stdii.yuanxi); printf(n 专业 ); fflush(stdin); scanf(%s,stdii.zhuanye); printf(n 性别 ); fflush(stdin); scanf(%s,stdii.xingbie); printf(n 年龄 ); fflush(stdin); scanf(%d,&stdii.nianling); i+; printf(n 按任意键继续下一个!);fflush(stdin);getchar();system(cls); while(1); sum=i; printf(n -%d学生信息输入完毕!-n,sum); printf(n 按任意键返回主菜单!); fflush(stdin);getchar(); system(cls);return; read_message() /*读取信息*/ FILE *fp; int i=0; system(cls); if(fp=fopen(1.txt,rb)=NULL) printf(nn*暂时还没有任何信息*n); printf(n 按任意键返回主菜单!); fflush(stdin); getchar(); system(cls); return 0; while(feof(fp)!=1) fread(&stdii,sizeof(struct stude_nt),1,fp); if(stdii.num=0) break; else i+; sum=i; fclose(fp); return sum;/*输出模块*/void output_message() int i; system(cls); for(i=0; isum;i+) printf(第%d学生信息n,i+1); PRI; printf(n -%d学生读取信息完毕!-n,i); printf(n 按任意键返回主菜单!);fflush(stdin);getchar();system(cls);return; void insert_message() /*添加信息*/ int i,x;system(cls);printf(请输入要添加的学生人数n);fflush(stdin);scanf(%d,&x); i=sum;while(isum+x) printf(n 第%d个学生信息n,i-sum+1); printf(n 学号 ); fflush(stdin); scanf(%d,&stdii.num); printf(n 姓名 ); fflush(stdin); scanf(%s,); printf(n 院系 ); fflush(stdin); scanf(%s,stdii.yuanxi); printf(n 专业 ); fflush(stdin); scanf(%s,stdii.zhuanye); printf(n 性别 ); fflush(stdin); scanf(%s,stdii.xingbie); printf(n 年龄 ); fflush(stdin); scanf(%d,&stdii.nianling); i+; if(isum)printf(删除人数超出已存人数范围);printf(n 按任意键返回主菜单!);fflush(stdin);getchar();system(cls);return;for(m=0;mx;m+)printf(请输入要删除的第%d个学生学号n,m+1);fflush(stdin);scanf(%d,del_me+m);for(m=0;mx;m+)for(i=0;isum;i+)if(del_mem=stdii.num)break;if(i=sum)printf(删除的第%d个学生不存在n,m+1);if(m+1x)printf(n 按任意键继续!);fflush(stdin);getchar();system(cls); if(i!=sum)PRI;printf(你确定要删除第%d个学生信息吗:删除1 ,不删除2n,m+1);scanf(%d,&n);if(n=1)while(isum)printf(要修改人数超出已存人数范围);printf(n 按任意键返回主菜单!);fflush(stdin);getchar();system(cls);return;for(m=0;mx;m+)printf(请输入要修改的第%d个学生学号n,m+1);fflush(stdin);scanf(%d,del_me+m);for(m=0;mx;m+)for(i=0;isum;i+)if(del_mem=stdii.num)break;if(i=sum)printf(修改的第%d个学生不存在n,m+1);if(m+1sum)printf(要查询人数超出已存人数范围);printf(n 按任意键返回主菜单!);fflush(stdin);getchar();system(cls);return;for(m=0;mx;m+)printf(请输入要查询的第%d个学生学号n,m+1);fflush(stdin);scanf(%d,del_me+m);for(m=0;mx;m+)for(i=0;isum;i+)if(del_mem=stdii.num)break;if(i=sum)printf(第%d个修改的学生不存在n,m+1);if(m+1x) printf(n 按任意键继续!);fflush(stdin);getchar();system(cls); if(i!=sum)PRI;printf(n 按任意键返回主菜单!); fflush(stdin);getchar();system(cls);return; void count_message()/*tongji信息*/int b,g;b=g=sum=0;system(cls);while(1)if(stdisum.num=0) break;else if(strcmp(stdisum.xingbie,boy)=0) b+;else g+;sum+;printf(总学生人数%dn 男生人数%dn女生人数%dn,sum,b,g);printf(n 按任意键返回主菜单!);fflush(stdin);getchar();system(cls);return;void sort_message() /*paixu信息*/int i,j,sum=0;system(cls);while(1)if(stdisum.num=0) break;sum+;for(i=0;isum-1;i+)for(j=i+1;jstdij.nianling)t=stdii;stdii=stdij;stdij=t;for(i=0;isum;i+)PRI;printf(n 按任意键返回主菜单!);fflush(stdin);getchar();system(cls);return; void main()int i,x;sum=read_message();/*for(i=0;iMAX;i+)stdii.num=0;*/doprintf(按要求选择您所要的操作n);printf(1-学生信息录入n);printf(2-学生信息查询n);printf(3-学生信息删除n);printf(4-学生信息添加n);printf(5-学生信息修改n);printf(6-学生信息统计n);printf(7-学生信息排序n);printf(8-学生信息输出n);printf(0-结束此次工作n);fflush(stdin);scanf(%d,&x); switch(x) case 1:input_message();break; case 2:inquire_message();brea

温馨提示

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

最新文档

评论

0/150

提交评论