《2022年学生信息管理系统C语言课程设计报告 3.pdf》由会员分享,可在线阅读,更多相关《2022年学生信息管理系统C语言课程设计报告 3.pdf(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、通信工程 C语言强化训练实验报告学号:名:姓2011 年 7 月 8 提交日期:日绩:成评语:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 教师签字:东北大学秦皇岛分校学生信息管理系统强化训练目的C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、 数组、指针、函数、结构体和共用体。C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。程序的结构化设计。编辑、设置、编译、调试、执行。C语言结合实际问题的综合设
2、计。设计题目功能通过计算机对数据文件的存储和读取,对学生信息进行管理, 能够完成学生信息的增、删、改、查找等功能。设计题目要求名片信息至少包括学号、姓名、性别、出生日期、宿舍号等基本信息。具体要求包括:有主界面和主菜单12以班级为单位用链表存放学生信息3可以实现按学号、姓名、宿舍号查询和统计并在屏幕上输出查询结果4友好的界面和操作提示A信息录入D信息删除F信息查询退出Q4、程序流程图总体设计详细设计【程序】 主函数void main() /* 主函数即用户的操作界面*/ system(color 1E); /* 设计文本颜色*/int b,flag=0; /* 声明局部变量*/while(1)
3、 /* 循环输出以下信息*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - ttt 欢迎来到学生成绩管理系统!n); tttt #制作 n); tt-n); tt1.键入学生的信息nn); /* 键入学生的信息*/tt2.查看录入的学生信息nn); /* 查看录入的学生信息*/ tt3.按姓名查看学生的信息nn); /* 按姓名查看学生的信息*/tt4.按学号查看学生的信息nn); /* 按学号查看学生的信息*/tt5.按宿
4、舍号查看学生的信息nn); /* 按宿舍号查看学生的信息*/tt6.删除学生信息nn); /* 删除学生信息*/tt7.保存学生信息nn); /* 保存 */tt8.打开文件 nn); /* 打开文件 */tt9.我的个人信息nn); /*我的个人信息*/tt0.退出 nn); /*退出*/tt 请输入你的选择:); scanf(%d,&b); switch(b) case 1:type();break; /*调用键入学生信息函数*/case 2:look();break; /*调用查看函数*/case 3:search_name();break; /* 调用姓名查看函数*/case 4:se
5、arch_number();break; /*调用学号查看函数*/case 5: search_dorm();break; /* 调用宿舍号查看函数*/case 6:del();break; /* 调用删除函数*/case 7:save();break; /* 调用保存函数*/case 8:see();break; /* 调用打开文件函数*/case 9:welcome();break; /* 调用我的个人信息函数*/case 0:flag=1;break; /* 退出SWITCH 语句*/敤慦汵 ?瀺楲瑮 ? 错误 !); if(flag) break; /* 如果选择0 就退出循环 */
6、5、 程序设计源代码#includestdio.h #includeconio.h #includestring.h 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - #includestdlib.h void look(); /* 声明查看函数*/void save(); /* 声明保存函数*/void search_name(); /* 声明按姓名查看函数*/void search_number(); /* 声明按学号查看函
7、数*/void search_dorm(); /* 声明按宿舍号查看函数*/void del(); /* 声明删除函数*/int openl(); /* 声明打开函数*/void welcome(); /* 声明我的个人信息函数*/*/ 声明输入函数/*void type(); void see(); /* 声明打开并查看文件函数*/struct student /* 定义学生信息的结构体类型*/ char num15; /*学号 */char name20; /* 姓名 */char sex4; /* 性别 */char dorm15; /* 宿舍号 */ char birthday20;
8、/* 出生日期 */ stu100; int n; /* 声明一个全局变量*/void main() /* 主函数即用户的操作界面*/ system(color 1E); /* 设计文本颜色*/int b,flag=0; /* 声明局部变量*/while(1) /* 循环输出以下信息*/ ttt 欢迎来到学生成绩管理系统!n); tttt 赖伟玮制作 n); tt-n); tt1.键入学生的信息nn); /* 键入学生的信息*/tt2.查看录入的学生信息nn); /* 查看录入的学生信息*/ tt3.按姓名查看学生的信息nn); /* 按姓名查看学生的信息*/tt4.按学号查看学生的信息nn)
9、; /* 按学号查看学生的信息*/tt5.按宿舍号查看学生的信息nn); /* 按宿舍号产看学生的信息*/tt6.删除学生信息nn); /* 删除学生信息*/tt7.保存学生信息nn); /* 保存 */tt8.打开文件 nn); /* 打开文件 */tt9.我的个人信息nn); /* 我的个人信息*/tt0.退出 nn); /* 退出 */tt 请输入你的选择:); scanf(%d,&b); switch(b) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页
10、 - - - - - - - - - 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; /* 调用删除函数*/case 7:save();break;/* 调用保存函数*/case 8:see();break;/* 调用打开文件
11、函数*/case 9:welcome();break; /* 调用我的个人信息函数*/case 0:flag=1;break; /* 退出 SWITCH 语句 */敤慦汵 ?瀺楲瑮 ?错误 !); if(flag) break; /* 如果选择0 就退出循环 */ void welcome() /* 我的个人信息函数*/ system(CLS); ntt- 个人信息 - ); /* 在屏幕上输出一下信息*/nnntt 姓名 :赖伟玮 ); ttSex:男n); t 年龄 :21n); ttt - 学习经历 - nnn); t 小学 :高梧小学 nn); t 初中 :武平三中 nn); tS 高
12、中 :武平一中 nn); t 大学 :东北大学秦皇岛分校nn); ntt 按任意键返回欢迎屏幕!); getch(); /* 按任意键返回主函数*/ void type() /* 定义键入学生信息函数*/ system(CLS); int i; /*定义局部变量*/t 输出你想输入的学生信息个数:); scanf(%d,&n); for(i=0;in;i+) /*输入每个学生的信息*/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - -
13、- - ttt - n); tt 学号 :); scanf(%s,&stui.num); /* 输入学号 */tt 姓名 :); scanf(%s,&stui.name); /*输入姓名 */tt 性别 :); scanf(%S,&stui.sex); /* 输入性别 */tt 宿舍号 :); scanf(%s,&stui.dorm); /* 输入宿舍号 */tt 出生日期 :); scanf(%s,&stui.birthday); /*输入出生日期*/ nttt 按任意键返回菜单!); getch(); save(); void save() /*建立保存文件函数*/ system(CLS)
14、; FILE *fp; /* 定义文件型指针*/ int i; if(fp=fopen(student.txt,wb)=NULL) /* 打开输出文件*/ 牰湩晴尨不能打开文件!n); */ 终止程序 /* return; for(i=0;in;i+) /*向 student 文件中写入信息*/ if(fwrite(&stui,sizeof(struct student),1,fp)!=1) 牰湩晴尨文件写入错误n); fclose(fp); /*关闭文件 */ nnnttt 学生信息保存成功!n); nnnttt 按任意键返回菜单!); getch(); void look() /* 定义查
15、看函数*/ system(CLS); int i; /n=openl(); /* 调用 openl 函数 */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 10 页 - - - - - - - - - 学号 t 姓名 t 性别 t 宿舍号 t 出生日期 t n); for(i=0;in;i+) /*输出所有的学生信息*/ printf(_x0010_st%st%2st_x0010_st_x0010_stn,stui.num,stui.name,stui.sex,stu
16、i.dorm,stui.birthday); nnttt 按任意键返回菜单); getch(); void search_name() /* 按姓名查看函数*/ system(CLS); int i; char name20; /*声明字符数组*/ tt 请输入学生姓名:n); scanf(%s,name); 学号 t 姓名 t 性别 t 宿舍号 t 出生日期 tn); for(i=0;in;i+) if(strcmp(stui.name,name)=0) /* 将输入的姓名与结构体中的姓名进行比较*/ printf(_x0010_st%st%2st_x0010_st_x0010_stn,st
17、ui.num,stui.name,stui.sex,stui.dorm,stui.birthday); nnttt 按任意键返回菜单); getch(); void search_number() /* 定义按学号查看函数*/ system(CLS); int i; char number15; /* 声明字符数组*/ tt 请输入学号 :n); scanf(%s,number); 学号 t 姓名 t 性别 t 宿舍号 t 出生日期 n); for(i=0;in;i+) if(strcmp(stui.num,number)=0) /*将输入的学号与结构体中的学号进行比较*/ 名师资料总结 -
18、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - printf(_x0010_st%st%2st_x0010_st_x0010_stn,stui.num,stui.name,stui.sex,stui.dorm,stui.birthday); nnttt 按任意键返回菜单); getch(); void search_dorm() /* 按宿舍号查看函数*/ system(CLS); int i; char dorm15; /*声明字符数组*/
19、tt 请输入学生宿舍号:n); scanf(%s,dorm); 学号 t 姓名 t 性别 t 宿舍号 t 出生日期 tn); for(i=0;in;i+) if(strcmp(stui.dorm,dorm)=0) /* 将输入的宿舍号与结构体中的宿舍号进行比较*/ printf(_x0010_st%st%2st_x0010_st_x0010_stn,stui.num,stui.name,stui.sex,stui.dorm,stui.birthday); nnttt 按任意键返回菜单); getch(); void del() /* 定义删除学生信息函数*/ int i; char a; ch
20、ar name20; system(CLS); tt 输入学生名字:n); scanf(%s,name); system(CLS); 学号 t 姓名 t 性别 t 宿舍号 t 出生日期 tn); for(i=0;in;i+) if(strcmp(stui.name,name)=0) printf(_x0010_st%st%2st_x0010_st_x0010_stn,stui.num,stui.name,stui.sex,stui.dorm,stui.名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
21、- - - 第 8 页,共 10 页 - - - - - - - - - birthday); getch(); 牰湩晴尨真的删除?(y or n); getchar(); scanf(%c,&a); if(a=y) /*是否删除该信息*/ for(;in;i+) stui=stui+1; n=n-1; 牰湩晴尨你已经删除信息); else 牰湩晴尨退出); getch(); save(); int openl() /* 定义打开文件函数*/ system(CLS); int i; FILE *fp; if(fp=fopen(student.txt,b)=NULL) printf(Cannot
22、 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(); 牰湩晴尨文件打开成功!n); 牰湩晴尨按任意键查看!n); getch(); 学号 t 姓名 t 性别 t 宿舍号 t 出生日期 tn); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
23、理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - for(i=0;in;i+) /*输出所有的学生信息*/ printf(_x0010_st%st%2st_x0010_st_x0010_stn,stui.num,stui.name,stui.sex,stui.dorm,stui.birthday); nnttt 按任意键返回菜单); getch(); 6、 强化训练心得体会通过为期一周的课程设计,我们对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们通信工程专业的学习中占据着十分重要的地位。 同时也使我们知道, 要学好这
24、门课程, 仅学习书本上的知识是不够的, 还要有较强的实践能力。 因为我们学习知识就是为了实践。 而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。运用C语言中的算法思想作数据结构,结合C语言基本知识,编写一个学生信息管理系统。 通过完成本课题, 进一步熟悉 C语言的基本知识, 并掌握数据结构的一些基本算法思想,掌握C语言的基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体,进一步熟悉指针的用法,数组的建立运用和函数的调用等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -