学生籍贯信息记录簿系统课程设计源代码(17页).doc
《学生籍贯信息记录簿系统课程设计源代码(17页).doc》由会员分享,可在线阅读,更多相关《学生籍贯信息记录簿系统课程设计源代码(17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-+64编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的籍贯信息; (3)按学号或姓名查询其籍贯; (4)按籍贯查询并输出该籍贯的所有学生; (5)能添加、删除和修改学生的籍贯信息;#include dos.h#include stdio.h#include stdlib.h#include conio.h#include math.h#include string.h /*建立链表*/struct hj int age; long number; char name10,address50
2、,sex2; struct hj *next;/*文件操作函数*/FILE *fp;void openfile(char xx20) fp=fopen(xx,ab+); if(fp=NULL) fp=fopen(xx,wb);/*录入信息函数*/void hjnew(void) system(cls); int n=0,xage; long xnumber; char xname10; char xaddress50; char xsex2; struct hj *head; struct hj *x1,*x2; head=NULL; x2=NULL; printf(n 欢迎使用户籍管理系统n
3、); printf(n 录入信息n); printf(n 提示输入0返回上级菜单nnn); printf(n 请输入学号【15字内】:); scanf(%ld,&xnumber); if(xnumber=0) goto haha; printf(n 请输入姓名【10字内】:); scanf(%s,xname); printf(n 请输入年龄【|-_-|】:); scanf(%d,&xage); printf(n 请输入性别【男OR女】:); scanf(%s,xsex); printf(n 请输入籍贯【25字内】:); scanf(%s,xaddress); while(xnumber!=0)
4、 n+; x1=(struct hj *)malloc(sizeof(struct hj); x1-number=xnumber; strcpy(x1-name,xname); strcpy(x1-sex,xsex); x1-age=xage; strcpy(x1-address,xaddress); if(n=1) head=x1; else x2-next=x1; x2=x1; printf(n 请输入学号【15字内】:); scanf(%ld,&xnumber); if(xnumber=0) break; printf(n 请输入姓名【10字内】:); scanf(%s,xname);
5、printf(n 请输入年龄【|-_-|】:); scanf(%d,&xage); printf(n 请输入性别【男OR女】:); scanf(%s,xsex); printf(n 请输入籍贯【25字内】:); scanf(%s,xaddress); x2-next=NULL; x1=head; while(x1!=NULL) openfile(hj.txt); char d5=四川; fwrite(x1,sizeof(struct hj),1,fp); fclose(fp); if(strstr(x1-address,d)!=NULL) openfile(schj.txt); fwrite(
6、x1,sizeof(struct hj),1,fp); fclose(fp); else openfile(qthj.txt); fwrite(x1,sizeof(struct hj),1,fp); fclose(fp); x1=x1-next; haha:;/*查询函数*/void hjxmselect(void) /按学号方式查询函数ssmmx: int n=0; long hh; system(cls); printf(n 欢迎使用户籍管理系统n); printf(n 查询编辑信息n); printf(n 提示输入0返回上级菜单nnn); printf( 请您输入学号:); scanf(
7、%ld,&hh); if(hh!=0) struct hj *p; struct hj *q=NULL,*head=NULL; fp=fopen(hj.txt,rb); if(fp=NULL) printf(n没有记录,请输入记录然后再查询!); getch(); goto jjx; while(!feof(fp) n+; p=(struct hj *)malloc(sizeof(struct hj); fread(p,sizeof(struct hj),1,fp); if(n=1) head=p; else q-next=p; q=p; q-next=NULL; p=head; while(
8、p!=NULL) if(p-number=hh) int a; printf(n 结 果 学号=%ld 姓名=%s 年龄=%d 性别=%s ,p-number,p-name,p-age,p-sex); printf(n 地址=%s,p-address); printf(nn 操 作 更改数据 删除数据 查询其他数据 返回上页 退出程序nn 请您选择操作:);ssmx: scanf(%d,&a); switch(a) void hjedit(struct hj *headd,struct hj *pp); void hjdelete(struct hj *headdd,struct hj *ss
9、); case 1: hjedit(head,p); goto ssmmx;break; case 2: hjdelete(head,p); goto ssmmx;break; case 3: goto ssmmx; case 4: goto jjx; case 5:exit(0); default:printf(n 错误的选择,请重新选择:); goto ssmx; else p=p-next; int iiii=0; printf(n 没有此记录 1.重新查询 2.返回上一页 3.退出程序!); printf(n 请选择:);qqqq: scanf(%d,&iiii); switch(ii
10、ii) case 1: goto ssmmx; case 2: goto jjx; case 3: exit(0); default: printf(n 错误的选择,请重新选择:); goto qqqq; goto jjx; jjx:;void hjxhselect(void)/按姓名方式查询函数ssmm: int n=0; char hh10; system(cls); printf(n 欢迎使用户籍管理系统n); printf(n 查询编辑信息n); printf(n 提示输入0返回上级菜单nnn); printf( 请您输入姓名:); scanf(%s,hh); if(strcmp(hh
11、,0)!=0) struct hj *p; struct hj *q=NULL,*head=NULL; fp=fopen(hj.txt,rb); if(fp=NULL) printf(n没有记录,请输入记录然后再查询!); getch(); goto jjj; while(!feof(fp) n+; p=(struct hj *)malloc(sizeof(struct hj); fread(p,sizeof(struct hj),1,fp); if(n=1) head=p; else q-next=p; q=p; q-next=NULL; p=head; while(p!=NULL) if(
12、strcmp(p-name,hh)=0) int a; printf(n 结 果 学号=%ld 姓名=%s 年龄=%d 性别=%s ,p-number,p-name,p-age,p-sex); printf(n 地址=%s,p-address); printf(nn 操 作 更改数据 删除数据 查询其他数据 返回上页 退出程序nn 请您选择操作:);ssm: scanf(%d,&a); switch(a) void hjedit(struct hj *headd,struct hj *pp); void hjdelete(struct hj *headdd,struct hj *ss); ca
13、se 1: hjedit(head,p); goto ssmm;break; case 2: hjdelete(head,p); goto ssmm;break; case 3: goto ssmm; case 4: goto jjj; case 5:exit(0); default:printf(n 错误的选择,请重新选择:); goto ssm; else p=p-next; int iii=0; printf(n 没有此记录 1.重新查询 2.返回上一页 3.退出程序!); printf(n 请选择:);qqq: scanf(%d,&iii); switch(iii) case 1: g
14、oto ssmm; case 2: goto jjj; case 3: exit(0); default: printf(n 错误的选择,请重新选择:); goto qqq; goto jjj; jjj: ;void hjjgselect(void)/按籍贯方式查询yyy: int i; system(cls); printf(n 欢迎使用户籍管理系统n); printf(n 籍贯方式查询信息nnn); printf(n 一 显示所有信息n); printf(n 二 显示四川籍所有信息n); printf(n 三 显示其它籍所有信息n); printf(n 四 自定义查询信息n); print
15、f(n 五 返回上级菜单n); printf(n 六 退出程序n); printf(nn 请选择:); scanf(%d,&i); switch(i) void zdyselect(void); void allselect(char a8); case 1:allselect(hj.txt); goto yyy;break; case 2: allselect(schj.txt); goto yyy;break; case 3: allselect(qthj.txt); goto yyy;break; case 4: zdyselect(); case 5: break; case 6: e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 籍贯 信息 记录簿 系统 课程设计 源代码 17
限制150内