1、学生信息管理系统C语言课程设计报告通信工程C语言强化训练实验报告学 号:姓 名:提交日期:2011年7月8日成 绩:评 语:教师签字:东北大学秦皇岛分校学生信息管理系统强化训练目的C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。程序的结构化设计。编辑、设置、编译、调试、执行。C语言结合实际问题的综合设计。设计题目功能通过计算机对数据文件的存储和读取,对学生信息进行管理,能够完成学生信息的增、删、改、查找等功能。 设计题目要求名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。具
2、体要求包括:1有主界面和主菜单 2以班级为单位用链表存放学生信息 3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果 4友好的界面和操作提示A信息录入 D信息删除F信息查询Q退出4、程序流程图总体设计详细设计【程序】主函数void main() /*主函数即用户的操作界面*/ system(color 1E); /*设计文本颜色*/ int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ printf(nttt欢迎来到学生成绩管理系统!n); printf(ntttt #制作n); printf(ttt-n); printf(ttt1.键入学生
3、的信息nn); /*键入学生的信息*/ printf(ttt2.查看录入的学生信息nn); /*查看录入的学生信息*/ printf(ttt3.按姓名查看学生的信息nn); /*按姓名查看学生的信息*/ printf(ttt4.按学号查看学生的信息nn); /*按学号查看学生的信息*/ printf(ttt5.按宿舍号查看学生的信息nn); /*按宿舍号查看学生的信息*/ printf(ttt6.删除学生信息nn); /*删除学生信息*/ printf(ttt7.保存学生信息nn); /*保存*/ printf(ttt8.打开文件nn); /*打开文件*/ printf(ttt9.我的个人信息
4、nn); /*我的个人信息*/ printf(ttt0.退出nn); /*退出*/ printf(ttt请输入你的选择:); scanf(%d,&b); switch(b) case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5: search_dorm();break; /*调用宿舍号查看函数*/ case 6:del();break
5、;/*调用删除函数*/ case 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf(错误!); if(flag) break; /*如果选择0就退出循环*/ 5、 程序设计源代码#includestdio.h#includeconio.h#includestring.h#includestdlib.hvoid look(); /*声明查看函数*/void
6、 save(); /*声明保存函数*/void search_name(); /*声明按姓名查看函数*/void search_number(); /*声明按学号查看函数*/void search_dorm(); /*声明按宿舍号查看函数*/void del(); /*声明删除函数*/int openl(); /*声明打开函数*/void welcome(); /*声明我的个人信息函数*/void type(); /*声明输入函数*/void see(); /*声明打开并查看文件函数*/struct student /*定义学生信息的结构体类型*/ char num15; /*学号*/ cha
7、r name20; /*姓名*/ char sex4; /*性别*/ char dorm15;/*宿舍号*/ char birthday20;/*出生日期*/stu100;int n; /*声明一个全局变量*/void main() /*主函数即用户的操作界面*/ system(color 1E); /*设计文本颜色*/ int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ printf(nttt欢迎来到学生成绩管理系统!n); printf(ntttt 赖伟玮制作n); printf(ttt-n); printf(ttt1.键入学生的信息nn); /*
8、键入学生的信息*/ printf(ttt2.查看录入的学生信息nn); /*查看录入的学生信息*/ printf(ttt3.按姓名查看学生的信息nn); /*按姓名查看学生的信息*/ printf(ttt4.按学号查看学生的信息nn); /*按学号查看学生的信息*/ printf(ttt5.按宿舍号查看学生的信息nn); /*按宿舍号产看学生的信息*/ printf(ttt6.删除学生信息nn); /*删除学生信息*/ printf(ttt7.保存学生信息nn); /*保存*/ printf(ttt8.打开文件nn); /*打开文件*/ printf(ttt9.我的个人信息nn); /*我的个
9、人信息*/ printf(ttt0.退出nn); /*退出*/ printf(ttt请输入你的选择:); scanf(%d,&b); switch(b) case 1:type();break; /*调用键入学生信息函数*/ case 2:look();break; /*调用查看函数*/ case 3:search_name();break; /*调用姓名查看函数*/ case 4:search_number();break; /*调用学号查看函数*/ case 5:search_dorm();break; /*调用宿舍号函数*/ case 6:del();break;/*调用删除函数*/ c
10、ase 7:save();break;/*调用保存函数*/ case 8:see();break;/*调用打开文件函数*/ case 9:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default :printf(错误!); if(flag) break; /*如果选择0就退出循环*/ void welcome() /*我的个人信息函数*/ system(CLS); printf(nntt-个人信息-); /*在屏幕上输出一下信息*/ printf(nnnntt姓名:赖伟玮); printf(tttSex:
11、男n); printf(tt年龄:21n); printf(nttt-学习经历-nnn); printf(tt小学:高梧小学nn); printf(tt初中:武平三中nn); printf(ttS高中:武平一中nn); printf(tt大学:东北大学秦皇岛分校nn); printf(nntt按任意键返回欢迎屏幕!); getch(); /*按任意键返回主函数*/void type() /*定义键入学生信息函数*/ system(CLS); int i; /*定义局部变量*/ printf(tt输出你想输入的学生信息个数:); scanf(%d,&n); for(i=0;in;i+) /*输入
12、每个学生的信息*/ printf(nttt-n); printf(ttt学号:); scanf(%s,&stui.num); /*输入学号*/ printf(ttt姓名:); scanf(%s,&stui.name); /*输入姓名*/ printf(ttt性别:); scanf(%S,&stui.sex); /*输入性别*/ printf(ttt宿舍号:); scanf(%s,&stui.dorm); /*输入宿舍号*/ printf(ttt出生日期:); scanf(%s,&stui.birthday); /*输入出生日期*/ printf(nnttt按任意键返回菜单!); getch()
13、; save();void save() /*建立保存文件函数*/ system(CLS);FILE *fp; /*定义文件型指针*/ int i; if(fp=fopen(student.txt,wb)=NULL) /*打开输出文件*/ printf(不能打开文件!n); return; /*终止程序*/ for(i=0;in;i+) /*向student文件中写入信息*/ if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(文件写入错误n); fclose(fp); /*关闭文件*/ printf(nnnnttt学生信息保存成功!
14、n); printf(nnnnttt按任意键返回菜单!); getch();void look() /*定义查看函数*/ system(CLS); int i; /n=openl(); /*调用openl函数*/ printf(t学号t姓名t性别t宿舍号t出生日期t n); for(i=0;in;i+) /*输出所有的学生信息*/ printf(%10st%st%2st%10st%10stn,stui.num,stui.name,stui.sex,stui.dorm,stui.birthday); printf(nnnttt按任意键返回菜单); getch();void search_name
15、() /*按姓名查看函数*/ system(CLS); int i; char name20; /*声明字符数组*/ printf(ttt请输入学生姓名:n); scanf(%s,name); printf(t学号t姓名t性别t宿舍号t出生日期tn); for(i=0;in;i+) if(strcmp(stui.name,name)=0) /*将输入的姓名与结构体中的姓名进行比较*/ printf(%10st%st%2st%10st%10stn,stui.num,stui.name,stui.sex,stui.dorm,stui.birthday); printf(nnnttt按任意键返回菜单
16、); getch();void search_number() /*定义按学号查看函数*/ system(CLS); int i; char number15; /*声明字符数组*/ printf(ttt请输入学号:n); scanf(%s,number); printf(t学号t姓名t性别t宿舍号t出生日期n); for(i=0;in;i+) if(strcmp(stui.num,number)=0) /*将输入的学号与结构体中的学号进行比较*/ printf(%10st%st%2st%10st%10stn,stui.num,stui.name,stui.sex,stui.dorm,stui
17、.birthday); printf(nnnttt按任意键返回菜单); getch();void search_dorm() /*按宿舍号查看函数*/ system(CLS); int i; char dorm15; /*声明字符数组*/ printf(ttt请输入学生宿舍号:n); scanf(%s,dorm); printf(t学号t姓名t性别t宿舍号t出生日期tn); for(i=0;in;i+) if(strcmp(stui.dorm,dorm)=0) /*将输入的宿舍号与结构体中的宿舍号进行比较*/ printf(%10st%st%2st%10st%10stn,stui.num,st
18、ui.name,stui.sex,stui.dorm,stui.birthday); printf(nnnttt按任意键返回菜单); getch(); void del() /*定义删除学生信息函数*/ int i; char a; char name20; system(CLS); printf(ttt输入学生名字:n); scanf(%s,name); system(CLS); printf(t学号t姓名t性别t宿舍号t出生日期tn); for(i=0;in;i+) if(strcmp(stui.name,name)=0) printf(%10st%st%2st%10st%10stn,st
19、ui.num,stui.name,stui.sex,stui.dorm,stui.birthday); getch(); printf(真的删除?(y or n); getchar(); scanf(%c,&a); if(a=y) /*是否删除该信息*/ for(;in;i+) stui=stui+1; n=n-1; printf(你已经删除信息); else printf(退出); getch(); save();int openl() /*定义打开文件函数*/ system(CLS); int i; FILE *fp; if(fp=fopen(student.txt,rb)=NULL) p
20、rintf(Cannot open file.n); exit(0); for(i=0;!feof(fp);i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp); return(i-1);void see() /*打开并查看文件*/ system(CLS); int i; n=openl(); printf(文件打开成功!n); printf(按任意键查看!n); getch(); printf(t学号t姓名t性别t宿舍号t出生日期tn); for(i=0;in;i+) /*输出所有的学生信息*/ printf(%10st%st%2s
21、t%10st%10stn,stui.num,stui.name,stui.sex,stui.dorm,stui.birthday); printf(nnnttt按任意键返回菜单); getch();6、 强化训练心得体会通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们通信工程专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用C语言中的算法思想作数据结构,结合C语言基本知识,编写一个学生信息管理系统。通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体,进一步熟悉指针的用法,数组的建立运用和函数的调用等。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1