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