《2022年C语言课程设计班级档案管理 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言课程设计班级档案管理 .pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、学号1208020203高级语言程序设计课程设计报告题目:班级档案管理专业:网络工程班级:2 班姓名:指导教师:成绩:计算机与信息工程系2013 年 6 月 28 日2011-2012学年 第二学期名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1设计题目1 设计内容及要求1、1 构建各种算法的基本数据模型,并进行分析;1、2画出算法的程序流程图;1、3 写出相应模块的源程序文件;1、4 设计一主程序界面进行封装。2 概要设计该程序的主要功能是实现学生档案的管理,包括录入学生信息、显示学生信息、查询学生信息、删除学生信息
2、、添加学生信息、修改学生信息,以及查询的方式(按学号查询、按姓名查询、按性别查询、按年龄查询)。并统计学生的所有信息。3 设计过程或程序代码本程序由一个 Void main(),一个Void input(),一个Void Save(),一个Voiddisplay(),一个Void Delete(),一个Void add和一个VoidSearch()共七个主要函数来实现该程序的编程的。其中在主函数 Void main()中调用其他六个函数,通过Switch 语句来实现调用进入各个函数,进入主菜单通过录入函数录入学生信息,并自动保存在 cstudent.txt中。学生信息输入应用了结构数组,学生信
3、息主要包括姓名,学号,性别,年龄以及备注。其中年龄为整型,其他为字符型。调用函数时,学生信息运用了指针数组,如void Modfiy(structstudent*arr,intn)在Void Delete()调用函数中,当 bool flag=ture是该学生不存在,即已被删除。在 Void search()调用函数中,当 boolflag=ture是该学生存在,即已被查询到。当 flag=false时则说明没有该学生信息。在查询系统中,有四种查询方式,分别是按姓名查询,按学号查询,按性别查询和按年龄查询。四种查询方式用 Switch 语句连接起来,进入每种查询方式要输入所需信息才能进入。该程
4、序最大的特点是 Switch 连接各调用函数和各查询方式以及结构数组的运用,将各函数有序的连接起来。各个调用函数功能的实现如下:1)信息的录入主要运用循环语句将各个学生信息依次输入2)信息的显示也是用循环语句将各个学生信息显示出来。3)信息的保存是将信息重写到保存到的文件位置,其中信息保存在c:student.text4)信息的删除是运用字符串复印函数,将空格复印到信息字符上达到删除效果。5)信息的修改是输入学号用循环语句将需修改的信息显示出来,然后再输入新的信息6)信息的查询是通过 Switch 语句将查询方式连接起来,并在各个查询方式中用循环语句将要查询的信息显示出来4 设计结果与分析vo
5、idsearch_age()名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1intage;inti,t;intm=load();printf(请输入要查找的年龄:n);scanf(%d,&age);for(i=0;im;i+)if(age=sti.age)printf(n 已找到此人,其记录为:n);printf(n 学号t 姓名t 性别t 年龄t 备注n);printf(n%dt%st%ct%dt%st%st%st%ldn,sti.num,sti.name,sti.sex,sti.age,sti.xueli,sti.
6、beizhu,sti.addr,sti.tel);break;if(i=m)printf(n 对不起,查无此人 n);printf(n);printf(返回查询函数请按,继续查询年龄请按 n);scanf(%d,&t);switch(t)case 1:search();break;case 2:break;default:break;这段程序的功能是按年龄查询来查询学生的相关信息,如果输入正确就能得到该学生的学号姓名性别备注等信息,如果输入有误,将得不到有效信息,并返回查询函数重新选择。5 参考文献C语言程序设计(第三版)谭浩强著C 语言程序设计(第2 版)人民邮电出版社C 程序设计(第三版)
7、北京邮电大学出版社C 语言程序设计案例分析清华大学出版社名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1源程序#include#include#include#include#include#defineN 100structstudentintnum;char name10;char sex;intage;char xueli30;char beizhu50;char addr30;long inttel;st100;/*定义一个结构体*/voidmenu();voidinput();voidsave(int);vo
8、iddisplay();voiddel();voidadd();voidsearch();voidsearch_num();voidsearch_name();voidsearch_sex();voidsearch_age();voidmodify();/*定义各函数*/voidmenu()/*菜单函数*/printf(网络工程 n);printf(n);printf(*班*n);printf(n);printf(*学生档案管理*n);printf(1.录入学生信息);printf(2.显示学生信息 n);printf(3.查询学生信息);printf(4.删除学生信息 n);名师资料总结-精
9、品资料欢迎下载-名师精心整理-第 4 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1printf(5.添加学生信息);printf(6.修改学生信息 n);printf(7.退出n);printf(*谢谢使用*n);printf(n);printf(n);voidmain()menu();/*调用菜单函数*/intn,flag;char a;doprintf(请选择你需要操作的步骤(1-7):n);scanf(%d,&n);if(n=1&n=7)flag=1;break;elseflag=0;printf(您输入有误,请重新选择!);while(flag=0);whil
10、e(flag=1)switch(n)case 1:printf(输入学生信息 n);printf(n);input();break;case 2:printf(显示学生信息 n);printf(n);display();break;case 3:printf(按学号查询学生信息 n);printf(n);search();break;case 4:printf(删除学生信息 n);printf(n);del();break;case 5:printf(添加学生信息 n);printf(n);add();break;case 6:printf(修改学生信息 n);名师资料总结-精品资料欢迎下载-
11、名师精心整理-第 5 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1printf(n);modify();break;case 7:exit(0);break;default:break;getchar();printf(n);printf(是否继续进行(yor n):n);scanf(%c,&a);if(a=y)flag=1;system(cls);/*清屏*/menu();/*调用菜单函数*/printf(请再次选择你需要操作的步骤(1-7):n);scanf(%d,&n);printf(n);elseexit(0);voidinput()/*录入函数*/inti,
12、m;printf(请输入需要创建信息的学生人数(1-100):n);scanf(%d,&m);for(i=0;im;i+)printf(请输入学号:);srand(int)time(0);sti.num=rand()%10000+20000000;if(sti.num!=sti-1.num)printf(%8d ,sti.num);printf(n);printf(请输入姓名:);scanf(%s,sti.name);getchar();printf(请输入性别(f-女 m-男):);scanf(%c,&sti.sex);printf(请输入年龄:);scanf(%d,&sti.age);pr
13、intf(请输入备注:);scanf(%s,&sti.beizhu);名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1printf(n);printf(n 创建完毕!n);save(m);voidsave(intm)/*保存文件函数*/inti;FILE*fp;if(fp=fopen(c:student.txt,wb)=NULL)printf(cannotopen filen);exit(0);for(i=0;im;i+)/*将内存中学生的信息输出到磁盘文件中去*/if(fwrite(&sti,sizeof(struc
14、tstudent),1,fp)!=1)printf(filewriteerrorn);fclose(fp);intload()/*导入函数*/FILE*fp;inti=0;if(fp=fopen(c:student.txt,rb)=NULL)printf(cannotopen filen);exit(0);elsedofread(&sti,sizeof(structstudent),1,fp);i+;while(feof(fp)=0);fclose(fp);return(i-1);voiddisplay()/*显示函数*/inti;intm=load();名师资料总结-精品资料欢迎下载-名师精
15、心整理-第 7 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1printf(n学号t 姓名t 性别t 年龄t 备注n);for(i=0;im;i+)/*m为输入部分的学生人数*/printf(n%dt%st%ct%dt%st%st%st%ldn,sti.num,sti.name,sti.sex,sti.age,sti.xueli,sti.beizhu,sti.addr,sti.tel);voiddel()/*删除函数*/intm=load();inti,j,n,t,flag;char name20;printf(n原来的学生信息:n);display();/*调用显示函
16、数*/printf(n);printf(请输入要删除的学生的姓名:n);scanf(%s,name);for(flag=1,i=0;flag&im;i+)if(strcmp(sti.name,name)=0)printf(n 已找到此人,原始记录为:n);printf(n 学号t 姓名t 性别t 年龄t 备注n);printf(n%dt%st%ct%dt%st%st%st%ldn,sti.num,sti.name,sti.sex,sti.age,sti.xueli,sti.beizhu,sti.addr,sti.tel);printf(n 确实要删除此人信息请按,不删除请按 n);scanf(
17、%d,&n);if(n=1)/*如果删除,则其他的信息都往上移一行*/for(j=i;jm-1;j+)strcpy(stj.name,stj+1.name);stj.num=stj+1.num;stj.sex=stj+1.sex;stj.age=stj+1.age;strcpy(stj.xueli,stj+1.xueli);strcpy(stj.beizhu,stj+1.beizhu);strcpy(stj.addr,stj+1.addr);stj.tel=stj+1.tel;flag=0;名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 15 页 -计算机与信息工程系数据库系统应
18、用设计课程设计报告1if(!flag)m=m-1;elseprintf(n 对不起,查无此人!n);printf(n浏览删除后的所有学生信息:n);save(m);/*调用保存函数*/display();/*调用显示函数*/printf(n 继续删除请按,不再删除请按n);scanf(%d,&t);switch(t)case 1:del();break;case 0:break;default:break;voidadd()/*添加函数*/FILE*fp;intn;intcount=0;inti;intm=load();printf(n原来的学生信息:n);display();/*调用显示函数
19、*/printf(n);fp=fopen(student_list,a);printf(请输入想增加的学生数:n);scanf(%d,&n);for(i=m;i=1&t=5)flag=1;break;elseflag=0;printf(您输入有误,请重新选择!);while(flag=0);while(flag=1)switch(t)case 1:printf(按学号查询 n);search_num();break;case 2:printf(按姓名查询 n);search_name();break;case 3:printf(按性别查询 n);search_sex();break;case
20、4:printf(按年龄查询 n);search_age();break;名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1case 5:main();break;default:break;voidsearch_num()intnum;inti,t;intm=load();printf(请输入要查找的学号:n);scanf(%d,&num);for(i=0;im;i+)if(num=sti.num)printf(n 已找到此人,其记录为:n);printf(n 学号t 姓名t 性别t 年龄t 备注n);printf(
21、n%dt%st%ct%dt%st%st%st%ldn,sti.num,sti.name,sti.sex,sti.age,sti.xueli,sti.beizhu,sti.addr,sti.tel);break;if(i=m)printf(n 对不起,查无此人 n);printf(n);printf(返回查询函数请按,继续查询学号请按 n);scanf(%d,&t);switch(t)case 1:search();break;case 2:break;default:break;voidsearch_name()char name10;inti,t;intm=load();printf(请输入
22、要查找的姓名:n);scanf(%s,name);for(i=0;im;i+)if(strcmp(sti.name,name)=0)名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1printf(n 已找到,其记录为:n);printf(n 学号t 姓名t 性别t 年龄t 备注n);printf(n%dt%st%ct%dt%st%st%st%ldn,sti.num,sti.name,sti.sex,sti.age,sti.xueli,sti.beizhu,sti.addr,sti.tel);if(i=m)printf(
23、n 对不起,查无此人 n);printf(n);printf(返回查询函数请按,继续查询姓名请按 n);scanf(%d,&t);switch(t)case 1:search();break;case 2:break;default:break;voidsearch_sex()char sex;inti,t;intm=load();printf(请输入要查找的性别:n);scanf(%c,sex);for(i=0;im;i+)if(sex=sti.sex)printf(n 已找到此人,其记录为:n);printf(n 学号t 姓名t 性别t 年龄t 备注n);printf(n%dt%st%ct
24、%dt%st%st%st%ldn,sti.num,sti.name,sti.sex,sti.age,sti.xueli,sti.beizhu,sti.addr,sti.tel);break;if(i=m)printf(n 对不起,查无此人 n);printf(n);printf(返回查询函数请按,继续查询性别请按 n);scanf(%d,&t);switch(t)case 1:search();break;case 2:break;名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1default:break;voids
25、earch_age()intage;inti,t;intm=load();printf(请输入要查找的年龄:n);scanf(%d,&age);for(i=0;im;i+)if(age=sti.age)printf(n 已找到此人,其记录为:n);printf(n 学号t 姓名t 性别t 年龄t 备注n);printf(n%dt%st%ct%dt%st%st%st%ldn,sti.num,sti.name,sti.sex,sti.age,sti.xueli,sti.beizhu,sti.addr,sti.tel);break;if(i=m)printf(n 对不起,查无此人 n);printf
26、(n);printf(返回查询函数请按,继续查询年龄请按 n);scanf(%d,&t);switch(t)case 1:search();break;case 2:break;default:break;voidmodify()/*修改函数*/intnum;char name10;char sex;intage;char xueli30;char beizhu50;char addr30;long inttel;intb,c,i,n,t,flag;intm=load();/*导入文件内的信息*/名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 15 页 -计算机与信息工程系数据
27、库系统应用设计课程设计报告1printf(n原来的学生信息:n);display();/*调用显示函数*/printf(n);printf(请输入要修改的学生的姓名:n);scanf(%s,name);for(flag=1,i=0;flag&i8|c1)printf(n 选择错误,请重新选择!n);flag=0;if(flag=1)printf(n 对不起,查无此人!n);doswitch(c)/*因为当找到第 i 个学生时,for 语句后i 自加了,所以下面的应该把改后的信息赋值给第i-1 个人*/case 1:printf(学号改为:);scanf(%d,&num);sti-1.num=n
28、um;break;case 2:printf(姓名改为:);scanf(%s,name);strcpy(sti-1.name,name);break;case 3:printf(性别改为:);getchar();scanf(%c,&sex);名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 15 页 -计算机与信息工程系数据库系统应用设计课程设计报告1sti-1.sex=sex;break;case 4:printf(年龄改为:);scanf(%d,&age);sti-1.age=age;break;case 6:printf(备注改为:);scanf(%s,beizhu);break;printf(n);printf(n 是否确定所修改的信息?n是请按;不,重新修改请按:n);scanf(%d,&b);while(b=2);printf(n 显示修改后的所有学生信息:n);printf(n);save(m);display();printf(n 继续修改请按,不再修改请按n);scanf(%d,&t);switch(t)case 1:modify();break;case 0:break;default:break;名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 15 页 -