收藏 分销(赏)

C语言程序设计与报告学生信息标准管理专业系统设计.doc

上传人:精**** 文档编号:2827714 上传时间:2024-06-06 格式:DOC 页数:27 大小:169.04KB 下载积分:10 金币
下载 相关 举报
C语言程序设计与报告学生信息标准管理专业系统设计.doc_第1页
第1页 / 共27页
C语言程序设计与报告学生信息标准管理专业系统设计.doc_第2页
第2页 / 共27页


点击查看更多>>
资源描述
设计题目:学生信息管理系统设计 学号: 院校班级: 姓名: 指导老师: 目 录 一、设计题目----------------------------------------------------------3 二、概述系统----------------------------------------------------------3 三、设计纲领----------------------------------------------------------4 四、运行效果图-------------------------------------------------------5 五、设计步骤图-------------------------------------------------------8 六、调试过程--------------------------------------------------------14 七、设计总结--------------------------------------------------------14 八、参考文件--------------------------------------------------------15 九、源程序清单-----------------------------------------------------15 学生信息管理系统设计 学生信息包含:学号,姓名,年纪,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功效: 1、 系统以菜单方法工作。 2、 学生信息录入功效——输入。 3、 学生信息浏览功效——输出。 4、 学生信息查询功效——算法。 按学号查询; 按姓名查询。 5、 学生信息删除和修改 概述系统 我关键设计一个能实现学生信息管理系统,让它来运行和管理学生信息。它在现实生活中利用方便、管理方便。它能输入学生学号、年纪、性别、出生年月、地址电话E-mail。系统以菜单方法进行工作,进入子菜单后,还能够返回主菜单。在子菜单中多种操作全部有汉字说明,操作简单、易懂。只要我们正确操作系统,系统就无异常现在,当然系统也能对部分基础错误做出提醒,并能让使用者重新进行操作。 对各个操作成功,如:添加学生信息、修改学生信息、删除学 生信息,系统全部输出“…….成功”字样。系统对删除和修改前,还进行“确定”和“取消”。系统对不存在学号和姓名系统能判定是否存在。对已存在学号,操作者不能添加和这个学号一样学生信息,同时系统还提醒已经有此学号。对于修改、删除和查询,系统碰到不存在学生能提醒没有这个信息。 设计纲领 分析题目,想想程序所用到知识点,再进行分析程序总体构思。对于用到得悉识不太了解,先翻翻书,看一下这方面知识。为了不让程序看起来乱乱,把程序分成多个大函数,并有多个文字注释函数作用。这么程序各个功效就独自成为一个函数。这么有利于我们对程序错误检验,及对程序修改和优化。 做出菜单栏:1.添加学生信息 2.全部学生信息 3.修改学生信息 4.删除学生信息 5.查看学生信息 6.退出系统 由每一个子菜单做为一个函数。 设计纲领: 1:查看相关书籍 2:建立函数结构体 3:编程主函数 4:编程各子菜单函数 5:检验子函数和主函数之间联络 6:运行程序,如有错误,仔细检验。 7:错误操作捕捉。 8:查看运行效果,如有以下情况(修改代码): (1)发觉问题某功效未实现 (2)死循环 (3)运行无效 (4)没有操作提醒信息 (5)内存错误 运行效果图 设计步骤图 开始 0 主函数 输入语句 判定a值 选择语句switch(a) 退出系 统 查看学生信 息 删除学生信 息 修改学生信 息 全部学生信 息 添加信息函 数 1 5 4 3 2 1 添加信息函数 0<num<100 输出提醒, 输入学号 num>100 判定num值 N Y N Y Y N 0 判定num是否已存在 判定num<100 提醒输入,输入num 提醒重新输入num 提醒输入,输入学生信息 是否继续添加信息 2 输出部分文字 for(i=0;i<=100;i++) Y 输出stu[i]信息 0 N 输出全部信息函数 3 修改信息函数 提醒输入,输入学号 Y Y 修改信息 Y Y N 0 N N 判定num是否存在 输出修改信息,提问是否修改 提醒num不存在,并提问是否继续修改 提问是否 继续修改 删除信息函数 4 提醒输入,输入删除学号 说明不存在此信息 判定是否存在num N 输出删除信息 并提问是否删除 Y Y N 提问是否继续删除 Y stu[num-1].num=0 N 输出删除成功 0 5 提醒查询方法,并选择 按学号 按姓名 输入学号 num是否存在 输出查询信息 提问是否继续查询 Y 输入姓名 姓名是否存在 提醒,并重新输入num N Y 提醒,并重新输入姓名 输出查询信息 N Y 提问是否继续查询 Y 0 N N 查看信息函数 调试过程 设计一个程序,错误是难免不了。但我们能够依据编辑系统给出部分提醒去查看程序错误。对不敢肯定正确,翻翻书,看一下这一知识。对难度大就和同学们一起讨论,问一问老师。 开发一个系统,耐心是必需,认真也很关键,构思要明确。 认为是哪里错误,有时用“/* */”注释起来进行,看看是否还有错误。 常错有以下多个情况:  1.使用变量,但未有定义,则先定义。 2.不该用分号,用到了,把它去掉。 3.行最终若有分号则删除,中间若有分号则改成逗号  4.若错误行中有if、while、for则要尤其注意条件表示式错误。  5.若条件表示式中只有一个等于号,则改成两个等于号。 6.for中要用分号分隔表示式,而不是用逗号  7.缺乏分号,若错误行中有语句没有用分号结束,则加上分号。  8.大小写不对,若错误行中有大写字母则通常全部改成小写字母。            9.若有return语句则函数类型必需和return后变量类型一致。     设计总结 经过此次C程序课程设计,我认为对自己提升很大:克服了偷懒毛病,这在我以后学习和工作中心理定位和调整有很大帮助。我感受到了编程是一项很烦琐周密活动,她不仅需要一个人周密思索问题能力,处理问题能力,还需要有足够耐心和严谨治学作风,来不得半点马虎。 经过此次程序设计,我初步学会了程序设计基础方法,学会了怎样去借鉴她人方法和经验,知道怎样去查找资料和整合处理这些资料能力,我上网和上图书馆查找资料,编写C语言原程序,然后是进行编译,这个步骤是一个很痛苦和艰苦,常常会因为一小点错误而在编译失败和再次修改漫漫循环之路中,但失败越多,对人考验就越多,在编译运行成功以后享受成功喜悦也就越多,另外在调试程序过程中不停思索和利用已经学到知识,这对于自己是有很大提升。 参考文件 [1]谭浩强著. C语言程序设计(第三版). 清华大学出版社, [2]谭浩强编著. C程序设计题解和上机指导(第二版)清华大学出版社,1999 [3]C编写组编. 常见C语言使用方法速查手册. 北京:龙门书局,1995 源程序清单 #include<stdio.h> struct student /*结构体*/ {int num; char name[20]; //学号 char sex[5]; //姓名 int age; //性别 char bro[15]; //年纪 char add[30]; //住址 char phone[13]; //手机号 char em[20]; //E-mail }stu[100]; //结构体名 int looknum(int num) /*查看是否有这个学号函数*/ { int i; for(i=0;i<=100;i++) if(stu[i].num==num) return(num); } tiaojia() /*添加信息函数*/ { int num,num2,i,x; G:printf("\t请输入学号:"); H:scanf("%d",&num); V:if(num>100) {printf("\n这个学号太大了!\n请输入1--100 学号:"); scanf("%d",&num); if(num>100)goto V; printf("\n"); } num2=looknum(num); if(num==num2) /*判定这个学号是否存在*/ {printf("\n这个学号已经存在,请重新输入另一个学号。"); goto H; } i=num-1; stu[i].num=num; printf("\t请输入姓名:"); scanf("%s",stu[i].name); printf("\t请输入性别:"); scanf("%s",stu[i].sex); printf("\t请输入年纪:"); scanf("%d",&stu[i].age); printf("\t请输入出生日期:"); scanf("%s",stu[i].bro); printf("\t请输入住址:"); scanf("%s",stu[i].add); printf("\t请输入手机号:"); scanf("%s",stu[i].phone); printf("\t请输入E-maill:"); scanf("%s",stu[i].em); printf("\n\t<*添加信息成功*>\n\n"); printf("\t1.继续添加\n"); printf("\t2.退出添加\n"); scanf("%d",&x); switch(x) {case 1:goto G; default:break;} } quanbu()/*输出全部信息函数*/ {int i; printf("\t\t全部学生信息以下\n\n"); printf("学号\t姓名\t性别\t年纪\t出生日期\t住址\t手机号\t\tE-mail\n"); for(i=0;i<=100;i++) if(stu[i].num!=0)printf("%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].bro,stu[i].add,stu[i].phone,stu[i].em); } xiugai()/*修改信息函数*/ { int x,y,num,num2; K:printf("\t请输入要修改学号:"); scanf("%d",&num); num2=looknum(num); if(num==num2) /*判定这个学号是否存在*/ { printf("\n\t这个学号信息以下\n\n"); printf("学号\t姓名\t性别\t年纪\t出生日期\t住址\t手机号\t\tE-mail\n"); printf("%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[num-1].num,stu[num-1].name,stu[num-1].sex,stu[num-1].age,stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em); printf("\n\t1.确定修改"); printf("\n\t2.取消修改\n"); scanf("%d",&x); if(x==1) {stu[num-1].num=num; printf("\t请输入姓名:"); scanf("%s",stu[num-1].name); printf("\t请输入性别:"); scanf("%s",stu[num-1].sex); printf("\t请输入年纪:"); scanf("%d",&stu[num-1].age); printf("\t请输入出生日期:"); scanf("%s",stu[num-1].bro); printf("\t请输入住址:"); scanf("%s",stu[num-1].add); printf("\t请输入手机号:"); scanf("%s",stu[num-1].phone); printf("\t请输入E-maill:"); scanf("%s",stu[num-1].em); printf("\n\t<*修改信息成功*>\n"); goto P; } else goto P; } else {printf("\n\t没有这个学号,你可能记错了!\n"); P:printf("\n\t1.继续修改\n"); printf("\t2.退出修改\n"); scanf("%d",&y); switch(y) {case 1:goto K; default:break; } } } void shanchu()/*删除信息函数*/ {int x=2,y=2,num,num2; L:printf("\t请输入要删除学号:"); scanf("%d",&num); num2=looknum(num); if(num==num2) /*判定这个学号是否存在*/ {printf("\n\t这个学号信息以下\n\n"); printf("学号\t姓名\t性别\t年纪\t出生日期\t住址\t手机号\t\tE-mail\n"); printf("%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[num-1].num,stu[num-1].name,stu[num-1].sex,stu[num-1].age,stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em); printf("\n\t1.确定删除"); printf("\n\t2.取消删除\n"); scanf("%d",&x); switch(x) {case 1:{stu[num-1].num=0; printf("\t<*删除信息成功*>\n");} default:break; } goto D; } else {printf("\n\t没有这个学号,你可能记错了!\n"); D:printf("\n\t1.继续删除\n"); printf("\t2.退出删除\n"); scanf("%d",&y); switch(y) {case 1:goto L; default:break;} } } void chakan()/*查看信息函数*/ { int x=1,y=2,z=2,i,num,num2; char name,name2; printf("\t1.按学号查询\n\t2.按姓名查询\n"); scanf("%d",&x); /*输入查看方法*/ if(x==1) /*学号查询*/ { M:printf("\t请输入查看学号:"); scanf("%d",&num); num2=looknum(num); if(num==num2) /*判定这个学号是否存在*/ {printf("\t这个学号信息以下\n\n"); printf("学号\t姓名\t性别\t年纪\t出生日期\t住址\t手机号\t\tE-mail\n"); printf("%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[num-1].num,stu[num-1].name,stu[num-1].sex,stu[num-1].age,stu[num-1].bro,stu[num-1].add,stu[num-1].phone,stu[num-1].em); goto J; } else {printf("\n\t没有这个学号,你可能记错了!\n"); J: printf("\n\t1.继续查看\n"); printf("\t2.退出查看\n"); scanf("%d",&y); switch(y) {case 1:goto M; default:break; } } } if(x==2) /*姓名查询*/ { U:printf("\t请输入查看姓名:"); scanf("%s",&name); for(i=0;i<=100;i++) {if(strcmp(&stu[i].name,&name)==0)/*字符串比较*/ if(stu[i].num!=0) /*判定这个学号是否存在*/ {printf("\t这个姓名信息以下\n\n"); printf("学号\t姓名\t性别\t年纪\t出生日期\t住址\t手机号\t\tE-mail\n"); printf("%d\t%s\t%s\t%d\t%s\t%s\t%s\t%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].bro,stu[i].add,stu[i].phone,stu[i].em); goto Q; } } if(i==101) {printf("\n\t没有这个姓名,你可能记错了!\n"); Q: printf("\n\t1.继续查看\n"); printf("\t2.退出查看\n"); scanf("%d",&z); switch(z) {case 1:goto U; default:break;} } } } main()/*主函数*/ { int a; printf("\n\t*编辑系统--XXXX*\n\n"); printf("\t 未经许可,不得使用\n"); printf("\t\n"); T:printf("\n\n\t 1.添加学生信息\n\t 2.全部学生信息\n\t 3.修改学生信息\n\t 4.删除学生信息\n\t 5.查看学生信息\n\t 6.退出系统\n"); scanf("%d",&a); switch(a) {case 1:tiaojia();goto T; case 2:quanbu();goto T; case 3:xiugai();goto T; case 4:shanchu();goto T; case 5:chakan();goto T; case 6:break; default: printf("\t你输入不正确,请再次输入:\n");goto T; } printf("\t谢谢您对本系统支持和使用\n\n"); printf("\t4月29日\n\n\n\n\n\n\n\n\n\n\n\n\n"); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服