编程高手之路―代码集萃―笔记本赠送_第1页
编程高手之路―代码集萃―笔记本赠送_第2页
编程高手之路―代码集萃―笔记本赠送_第3页
编程高手之路―代码集萃―笔记本赠送_第4页
编程高手之路―代码集萃―笔记本赠送_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编程高手之路代码集萃笔记本赠送#include #include main()void pass(),friend(),thing(),class(),pass2(),aboutme();int compass();char choose10;printf(nnnnnn欢 迎 使 用【平凡普通】笔 记 本(版本1.0)n);printf(_nn);pass();while(1)printf(n1. 通迅录);printf( 2. 备忘录tn);printf(3. 课程表);printf( 4. 设置或自己修改密码tn);printf(5. 关于 ); printf( 6. 退出n);print

2、f(n请输入要进行操作的序号:);scanf(%s,choose);if(!strcmp(choose,1) friend();else if(!strcmp(choose,2) thing();else if(!strcmp(choose,3) class();else if(!strcmp(choose,4) pass2();else if(!strcmp(choose,5) aboutme();else if(!strcmp(choose,6)printf(谢谢使用,已经退出!nn);exit(0);else printf(无此操作!请重新输入!nn);void aboutme()cha

3、r s10;printf(nnt欢迎使用【平凡普通】笔记本,这是在学习c语言过程中的一个作品,nn);printf(虽然是比较的简单,可是也是颇费了我的一番心血,希望本笔记本可以为您nn);printf(带来一些方便,这就是我最大的心愿.nnn);printf(t这是本笔记本系列的第一个版本,如果有您的支持,我会陆续推出nn);printf(更高的版本,谢谢了! nnn);printf(t如有疑问,可以与我联系:.n);printf(t欢迎访问编程天地:nnnnn);printf(输入任意字符退回:);scanf(%s,s);return;

4、void pass()file *fp;char password20;int compass();if(fp=fopen(key.bat,rb)=null) return;elsefclose(fp);while(1) printf(请输入密码:);scanf(%s,password);if(compass(password)=1) printf(nnnnnnnnnnnnnnnnnnn);return;void pass2()void firpass();int compass();file *fp;int choose;char password20,newword20;if(fp=fop

5、en(key.bat,rb)=null)printf(笔记本还没有密码,是否要新建(是输入1,否输入2)?);scanf(%d,&choose);switch(choose)case 1 :firpass();break;case 2:return;default:printf(无此操作,已退出密码设置!n);elseif(fp=fopen(key.bat,rb)=null)printf(无法打开密码文件,已退出密码设置!n);return;fclose(fp);printf(请输入旧密码:);scanf(%s,password);if(compass(password)=1)printf(请

6、输入新的密码(分大小写,可以用汉字),并牢记:);scanf(%s,newword);if(fp=fopen(key.bat,wb)=null)printf(无法设置新的密码,已退出密码的设置!n);return;if(fwrite(newword,20,1,fp)!=1)printf(无法存入新的密码!n);return;fclose(fp);printf(密码设置成功!n);return;void firpass()file *fp;int password20;printf(请输入新的密码(分大小写,可以用汉字):);scanf(%s,password);if(fp=fopen(key.

7、bat,wb)=null) printf(无法新建密码文件!n);return;if(fwrite(password,20,1,fp)!=1) printf(无法存入新密码!n);fclose(fp);return;fclose(fp);printf(成功新建密码!n);return;int compass(char password20)file *fp;char word20;if(fp=fopen(key.bat,rb)=null)printf(密码文件已经损坏!请与我联系:n);return(0);if(fread(word,20,1,fp)!=1)printf

8、(密码文件已经损坏!请与我联系:n);return(0);fclose(fp);if(strcmp(word,password)printf(n* * * 密码出错!已退出! * * *nn);exit(0);return(1);struct frichar name10;char tel20;char address50;char e_mail35;char url35;char other50;struct fri *next;void friend()file *fp;void del1(),reset1(),new1(),putout1(),firstfri()

9、;char choose10;if(fp=fopen(friend,rb)=null)firstfri();if(fp=fopen(friend,rb)!=null)fclose(fp);while(1)putout1();scanf(%s,choose);if(!strcmp(choose,1) new1();else if(!strcmp(choose,2) del1();else if(!strcmp(choose,3) reset1();else if(!strcmp(choose,4) return;else printf(无此操作!n);void new1()struct fri

10、*head,*p1,*p2,*new;void firstfri();struct fri *creatlink();file *fp;new=(struct fri *)malloc(sizeof(struct fri);p2=p1=head=creatlink();if(p2=null)firstfri();return;while(p1!=null)p2=p1;p1=p1-next;printf(请输入朋友的姓名:);scanf(%s,new-name);printf(请输入朋友的电话:);scanf(%s,new-tel);printf(请输入朋友的地址:);scanf(%s,new-

11、address);printf(请输入朋友的e_mail:);scanf(%s,new-e_mail);printf(请输入朋友个人主页的网址:);scanf(%s,new-url);printf(若有其它信息,请输入(不得超过25个汉字):);scanf(%s,new-other);p2-next=new;new-next=null;if(fp=fopen(friend,wb)=null)printf(无法将新记录写入文件!nn);return;p1=head;while(p1!=null)if(fwrite(p1,sizeof(struct fri),1,fp)!=1)printf(无法写

12、入新记录!nn);fclose(fp);return;p1=p1-next;fclose(fp);printf(成功将该朋友资料存入通迅录!nn);return;void del1()int choose,i=1;file *fp;struct fri *head,*p1,*p2,*p3;char real10;p2=p1=head=creatlink();printf(请输入要删除朋友记录的序号:);scanf(%d,&choose);while(inext!=null)p2=p1;p1=p1-next;i+;if(i=choose)printf(真的要删除(否输入1,其它字符代表是)?);

13、scanf(%s,real);if(!strcmp(real,1) return;if(p2=head) head=p2-next;else p2-next=p1-next;if(fp=fopen(friend,wb)=null)printf(无法删除,磁盘出错!nn);return;p3=head;while(p3!=null)if(fwrite(p3,sizeof(struct fri),1,fp)!=1)printf(无法删除!文件存贮出错!nn);return;p3=p3-next;fclose(fp);printf(已经删除该朋友资料!nn);return;else printf(没

14、有找到该朋友资料,请确认输入是否正确!nn);return;void reset1()struct fri *head,*p1,*p2;file *fp;int i=1;int choose;char chose10;head=creatlink();p1=head;if(fp=fopen(friend,wb)=null)printf(无法进行修改,磁盘出错!nn);return;printf(请输入要进行修改的朋友的序号:);scanf(%d,&choose);while(inext;i+;if(i!=choose) printf(没有找到该朋友的记录,请确认输入是否正确!);return;

15、printf(1.姓名 2.电话 3.地址 4.e_mail 5.主页网址 6.其它信息nn);printf(请输入要进行修改资料的序号:);scanf(%s,chose);if(!strcmp(chose,1)printf(请输入该朋友姓名:);scanf(%s,p1-name);else if(!strcmp(chose,2)printf(请输入该朋友的电话:);scanf(%s,p1-tel);else if(!strcmp(chose,3)printf(请输入该朋友的地址:);scanf(%s,p1-address);else if(!strcmp(chose,4)printf(请输入

16、该朋友的e_mail:);scanf(%s,p1-e_mail);else if(!strcmp(chose,5)printf(请输入该朋友的主页网址:);scanf(%s,p1-url);else if(!strcmp(chose,6)printf(请输入该朋友的其它信息(不得超过25个汉字):);scanf(%s,p1-other);else printf(无此项资料!nn);return;p2=head;while(p2!=null)if(fwrite(p2,sizeof(struct fri),1,fp)!=1)printf(无法进行存贮!nn);fclose(fp);return;p

17、2=p2-next;fclose(fp);printf(已经成功的修改了该朋友的记录!nn);return;void firstfri()file *fp;char pass10;struct fri *head;head=(struct fri *)malloc(sizeof(struct fri);printf(通迅录中尚无记录,是否新增(若否输入1,若是可输入其它任意字符)?);scanf(%s,pass);if(!strcmp(pass,1) return;if(fp=fopen(friend,wb)=null) printf(无法新建通迅录,磁盘出错!);return;printf(

18、* * * 输入该同学的资料,没有的请输入无或是no* * *n);printf(请输入该朋友的名字:); scanf(%s,head-name);printf(朋友的电话:);scanf(%s,head-tel);printf(朋友的住址:);scanf(%s,head-address);printf(朋友的e-mail:);scanf(%s,head-e_mail);printf(朋友主页的网址:);scanf(%s,head-url);printf(朋友的其它信息(不得超过25个汉字):);scanf(%s,head-other);head-next=null;if(fwrite(hea

19、d,sizeof(struct fri),1,fp)!=1)printf(无法新建通迅录,磁盘损坏或已满!n);fclose(fp);return;fclose(fp);printf(已经成功新建通迅录!n);return;void putout1()file *fp;struct fri *p,*head;struct fri *creatlink();int i=0;printf(nnt* * * * * * 通 迅 录 * * * * * *n);printf(-nn);head=creatlink();p=head;while(p!=null)printf(%d. %s (电话)%s

20、(地址)%s ,+i,p-name,p-tel,p-address);printf( (e_mail)%s n (主页)%s,p-e_mail,p-url);printf( (备注)%sn,p-other);p=p-next;printf(-n);printf(1.新建 2.删除 3.修改 4.退出n);printf(请输入要进行的操作序号:);return;struct fri *creatlink()file *fp;int n=0;struct fri *head,*p1,*p2;if(fp=fopen(friend,rb)=null)printf(无法读入通迅录,磁盘损坏或是其它故障!

21、n);exit(0);p1=p2=(struct fri *)malloc(sizeof(struct fri);head=null;while(fread(p1,sizeof(struct fri),1,fp)=1)n+=1;if(n=1) head=p1;else p2-next=p1;p2=p1;p1=(struct fri *)malloc(sizeof(struct fri);fclose(fp);p2-next=null;return(head);struct eventchar date20;char thing200;struct event *next;void thing(

22、)file *fp;char choose10;void firstthing(),putout2(),newthing(),delthing();if(fp=fopen(things.bat,rb)=null) firstthing();if(fp=fopen(things.bat,rb)!=null)fclose(fp);while(1)putout2();scanf(%s,choose);if(!strcmp(choose,1) newthing();else if(!strcmp(choose,2) delthing();else if(!strcmp(choose,3) return

23、;else printf(没有此操作,请重新输入!nn);void firstthing()file *fp;char choose10;struct event *first;printf(目前备忘录中尚无记录,是否需要新增(否输入1,其它字符代表是)?);scanf(%s,choose);if(!strcmp(choose,1) return;if(fp=fopen(things.bat,wb)=null)printf(无法新建备忘录!磁盘出错,已退出!n);exit(0);first=(struct event *)malloc(sizeof(struct event);printf(请

24、输入该件事的时间:);scanf(%s,first-date);printf(再输入该件事的具体内容(不得超过100个汉字):);scanf(%s,first-thing);first-next=null;if(fwrite(first,sizeof(struct event),1,fp)!=1)printf(无法存贮新的备忘事件!n);return;fclose(fp);printf(已成功将该事件记入备忘录!n);return;void putout2()struct event *creat1();struct event *p1;int i=0;printf(nnn* * * * *

25、备 忘 录 * * * * * nn);printf(-nn);p1=creat1();while (p1!=null)printf(%d) *时间* %sn,+i,p1-date);printf( *事件* %sn,p1-thing);p1=p1-next;printf(n-nn);printf(1.新增 2.删除 3.退出nn);printf(请输入要进行操作的序号:);return;struct event *creat1()file *fp;int n=0;struct event *head,*p1,*p2;if(fp=fopen(things.bat,rb)=null)printf

26、(文件读入出错,已退出!n);exit(0);p2=p1=head=(struct event *)malloc(sizeof(struct event);head=null;while(fread(p1,sizeof(struct event),1,fp)=1)n+=1;if(n=1) head=p1;else p2-next=p1;p2=p1;p1=(struct event *)malloc(sizeof(struct event);fclose(fp);p2-next=null;return(head);void delthing()file *fp;struct event *hea

27、d,*p1,*p2,*p3;int choose;int i=1;char s10;p2=p1=head=creat1();if(p2=null) printf(备忘录中没有文件可以删除!n);return;printf(请输入欲删除备忘事件的序号:);scanf(%d,&choose);while(inext!=null)p2=p1;p1=p1-next;i+;if(i=choose)if(fp=fopen(things.bat,wb)=null)printf(无法打开备忘录文件,磁盘出错!n);return;printf(真的要删除(否输入1,其它任意字符代表是)?);scanf(%s,s

28、);if(!strcmp(s,1) return;if(p2=head) head=p2-next;else p2-next=p1-next;p3=head;while(p3!=null)if(fwrite(p3,sizeof(struct event),1,fp)!=1)printf(无法存贮,已退出!n);return;p3=p3-next;fclose(fp);printf(已成功将该事件删除!n);return;elseprintf(没有找到该事件,请确认输入是否正确!n);return;void newthing()struct event *head,*p1;file *fp;st

29、ruct event *new;p1=head=creat1();if(head=null) firstthing();return;while(p1-next!=null) p1=p1-next;new=(struct event *)malloc(sizeof(struct event);p1-next=new;if(fp=fopen(things.bat,wb)=null)printf(无法新建备忘事件,磁盘出错!);return;printf(请输入新的备忘事件的时间:);scanf(%s,new-date);printf(请输入新的备忘事件的具体内容:n);scanf(%s,new-

30、thing);new-next=null;p1=head;while(p1!=null)if(fwrite(p1,sizeof(struct event),1,fp)!=1)printf(无法存贮新的备忘事件!nn);return;p1=p1-next;fclose(fp);printf(成功将新的备忘事件存入!nn);return;void class()file *fp;char classes5310;int day,noon;char new10;void first(),del(),reset(),putclass();char task10;if(fp=fopen(lesson,r

31、)=null)printf(目前课程表中尚无课程记录,是否新建(是输入1,否输入2)?);scanf(%s,new);fclose(fp);if(!strcmp(new,1) first();else if(!strcmp(new,2) return;else printf(无此操作!n);printf(已退出课程表n);return;if(fp=fopen(lesson,r)!=null)fclose(fp);while(1)putclass();scanf(%s,task);if(!strcmp(task,1) reset();else if(!strcmp(task,2) del();e

32、lse if(!strcmp(task,3) return;else printf(无此项操作!n);void putclass()int day,noon;char classes5310;file *fp;if(fp=fopen(lesson,rb)=null)printf(无法打开课程表!);return;for(day=0;day5;+day)for(noon=0;noon3;+noon)if(fread(classesdaynoon,10,1,fp)!=1) break;fclose(fp);printf(nnt课 程 表 n);printf(_nn);printf(t 星期一 星期

33、二 星期三 星期四 星期五);printf(nn-上午-n);for(noon=0;noon2;+noon)printf(t );for(day=0;day5;+day) printf(%s,classesdaynoon);printf(t ); printf(nn);printf(n-下午-nt );for(day=0;day5;+day)printf(%st ,classesday2);printf(n_nn);printf(1.修改 2.删除 3.退出nn);printf(请输入操作序号:);return;void reset()int day,noon,i,j;char new10;file *fp;char classes5310;printf(请输入要修改的星期几的第几节课(上午共两节,下午是一节).);printf(n用阿拉伯数字,中间用逗号隔开:);scanf(%d,%d,&day,&noon);if(fp=fopen(lesson,rb)=null)printf(文件出错!);return;for(i=0;i5;i+)for(j=0;j3;j+)if(fread(classesij,10,1,fp)!=1)fclose(fp); break;fclose(fp);if(fp=fopen(lesson,wb)=n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论