c语课程设计学生信息管理系统.docx
- 文档编号:1348463
- 上传时间:2022-10-21
- 格式:DOCX
- 页数:26
- 大小:563.59KB
c语课程设计学生信息管理系统.docx
《c语课程设计学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《c语课程设计学生信息管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
c语课程设计学生信息管理系统
学生信息管理系统
一、实验目的
1.熟悉c语言的编译连接和运行过程。
2.掌握c语言的数据类型,熟悉整型、实型、字符型变量的定义方式及如何给它们赋值。
3.掌握if语句及switch语句的运用方法及嵌套应用方法。
4.掌握实现循环结构的三种语句while、do-while.、for的使用。
5.掌握函数的定义方法和调用方法。
6.能够采用模块化思想调试程序。
二、实验要求
1.编写程序并进行调试运行。
2.输入学生资料,并保存于文件。
每个学生包含信息如:
学号、姓名、性别、班级、宿舍信息等。
3.对已存入的学生信息进行更新操作,包括添加一个学生信息、删除某个学生信息和修改某个学生信息。
4.通过输入姓名、学号的方式查询学生信息。
5.对学生住宿信息进行排序和统计。
6.最后输出学生信息,供需要时打印。
三、程序功能
1.该程序可用于对学生的情况基本信息的存储、更新、查询、输出,统计,排序等操作,以实现对学生宿舍的管理。
2.可已以要求,详细的统计假期在校的学生人数、宿舍、联系方式等
3.其中更新功能包括:
添加信息、删除信息、修改信息、可根据需要添加一个或多个学生信息,也可对个别学生信息进行适当的删除或修改。
以便随时更新学生信息。
4.程序中设计的查询功能可根据需要从若干数据中查询某个学生信息,并且可根据两种不同的方法查询:
按学号查询和按姓名查询。
以满足不同的需要。
四、源程序清单
#include
#include"string.h"
#defineMAX10
#definePRINT1printf("★☆★☆★☆★☆★☆★☆★☆--学生信息表--☆★☆★☆★☆★☆★☆★☆★☆★\n")
#definePRINT2printf("§NO/姓名/性别/年龄/年级/班级/专业/楼号/房号/QQ/电话号码§\n")
#definePRINT3printf("★☆★☆★☆★☆★☆★☆★☆★☆☆☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n");
intsum;
structstu
{
charname[20];
intnum;
charsex;
intage;
intgrade;
intclass;
charzhuanye[30];
};
structdom
{
intbui_num;
introom_num;
intQQ_num;
intTel_num;
structstust;
}
s[MAX],p;
/*1保存信息*/
save_message()
{FILE*fp;
inti;
if((fp=fopen("dom.txt","wt"))==NULL)
{
printf("读文件错误!
\n");
return0;
}
for(i=0;i if(fwrite(&s[i],sizeof(structdom),1,fp)! =1) printf("写文件错误! \n"); fclose(fp); } /*2输入模块*/ input_message() {inti=0; clrscr(); printf("\n\n录入学生信息(最多%d个)\n",MAX); printf("----------------------------\n"); do { printf("\n第%d个学生\n\n",i+1); printf("\n学号: "); scanf("%d",&s[i].st.num); if(s[i].st.num==0)break; printf("\n学生姓名: "); scanf("%s",&s[i].st.name); printf("\n学生性别(男生用M表示,女生用F表示): "); getchar(); scanf("%c",&s[i].st.sex); printf("\n学生年龄: "); scanf("%d",&s[i].st.age); printf("\n学生年级: "); scanf("%d",&s[i].st.grade); printf("\n学生班级: "); scanf("%d",&s[i].st.class); printf("\n学生专业: "); scanf("%s",&s[i].st.zhuanye); printf("\n宿舍楼号: "); scanf("%d",&s[i].bui_num); printf("\n宿舍房号: "); scanf("%d",&s[i].room_num); printf("\nQQ: "); scanf("%d",&s[i].QQ_num); printf("\n电话号码: "); scanf("%d",&s[i].Tel_num); i++; } while(i printf("\n--%d个学生的信息输入完毕! --\n",i); sum=i; printf("\n按任意键返回主菜单! "); getchar(); bioskey(0); return0; } /*3读取信息*/ intread_message() { FILE*fp; inti=0; if((fp=fopen("dom.txt","rt"))==NULL) { printf("\n\n*****暂时还没有任何信息按任意键进入主菜单选择基本信息的录入! *****\n"); return0; } while(! feof(fp)) { fread(&s[i],sizeof(structdom),1,fp); i++; } fclose(fp); return(i); } /*4输出模块*/ output_message() { inti=0; clrscr(); PRINT1; PRINT2; PRINT3; for(i=0;i if(s[i].st.num! =0) { printf("☆%2d/%7s/%4c/%4d/%4d/%4d/%7s/%4d/%4d/%9d/%11d☆\n",s[i].st.num,s[i].st.name,s[i].st.sex,s[i].st.age,s[i].st.grade,s[i].st.class,s[i].st.zhuanye,s[i].bui_num,s[i].room_num,s[i].QQ_num,s[i].Tel_num); printf("★☆★☆★☆★☆★☆★☆★☆★☆☆☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n"); bioskey(0); } } /*5添加学生信息*/ insert_message() { inti=sum,flag=0; charchoice; printf("\n\n添加一个新同学\n"); printf("---------------\n"); do { printf("\n新学号: "); scanf("%d",&s[i].st.num); printf("\n学生姓名: "); scanf("%s",&s[i].st.name); printf("\n学生性别(男生用M表示,女生用F表示): "); getchar(); scanf("%c",&s[i].st.sex); printf("\n学生年龄: "); scanf("%d",&s[i].st.age); printf("\n学生年级: "); scanf("%d",&s[i].st.grade); printf("\n学生班级: "); scanf("%d",&s[i].st.class); printf("\n学生专业: "); scanf("%s",&s[i].st.zhuanye); printf("\n宿舍楼号: "); scanf("%d",&s[i].bui_num); printf("\n宿舍房号: "); scanf("%d",&s[i].room_num); printf("\nQQ: "); scanf("%d",&s[i].QQ_num); printf("\n电话号码: "); scanf("%d",&s[i].Tel_num); sum++; printf("\n要继续吗? (Y/N)"); getchar(); scanf("%c",&choice); if(choice=='y'||choice=='Y') { flag=1; i++; printf("\n继续! \n"); } elseflag=0; } while(flag==1); printf("\n按任意键返回主菜单! "); return0; } /*6删除模块*/ del_message() { intflag,del_num,i,k; charchoice; do { printf("\n输入要删除的学生学号: "); scanf("%d",&del_num); for(i=0;i if(del_num==s[i].st.num) for(k=i;k s[k]=s[k+1]; sum--; printf("\n\n继续吗? (Y/N)"); getchar(); scanf("%c",&choice); if(choice=='y'||choice=='Y') { flag=1; printf("\n继续! \n"); } elseflag=0; } while(flag==1); printf("\n\n按任意键返回主菜单! "); getchar(); return0; } /*7修改模块*/ revise_message() { inti=0,choices,revise_num,flag=0;charchoice; do { printf("\n输入要修改的学生号: "); scanf("%d",&revise_num); for(i=0;i if(s[i].st.num==revise_num) { printf("\n--学生信息--\n"); PRINT1; PRINT2; PRINT3; printf("☆%2d/%7s/%4c/%4d/%4d/%4d/%7s/%4d/%4d/%9d/%11d☆\n",s[i].st.num,s[i].st.name,s[i].st.sex,s[i].st.age,s[i].st.grade,s[i].st.class,s[i].st.zhuanye,s[i].bui_num,s[i].room_num,s[i].QQ_num,s[i].Tel_num); printf("★☆★☆★☆★☆★☆★☆★☆★☆☆☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n"); printf("\n您要修改哪一项? \n");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 学生 信息管理 系统