《郑州大学C语言课程设计》由会员分享,可在线阅读,更多相关《郑州大学C语言课程设计(16页珍藏版)》请在金锄头文库上搜索。
1、学生个人信息管理负责人:*学号:*日期: 2011.08.301.设计目的:设计目的:学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试 设计一学生信息管理系统,使之能提供以下功能: 1.系统以菜单方式工作 2.学生信息录入功能-输入 3.学生信息浏览功能-输出 4.查询、排序功能-算法 按学号查询 按姓名查询 5.学生信息的删除与修改(可选项)2. 详细设计:void look():声明查看函数 void save():声明保存函数 void search_name(): 声明按姓名查看函数 void search_number():声明按学号
2、查看函数 void order():声明排序函数 void del():声明删除函数 int openl():声明打开函数 void welcome():声明我的个人信息函数 void type():声明输入函数 void see():声明打开并查看文件函数 3.程序运行1.通过printf函数进入主菜单开始键入学生信 息查看录入学 生信息按姓名查询 学生信息按学号查询 学生信息删除学生信 息保存学生信 息打开文件我的个人信 息结束2.按相应的数字提示完成你想进行的操作,例如,输入选择8,效果如下:3.程序源代码如下:void personal_bao(num4 personal,int pe
3、rsonalcount) int i=0;FILE *fp; /*定义文件指针*/char filename100; /*定义文件名*/ printf(“t输入文件名(如d:tet.txt):“); /*输入文件名*/scanf(“t%s“,if(fp=fopen(filename,“w“)=NULL) /*打开文件*/printf(“t无法打开该文件n“);system(“pause“);return;fprintf(fp,“%dn“,personalcount); /*循环写入数据*/while(ipersonalcount)fprintf(fp,“%-10s%-10s%-10s%-10s
4、%-10s%-10s%-10s%-10s%-10s%-10sn“,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nationality); i+;i+;fclose(fp); /*关闭文件*/printf(“写入成功!n“); /*返回成功信息*/*学生个人信息-9. 从你的文件中读入所有的学生信息 */int personal_qu(num4
5、personal,int personalcount) /*从文件中读入数据*/int i=0,num;FILE *fp; /*定义文件指针*/char filename20; /*定义文件名*/printf(“t输入文件名(如d:tet.txt):“);scanf(“t%s“, /*输入文件名*/if(fp=fopen(filename,“r“)=NULL) /*打开文件*/printf(“t无法打开该文件n“); /*打开失败信息*/printf(“t“);system(“pause“);return(personalcount);fscanf(fp,“%d“, /*读入总记录量*/whi
6、le(inum) /*循环读入数据*/fscanf(fp,“%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10sn“,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nationality); i+;i=i+1; personalcount+=num;fclose(fp); /*关闭文件*/print
7、f(“t读入成功!n“);printf(“t“);return(personalcount);/*学生个人信息- 我的个人信息函数*/void welcome() /*我的个人信息函数*/system(“CLS“);printf(“nntt-个人信息-“); /*在屏幕上输出一下信息*/printf(“nnnntt姓名:*“);printf(“tttSex:女n“);printf(“tt年龄:18n“);printf(“nttt-学习经历-nnn“);printf(“tt小学:五小nn“);printf(“tt初中:二中nn“);printf(“ttS高中:高中nn“);printf(“tt大
8、学:郑州大学nn“);printf(“nntt按任意键返回欢迎屏幕!“);getch(); /*按任意键返回主函数*/*学生个人信息- 录入学生信息*/ int type( num4 personal,int personalcount) /*定义键入学生信息函数*/ system(“CLS“);int i=0; /*定义局部变量*/char sign,x10; /*x10为清除多余的数据所用*/while(sign!=nprintf(“ttt学号:“);scanf(“%s“,personali.studentID); /*输入学号*/printf(“ttt姓名:“);scanf(“%s“,p
9、ersonali.name); /*输入姓名*/printf(“ttt性别:“);scanf(“%s“,personali.sex); /*输入性别*/printf(“ttt出生日期:“);scanf(“%s%s%s“,personali.year,personali.month,personali.day); /*出生日期*/printf(“ttt电话:“);scanf(“%ld“,personali.tel); /*输入电话*/printf(“ttt地址:“);scanf(“%s“,personali.addr); /*输入地址*/printf(“ttt电子信箱:“);scanf(“%s“
10、,personali.email); /*输入电子信箱*/printf(“ttt民族:“);scanf(“%s“,personali.nationality); /*输入民族*/gets(x); /*清除多余的输入*/printf(“t是否继续输入?(Y/N)“);scanf(“t%c“, /*输入判断*/i+; /*结构体数组下标加一*/ printf(“nnttt按任意键返回菜单!“);return (personalcount+i);/*学生个人信息- 定义查看信息*/ void look(num4 personal,int personalcount) /*定义查看函数*/ syste
11、m(“CLS“);int i;/n=openl(); /*调用openl函数*/printf(“t学号t姓名t性别t出生日期t电话t地址t电子信箱t民族n“);for(i=0;ipersonalcount;i+) /*输出所有的学生信息*/printf(“%10st%st%2st%st%st%st%st%st%st%sn“,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.emai
12、l,personali.nationality);printf(“nnnttt按任意键返回菜单“);getch();getch();/*学生个人信息- 按姓名查看*/ void personal_search_name(num4 personal,int personalcount) /*按姓名查看函数*/ system(“CLS“);int i,m=0;char name20; /*声明字符数组*/printf(“ttt请输入学生姓名:n“);scanf(“%s“,name);for(i=0;ipersonalcount;i+)if(strcmp(personali.name,name)=0) /*将输入的姓名与结构体中的姓名进行比较*/ printf(“t学号t姓名t性别t出生日期t电话t地址t电子信箱t民族n“);printf(“%10st%st%2st%st%st%st%st%st%st%sn“,personali.studentID,personali.name,personali.sex,personali