| 查看: 3818 | 回复: 22 | |||
[交流]
【求助】自己写的C语言,突然想看看C++是什么,求助一下。还有C语言和C++有什么区别啊已有21人参与
|
|||
|
#include #include #include #include #define N 3 struct student { char name[10]; char no[10]; char sex; int age; char bnote[100]; }; void print(bool menu)//打印基本信息 { if (!menu) { printf("学生基本信息录入 ,press 1\n"); } else { printf("学生基本信息显示 ,press 2\n"); printf("学生基本信息保存 ,press 3\n"); printf("学生基本信息删除 ,press 4\n"); printf("学生基本信息修改 ,press 5\n"); printf("学生基本信息查询 ,press 6\n"); } printf("退出学生信息系统 ,press 7\n"); } bool Check(char pas[6])//密码验证 { FILE *fp; char ch; char a[7]={" "}; int i = 0; if ((fp=fopen("c:\\1.txt","r"))==NULL) { printf("打开文件失败!\n"); exit(0); } ch=fgetc(fp); while (ch!=EOF&&i<6) { a = ch; ch=fgetc(fp); i++; } a[6] = '\0'; if (!strcmp(pas,a)) { return true; } else { printf("密码错误\n"); return false; } fclose(fp); } void GetInfo(struct student *arr,int n)//学生基本信息录入 { for (int i = 0;i printf("输入学生的基本信息:name no sex age bnote\n"); scanf("%s %s %c %d %s",arr.name,arr.no,&arr.sex,&arr.age,arr.bnote); } } void Display(struct student* arr,int n)//学生基本信息显示 { printf("学生信息: Name NO Sex age Note\n"); for (int i = 0;i printf("%15s%15s%15c%15d%15s\n",arr.name,arr.no,arr.sex,arr.age,arr.bnote); } } void Save(struct student* arr,int n)//学生基本信息保存,保存在c:\\student.txt { FILE * fp; fp= fopen("c:\\student.txt","w+"); if (fp == NULL) { printf("文件不存在!\n"); exit(0); } fwrite(arr,sizeof(struct student)*n,n,fp); fclose(fp); } void Modfiy(struct student* arr,int n)//学生基本信息修改 { char number[10]; bool flag=false; char pass[6]; printf("请输入密码:\n"); scanf("%s",pass); if (Check(pass)) { printf("修改学生信息:\n"); printf("请输入学号:\n"); scanf("%s",number); for (int i =0;i if (!strcmp(number,arr.no)) { printf("infor: name no sex age note\n"); printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); printf("please input information:\n"); scanf("%s%s%c%d%s",arr.name,arr.no,&arr.sex,&arr.age,arr.bnote); Save(arr,n); flag = true; } } if (flag == false) { printf("该学生不存在!:\n"); } } } void Delete(struct student* arr,int n)//学生基本信息删除 { char number[10]; bool flag=false; printf("Delete information:\n"); printf("please input the no:\n"); scanf("%s",number); for (int i =0;i if (!strcmp(number,arr.no)) { strcpy(arr.name," "); strcpy(arr.no," "); strcpy(arr.bnote," "); arr.sex = ' '; arr.age = 0; Save(arr,n); flag = true; } } if (flag == true) { printf("该学生不存在!:\n"); } } void Search(struct student* arr,int n)//学生基本信息查询 { int temp,i; bool flag=false; printf("---------------通过学号查询,press 1-------------\n"); printf("---------------通过姓名查询,press 2-----------\n"); printf("---------------通过性别查询,press 3------------\n"); printf("---------------通过年龄查询,press 4------------\n"); printf("---------------退出,press 5 ------------\n"); scanf("%d",&temp); switch (temp) { case 1://按照学号查询 { char num[10]; printf("请输入学号:\n"); scanf("%s",num); for ( i =0;i if (!strcmp(num,arr.no)) { printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("该学生不存在.\n"); } } break; case 2://按照名字查询 { char num[10]; printf("please input name:\n"); scanf("%s",num); for ( i =0;i if (!strcmp(num,arr.name)) { printf("%12s%12s%12c%12d%12s",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("该学生不存在.\n"); } } break; case 3://按照性别查询 { char ch; printf("请输入性别:\n"); //scanf("%c",&ch); ch = getch(); for ( i =0;i if (ch == arr.sex) { printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("t该学生不存在.\n"); } } break; case 4://按照年龄查询 { char num_age; printf("请输入年龄:\n"); scanf("%d",&num_age); for ( i =0;i if (num_age == arr.age) { printf("%12s%12s%12c%12d%12s\n",arr.name,arr.no, arr.sex,arr.age,arr.bnote); flag = true; } } if (!flag) { printf("该学生不存在.\n"); } } break; default: break; } } void main() { struct student arr[N]; char ps[6]; bool flag =false; printf("请输入密码:\n"); scanf("%s",ps); flag = Check(ps); if (flag) { int select; print(false); scanf("%d",&select); while (0 { switch (select) { case 1: GetInfo(arr,N); print(true); break; case 2: Display(arr,N); print(true); break; case 3: Save(arr,N); print(true); break; case 4: Delete(arr,N); print(true); break; case 5: Modfiy(arr,N); print(true); break; case 6: Search(arr,N); print(true); break; default: break; } printf("请选择:\n"); scanf("%d",&select); } } } |
» 猜你喜欢
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有7人回复
申请2026年博士
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有5人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有6人回复
2025冷门绝学什么时候出结果
已经有7人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助三元函数二阶偏微分C语言写法
已经有10人回复
【分享】C++捷径教程——解决C语言的难题【已搜索无重复】
已经有74人回复
【求助】C++编写的图像压缩的程序
已经有13人回复
【求助】本人对C语言有一点基础,打算学习一VC,请各位推荐几本经典入门教材
已经有17人回复
【求助】怎么装visual C++编译器?
已经有4人回复
【求助】c++如何发布独立的程序?
已经有15人回复
【求助】求将c语言改写为C++,求教高人啊!
已经有6人回复
【求助】帮我编个程啊~C语言,C++,Matlab,VB...都行~
已经有14人回复
【求助】学通信的c++很重要吗?希望大家给点建议
已经有41人回复
求助C语言有限元一维、二维、矩形网格以及三角形网格程序
已经有4人回复

7楼2010-09-26 09:37:46

3楼2010-09-21 09:32:53
yalefield
金虫 (文坛精英)
老汉一枚
- 程序强帖: 3
- 应助: 129 (高中生)
- 贵宾: 0.17
- 金币: 21238.9
- 散金: 3440
- 红花: 66
- 帖子: 12101
- 在线: 759.1小时
- 虫号: 96063
- 注册: 2005-10-07
- 专业: 高等教育学
- 管辖: 计算模拟
原来是个阴谋!
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):又有故事看了! 2010-09-21 11:06:10
ajian04(金币+1):欢迎交流~ 2010-10-07 07:53:35
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):又有故事看了! 2010-09-21 11:06:10
ajian04(金币+1):欢迎交流~ 2010-10-07 07:53:35
|
在1998年的元旦,Bjarne Stroustrup(C++之父)接受了IEEE《计算机》杂志记者的专访。编辑很自然的认为他会对于过去七年来使用他创建的语言进行面对对象设计做一个历史性的回顾。而在这个专访中,记者获得了更有价值的新闻,但是最后编辑决定为了整个IT产业,这个稿子不能发表!。 但是就像其它被砍掉的新闻,往往还是弄得路人皆知的。这一篇适当时专访的完全拷贝,没有被编辑、删改或者做过什么润色处理,也没有发布过,可能看起来不像常见的杂志文章,但这是实情。你会发现真正引人入胜的地方... ...... 记者: 您在几年前你改变了软件设计世界的面貌,现在再回首往事您有什么感想? Stroustrup: 事实上我在你到来之前的这些天里一直在考虑这件事,你还记得几乎所有的人都在写C程序那会儿吗?麻烦的是这些人写得太好了,而且那些个大学也都在努力的传授C编程技术。的确他们是十分的成功——我要特别的指出“成功”这个词——因为这种显著的C程序员的培养效率,这就是产生问题的原因。 记者: 这难道是个问题吗? Stroustrup: 当然,你记得大家都在用Cobol语言写程序的时候吗? 记者: 哦,当然,当时我也一样。 Stroustrup: 在一开始的时候,这些人简直象半个上帝似的拿着高工资,享受着贵族一样的待遇。 记者: 唉,那些日子多么的让人怀念,是吧? Stroustrup: 当然了。但是接着发生了什么?IBM觉得这样不舒服,就投资了数百万来培养程序员,直到程序员多得一毛钱就可以雇一打。 记者: 这就是为什么当时我撤出来了,工资在一年里就降到人们在说做个记者都比程序员强的地步。 Stroustrup: 对啦!那时侯相同的事情发生在了C程序员身上了。 记者: 这个我明白了,可是您要说的是…… Stroustrup: 有一天,我坐在办公室里就在想如何能把这件事挽回一些。我想知道如果有一种特别复杂而且难以学会的语言,是否就没有人可以又把程序员们搞到市场的泥潭里去呢?我用了从X10里了解到的东西,,噢,就是X-Windows,真是一个该死的图形系统,只能运行在那些个SUN 3/60的机器里,哈!它具有所有我想要的特征:可笑而复杂的语法,含混的功能描述,还有伪装的OO结构,就算是在现在,还是没有人愿意用那些东西,如果你不想发疯的话,Motif才是唯一解决方案。 记者: 你是在开玩笑吗? Stroustrup: 没有,事实上还有另外的一个问题,UNIX是用C写的,就是说任何一个C程序员都可以很容易的成为系统程序的开发者。还记得一个大型的主机系统应用的开发者通常能挣多少钱吗? 记者: 你肯定是知道我当时就是干这个的。 Stroustrup: 好吧,因此这个新的语言一定要通过隐藏所有的系统调用来和UNIX分离开来,这样可以使那些个就只是知道DOS的人也可以活得很体面。 记者: 我不大相信您说的这个…… Stroustrup: 而且到现在时间也够长的了,我相信有很多的人已经指出了C++是对时间的浪费,我要说的是,这个过程比我想象的要长的多了。 记者: 那么您又是如何做到的呢? Stroustrup: 那只是一个玩笑,我真的没有想到人们会对那本书那么认真。任何人只要长了半个大脑也应该明白面对对象编程是荒谬而不合逻辑的,而且效率低下。 记者: 什么? Stroustrup: 再说代码重用,你什么时候听说过有公司重用他的代码? 记者: 事实上从来没有,但是…… Stroustrup: 那么我提醒你一下,在早期有很多的例子。哦,有一家叫Menter Graphics的俄勒冈州公司,我认为他们应该是感冒了,竟然在90年或者是91年把所有的代码用C++重写了一遍,对不起,我实在是想不起确切的时间了,我看大家应该从这个事件中吸取教训。 记者: 没有人真正的吸取了教训吗? Stroustrup:没有,而且还有很多公司犯同样的错误,还向他们的股东解释说那3亿美圆的损失是正常的,他们就是做了这样的事情。 记者: 真的?可是这也只能证明OO方法是能够工作的,不是吗? Stroustrup: 也许吧,执行文件是那么大,在一台有128M内存的HP工作站上只是装载到内存中就要用5分钟时间,然后将象毛毛虫爬树一样的运行。事实上我在第一个礼拜就发现了这个缺点,奇怪的是好象没人在乎这个,Sun和HP好象只在乎买出那些功能强大的各种玩意儿,而不在乎在上面跑什么程序。在AT&.T的时候我编了一个“Hello World”程序,简直是难以置信,执行文件有2.1M。 ...... |
4楼2010-09-21 10:37:44
6楼2010-09-25 10:58:30
9楼2010-10-10 01:20:21
spoctor
铁虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 54.7
- 散金: 10
- 帖子: 111
- 在线: 1.8小时
- 虫号: 1003129
- 注册: 2010-04-22
- 性别: GG
- 专业: 计算机

12楼2010-12-19 13:41:31
hakekill
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1709.3
- 帖子: 131
- 在线: 19小时
- 虫号: 246017
- 注册: 2006-04-29
- 性别: GG
- 专业: 水环境与生态水利
2楼2010-09-21 08:14:00
5楼2010-09-21 12:47:17
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009:专业版请勿纯表。谢谢! 2010-09-30 08:23:55
ajian04(金币-1):请不要灌水,多发表一些自己的想法,谢谢 2010-10-07 07:54:54
nono2009:专业版请勿纯表。谢谢! 2010-09-30 08:23:55
ajian04(金币-1):请不要灌水,多发表一些自己的想法,谢谢 2010-10-07 07:54:54
![]() |
8楼2010-09-27 16:14:14
想飞的猪
木虫 (正式写手)
- 应助: 40 (小学生)
- 金币: 12225.4
- 散金: 1831
- 红花: 9
- 帖子: 584
- 在线: 156.7小时
- 虫号: 584434
- 注册: 2008-08-01
- 性别: GG
- 专业: 机器人学及机器人技术
10楼2010-10-17 14:33:52













回复此楼
