您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > c语言程序学生籍贯信息记录簿设计
学生籍贯信息记录簿1课程设计报告书学生籍贯信息记录簿设计班级:方0909-1学号:20096401姓名:苑小叶指导教师:康亚男石家庄铁道大学四方学院2010年07月14日课程设计报告内容1.选择题目题目:学生籍贯信息记录簿设计2.内容摘要摘要:学生籍贯信息管理系统是典型的信息管理系统,根据开发要求,主要完成对学生姓名、学号、籍贯等管理。随着学校办学规模的不断扩大、办学层次的多样化、在校生的不断增多。开发这系统可以是教务处老师减轻工作压力,比较系统的对学生进行管理,加快速度、加强管理,使各项管理更加规范化。本系统管理内容广泛,全面涉及管理学生资料信息的管理。3.索引关键词关键词:学生籍贯管理,结构体,循环,函数学生籍贯信息记录簿34.目录目录1题目要求……………………………………………………………42设计思想……………………………………………………………43系统完成及功能……………………………………………………44界面设计……………………………………………………………55正文…………………………………………………………………56结论…………………………………………………………………147参考资料……………………………………………………………148后记…………………………………………………………………159附录…………………………………………………………………15学生籍贯信息记录簿45.正文1.1课程设计题目要求1.要求利用C语言面向过程的编程思想来完成系统的设计;2.突出C语言的函数特征,以多个函数实现每一个子功能;3.画出功能模块图;4.进行简单界面设计,能够实现友好的交互;5.具有清晰的程序流程图和数据结构的详细定义;6.熟练掌握C语言对文件的各种操作。2.1设计思想程序运用结构体数组和循环进行程序的编写.3.1系统完成功能及功能框图1每条记录包括一个学生学号、姓名、籍贯。2输入功能:可以一次完成无数条记录的输入。3显示功能:完成全部学生记录的显示。4查找功能:完成按姓名、学号查找学生记录,并显示。5修改功能:通过查找学生姓名、学号,修改学生记录。6保存功能:将学生记录保存到任何自定义的文件中。7读取功能:将保存到文件中的学生记录读取出来。8应提供一个界面来调用各个功能,调用界面和功能的操作界面应尽可能清晰美观。主要功能录入查询删除编辑输出学生籍贯信息记录簿54.1界面设计5.1核心算法及说明#includestdio.h#includeio.h#includestdlib.h#includestring.h#defineMAX300structstudent{charname[10];//姓名charno[50];//学号charad[20];//籍贯};structdata{学生籍贯信息记录簿6intcount;//当前学生数组中学生的个数structstudentstu[MAX];//学生数组}dd;//显示主菜单voidmenu(){system(cls);printf(\n);printf(\t\t\t********************************\n);printf(\t\t\t**\n);printf(\t\t\t*学生籍贯信息记录簿*\n);printf(\t\t\t**\n);printf(\t\t\t*[0]退出*\n);printf(\t\t\t*[1]查看所有学生信息*\n);printf(\t\t\t*[2]输入学生记录*\n);printf(\t\t\t*[3]删除学生记录*\n);printf(\t\t\t*[4]编辑学生记录*\n);printf(\t\t\t*[5]查询(学号)*\n);printf(\t\t\t*[6]查询(姓名)*\n);printf(\t\t\t*[7]查询(籍贯)*\n);printf(\t\t\t**\n);printf(\t\t\t********************************\n);printf(\t\t\t*制作人:苑小叶崔京*\n);}//等待用户按回车后回到主菜单voidto_menu(){charc1,c2;printf(\n\n\n按回车键返回主菜单...);scanf(%c%c,&c1,&c2);menu();}//查看所有学生信息学生籍贯信息记录簿7voidview_data(){inti;printf(姓名\t学号\t籍贯);printf(\n-------------------------------------------------------------------\n);for(i=0;idd.count;i++)printf(%s\t%s\t%s\n,dd.stu[i].name,dd.stu[i].no,dd.stu[i].ad);}//将数据从结构体数组保存到文件中voidsave_data(){FILE*fp;inti,k;k=dd.count;fp=fopen(c:/dada.txt,w);fwrite(&k,sizeof(int),1,fp);for(i=0;ik;i++)fwrite(&dd.stu[i],sizeof(structstudent),1,fp);fclose(fp);}//输入学生记录voidadd_data(){structstudentst;intb;intk;inti,j;while(1){j=0;学生籍贯信息记录簿8printf(\n请输入学生信息:);printf(\n姓名\t学号\t籍贯);printf(\n---------------------------------------------------------------\n);scanf(%s%s%s,st.name,st.no,st.ad);for(i=0;idd.count;i++)if(strcmp(dd.stu[i].no,st.no)==0){j=1;printf(学号录入重复,请重新输入!);break;}if(j==1)continue;if(j==0){k=dd.count;strcpy(dd.stu[k].name,st.name);strcpy(dd.stu[k].no,st.no);strcpy(dd.stu[k].ad,st.ad);dd.count++;}printf(\n\n继续添加学生信息[1-yes0-no]:);scanf(%d,&b);if(b==0)break;}save_data();}//将数据从文件读到结构体数组中voidread_data(){FILE*fp;inti,k;学生籍贯信息记录簿9structstudentst;k=0;if(access(c:/dada.txt,0)==-1)//如果文件不存在{fp=fopen(c:/dada.txt,w);fwrite(&k,sizeof(int),1,fp);fclose(fp);}fp=fopen(c:/dada.txt,r);fread(&k,sizeof(int),1,fp);dd.count=k;for(i=0;ik;i++){fread(&st,sizeof(structstudent),1,fp);strcpy(dd.stu[i].name,st.name);strcpy(dd.stu[i].no,st.no);strcpy(dd.stu[i].ad,st.ad);}fclose(fp);}//删除学生记录voiddelete_data(){inti,k;charno[50];printf(\n请输入要删除学生的学号:);scanf(%s,no);k=-1;for(i=0;idd.count;i++){if(strcmp(dd.stu[i].no,no)==0){k=i;学生籍贯信息记录簿10break;}}if(k==-1){printf(\n\n没有找到该学生(学号-%s)!,no);}else{for(i=k;idd.count;i++){strcpy(dd.stu[i].name,dd.stu[i+1].name);strcpy(dd.stu[i].no,dd.stu[i+1].no);strcpy(dd.stu[i].ad,dd.stu[i+1].ad);}dd.count--;save_data();printf(\n\n删除(学号-%s)成功!,no);}}//编辑学生记录voidedit_data(){inti,k;charno[50],ad[20];printf(\n请输入要编辑学生的学号:);scanf(%s,no);k=-1;for(i=0;idd.count;i++){if(strcmp(dd.stu[i].no,no)==0){k=i;break;学生籍贯信息记录簿11}}if(k==-1){printf(\n\n没有找到该学生(学号-%s)!,no);}else{printf(\n姓名:%s,学号:%s,dd.stu[k].name,dd.stu[k].no);printf(\n请修改学生数据:);printf(\n籍贯:);scanf(%s,ad);strcpy(dd.stu[k].ad,ad);}}//查询(学号)voidquery_data_no(){inti,k;charno[50];printf(\n请输入要查询学生的学号:);scanf(%s,no);k=-1;for(i=0;idd.count;i++){if(strcmp(dd.stu[i].no,no)==0){{printf(\n\n姓名\t学号\t籍贯);printf(\n-----------------------------------------------------------------\n);}学生籍贯信息记录簿12k=i;printf(%s\t%s\t%s\n,dd.stu[i].name,dd.stu[i].no,dd.stu[i].ad);}}if(k==-1){printf(\n\n没有找到该学生(学号-%s)!,no);}}//查询(姓名)voidquery_data_name(){inti,k;charname[10];printf(\n请输入要查询学生的姓名:);scanf(%s,name);k=-1;for(i=0;idd.count;i++){if(strcmp(dd.stu[i].name,name)==0){{printf(\n\n姓名\t学号\t籍贯);printf(\n-----------------------------------------------------------------\n);}k=i;printf(%s\t%s\t%s\n,dd.stu[i].name,dd.stu[i].no,dd.stu[i].ad);}}if(k==-1){学生籍贯信息记录簿13printf(\n\n没有找到该学生(姓名-%s)!,name);}}//查询(籍贯)voidquery_data_address(){inti,sum=0;charad[20];printf(请输入籍贯信息:);scanf(%s,ad);printf(该籍贯的学生有:);for(i=0;idd.count;i++)if(strcmp(dd.stu[i].ad,ad)==0){printf(%s\t,dd.stu[i].name);sum++;}if(sum==0)printf(0人\n);}//主函数voidmain(){intfun;read_data();menu();while(1){printf(请输入功能号[0-7]:,&fun);scanf(%d,&fun);switch(fun){case0://退出break;case1://查看所有学生信息学生籍贯信息记录簿14view_data();break;c
本文标题:c语言程序学生籍贯信息记录簿设计
链接地址:https://www.777doc.com/doc-6113876 .html