现在我急求好看的电影C++文件传输的源代码,谁有的能不能分享下啊,真的是很急啊!!谢谢了 要求能聊天,能传送文件。

谁有BT tracker服务器的C++源代码 能不能发我一份啊_百度知道
谁有BT tracker服务器的C++源代码 能不能发我一份啊
谁有BT tracker服务器的C++源代码 能不能发我一份啊 邮箱是 最好能有说明文档 是tracker服务器哦 不是客户端程序
提问者采纳
已发麻烦采纳,谢谢!
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁急求,用C或者C++写都行,读入文件和输出文件都要txt的,代码能直接用就行,字母随便输,怎么都行,谢谢了_百度知道
急求,用C或者C++写都行,读入文件和输出文件都要txt的,代码能直接用就行,字母随便输,怎么都行,谢谢了
将其中的小写字母转化成大写字母,其他字符不变,大写字母转换成小写字母;交作业时从一个文本文件读取正文,大写字母转换成小写字母,然后输出到另一个文本文件中保存。要求,两个文本文件与程序文件都要有:“小写字母转化成大写字母,其他字符不变”写一个自定义函数
提问者采纳
a',然后你往fp1里随便打点什么;=&#39,再运行一次就你说的效果了看这么长时间没人给你写,fp2),&Z&#39!=EOF)
{a=fgetc(fp1);c;
fclose(fp2);&&a&\c;a'fp1;);w&
if(a&a'A'
fclose(fp1);+&#39:\=&#39,C盘下
fp1是需要你自己输入的;z&#39.txt&#include&lt,如果事先你没创建;at+&
a=a-&#39.h&='
while(a;A&#39.h&='#include&fp2,编译运行一次之后会自动创建,就给你写了;
fp2=fopen(&A&#39:\int main(){FILE *fp1,&
else if(a&gt.h&;#include&&&a&lt,*fp2,有问题请追问;
fp1=fopen(&&#92.txt&);+'
a=a-',fp2是转换完的;}读写的文件路径
提问者评价
谢谢了,就是我要的效果
其他类似问题
其他2条回答
=&#39其实蛮简单的, fwrite,主要是='z',如果是则转成大写c += 32,然后还有判断字母是不是c &a'
#include &stdio.h&void main(){
char a[],i=0; for(i=0;i&n;i++)
scanf(&%c&,a[i]);
for(i=0;i&n;i++){if(a[i]&='a' && a[i]&='z')a[i]=a[i]-32;if(a[i]&='A' && a[i]&='Z')a[i]=a[i]+32;}for(i=0;i&=n;i++)printf(&%c&,a[i])}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁你读过的最好的 C++ 开源代码是什么?
按投票排序
推荐Ogre,抛开性能等问题不说,作为开源渲染引擎,代码非常规范,框架清晰短小如tinyxml,其结构也是非常明了,一看就明白Boost就不多说了,大部分库还是写的非常明白的
理由如下:Google出品,遵循Google C++编码规范。作者是Jeff Dean大神。涉及查找、缓存、文件读写、多线程、跨平台等诸多常见问题。最新版本1.15.0代码量也不到2万行。基础的key-value数据库,广泛用于Google内部和许多开源项目。
BOOST的部分代码和SGI STL的源码
1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:- 2. Tinyhttpdtinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。下载链接:- 3. cJSONcJSON是C语言中的一个JSON编解码器,非常轻量级,C文件只有500多行,速度也非常理想。cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。项目主页:- 4. CMockerycmockery是google发布的用于C单元测试的一个轻量级的框架。它很小巧,对其他开源包没有依赖,对被测试代码侵入性小。cmockery的源代码行数不到3K,你阅读一下will_return和mock的源代码就一目了然了。主要特点:免费且开源,google提供技术支持;轻量级的框架,使测试更加快速简单;避免使用复杂的编译器特性,对老版本的编译器来讲,兼容性好;并不强制要求待测代码必须依赖C99标准,这一特性对许多嵌入式系统的开发很有用下载链接:- 5. Libevlibev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。下载链接:- 6. MemcachedMemcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。Memcached-1.4.7的代码量还是可以接受的,只有10K行左右。下载地址:- 7. LuaLua很棒,Lua是巴西人发明的,这些都令我不爽,但是还不至于脸红,最多眼红。让我脸红的是Lua的源代码,百分之一百的ANSI C,一点都不掺杂。在任何支持ANSI C编译器的平台上都可以轻松编译通过。我试过,真是一点废话都没有。Lua的代码数量足够小,5.1.4仅仅1.5W行,去掉空白行和注释估计能到1W行。下载地址:- 8. SQLiteSQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。足够小,大致3万行C代码,250K。下载地址: 。- 9. UNIX v6UNIX V6 的内核源代码包括设备驱动程序在内 约有1 万行,这个数量的源代码,初学者是能够充分理解的。有一种说法是一个人所能理解的代码量上限为1 万行,UNIX V6的内核源代码从数量上看正好在这个范围之内。看到这里,大家是不是也有“如果只有1万行的话没准儿我也能学会”的想法呢?另一方面,最近的操作系统,例如Linux 最新版的内核源代码据说超过了1000 万行。就算不是初学者,想完全理解全部代码基本上也是不可能的。下载地址:- 10. NETBSDNetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统,可以在许多平台上执行,从 64bit alpha 服务器到手持设备和嵌入式设备。NetBSD计划的口号是:”Of course it runs NetBSD”。它设计简洁,代码规范,拥有众多先进特性,使得它在业界和学术界广受好评。由于简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,而且它也有受使用者支持的完整的源代码。许多程序都可以很容易地通过NetBSD Packages Collection获得。下载地址:这个网站整理的比较全,可以看看
我唯一主动看过别人的代码的其实是刘未鹏写的boost代码解析了。因为我刚开始学编程的时候,中国的网络环境都还相当恶劣,所以几乎都是看书学。而且我们知道大部分书里面的代码都是很烂的,在入了门之后根本没法看。到了后来,我已经养成了习惯,不主动看别人的代码了。当然这并不意味着我不看代码,因为在别人的博客啊,论文啊,还是一些书里面,仍然可以看到一些代码。我最喜欢读的是Haskell的代码,每次看一个新的代码都可以让我学到新的概念。我们组有一个在微软干了二十几年的老外说过,architectures are patterns。这说的一点都没错,只要你大脑里面有了大量的pattern,再加上你的智商比较高(也就是pattern matching比较快),那解决大部分问题都是很迅速的。
荣获 ACM 2012 Software System Award.
redis吧,C语言,这个key-value数据库代码量也不算太大,但是里面的数据结构实现的非常简洁高效,内存管理优秀,承载并发能力优秀,易用性优秀,纯C代码,读起来非常爽。nginx,C语言,其实我没看过,但是看起来很不错的样子耶,淘宝的tenigne就是基于nginx的,其源码剖析资料较多,看起来很不错。tornado,python写的,代码简洁高效,安全可靠,就是异步需要好好理解下。再补充下:有个阿里的做数据库的前辈建议可以读读jeff dean的leveldb,这个是C++的,可以读下看看,很优雅。
Qt、、Qt的代码只是部分针对性的读了些、、太优雅了、、很多设计也很给力、、试着读过STL,结果本领不够,看那么多模版崩溃了、、、
我学习C++的路线比较曲折:早年光顾着看书,C++ Primer和那本很厚的C++标准库之类的大书,后来反省C++之后就接触的很少了。接触过的C++项目中,印象比较深刻的侯捷在STL源码剖析中介绍SGI版本的STL,用侯捷自己的话说,大部分C++程序员的代码比这个差距还是很大。如果你准备学习C++和数据结构算法,可以结合这本书看看STL的做法,常用的都有了。后来由于接触到游戏UI的缘故接触了CEGUI这个开源的游戏UI框架,看的不多,但是感觉层次,模式架构什么的都不错,无疑现在做UI这方面C++还是比较合适的。我心目中写的好的C++代码,应该大体上符合Google C++的代码规范,这个规范不仅是一个规范,还告诉了你C++有哪些坑,你要避免不要那么做跳开它们,强烈推荐C++程序员好好看看。听说Google系的C++开源代码写的都很不错,leveldb,protobuf什么的还没空看,找时间好好拜读一下吧。
boost部分代码chromium
可能是我看的C++源码少吧,没有特别中意的。倒是特别喜欢的是 Linux 源码的编码风格,简洁紧凑。SGI STL 源码相对来说不错,微软的STL代码,要说多恶心有多恶心,风格好可怕。BOOST 太过庞大,没怎么看过。倒是 POCO 的源码不错。以前看过一段 Json 解析的 C++ 代码(忘了名字了),感觉挺好的。我个人倾向于喜欢小巧玲珑,简洁清爽,的源码。
推荐《STL源码剖析》这本书,里面有许多常用算法的实现,代码精炼,鲁棒性高。
leveldb 其他人有说到。工作中接触的webkit、chromium、skia也非常有价值。早年看过mozilla也很棒。喜欢游戏的有doom3。unreal5都开源了呵呵呵
借用他们在linked上的回答 chromium 的源代码 建议去看看 ,,我相信在C++开源项目中,写的应该算是很不错的了,而且文档很齐全.
当然是应用或者工具类的,那些标准库系统库就别看了,里面处理各平台兼容的代码比例太大。
懒,代码读的不多(做系统集成还研究什么技术嘛……),太大的项目也看不懂。pugixml 的代码写的蛮好的,简洁,但是十分有效。接口设计的比 tinyxml 好,几乎不需要使用指针操作,支持utf-16,运行效率也比 tinyxml 高一个数量级(没有具体研究,看代码觉得应该是内存分配的原因)。内部实现很简洁,代码写的很漂亮,并且很有 C++ 风格,而不是 VC6 或者 java 的味道。SciTE 内部核心的代码写的不太好看,但是逻辑清晰,几乎达到了不用调试直接阅读就能明白是怎么工作的程度。其内部使用了一个并不复杂的数据结构优化频繁输入的效率,很有效。想开发编辑器的同学可以看一看。IUP,巴西人开发的 C 语言 GUI 库,支持 windows API 和 GTK+ 作底层,不是 C++,但是很有“面向对象”的特色。这个库最大的特点是使用 hash 表和字符串重新实现了一个有点像 javascript 的对象系统,并且设计了非常方便(并且有想象力)的接口。但是这个库有一个硬伤,在 windows 上因为没有使用 unicode API,导致不能直接支持 unicode,不嫌麻烦的话可以改写一下。ZThread,一个不怎么流行的线程库,但是代码写的规范清晰,明显比 pthread 更容易阅读。
好的代码 应该是实用的, 高效稳定的.
而最重要的 能被选出来说是最好的 那肯定是在符合上述要求下 让阅读者感到非常舒服而又能在第一时间找到自己想看的东西. 第一个: memcached.
代码实现精巧干练, 丝毫不会让人感觉繁冗, 如果只是想看实现的机制 直接从接口代码往里面追下就能捋顺, 整个阅读经历非常舒爽.第二个: libevent
其实这个应该放在memcached前面去看,
memcached底层是用这个实现网络功能, 但如果只是想看memcached的内部内存管理机制 也可以跳过这个. 阅读感同memcached.第三个: boost asio 网络库. 这个库相比前面两个代码量上比较多, 而且阅读的话 首先要对boost有一定熟悉才比较好, 比如智能指针, 函数绑定, 模板, 等. 在这个前提下 如果想看boost的内部实现, 比如线程封装, 同步操作的一些封装, select EPOLL IOCP部分的实现以及一些小技巧, 都可以很方便的追进去看到核心代码, 而且注释特别清晰易读.一般开源库要考虑的都会比我们去读这部分代码时候想得到的信息要多. 要考量性能, 通用性(要有足够多的功能和灵活性满足主要的需求和潜在的需求), 跨平台(一些会考虑跨平台 而且可能是多种平台 比如linux, bsd, mac, windows), 还有后期的可扩展性,等. 因此, 可能一个看上去要比较简单的需求, 而实际实现上却运用了大量的设计模式, 纷杂的细节技术, 而又往往注释没有或者不全 文档缺失等. 最后造成的结果就是源码读起来很晦涩.
STL源码剖析,学好C++还是先从标准库的代码开始看起
陈硕的muduo可以看看,知道现代cpp的用法。求飞鸽程序的源代码 C++的 谢谢_百度知道
求飞鸽程序的源代码 C++的 谢谢
最好是vc6.0能运行的
提问者采纳
灰鸽子??
去找写代码的那个人把程序买下来。
提问者评价
已经用不着了
分就给你吧
其他类似问题
飞鸽的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁谁有学生学籍管理系统C++源代码?
谁有学生学籍管理系统C++源代码?
09-02-19 & 发布
我有学生信息管理,不知你要求是什么,给你个参考吧#include&stdio.h& #include&stdlib.h& #include&malloc.h& #include&string.h& #define ID struct id struct id { char name[20];    //  xing ming          //  xue hao          //  nian ling char sex[2];      //  xing bie char xi[20];  //  xi bie char zhuan[20];   //  zhuan ye   char add[20];     //  di zhi ID *         //}; // FILE * // ID * int sum_age=0,max_age=0,min_age=100,pc=0;float ave_age=0;ID *creat() {
ID *p1,*p2,*
p1=p2=head=NULL;
printf(&\t\t\t 开始输入记录!!!\n&);
printf(&please input pd:\n&);
scanf(&%d&,&pd);
while(pd!=0)
 p1=(ID*)malloc(sizeof(ID));
 printf(&请输入学生的学号:\n&);scanf(&%d&,&p1-&num);
 printf(&请输入学生的姓名:\n&);scanf(&%s&,p1-&name);
 printf(&请输入学生的年龄:\n&);scanf(&%d&,&p1-&age);
 sum_age+=p1-&  if(max_age&p1-&age) max_age=p1-&  if(min_age&p1-&age) min_age=p1-&  printf(&请输入学生的性别:\n&);scanf(&%s&,p1-&sex);  
 printf(&请输入学生的系别:\n&);scanf(&%s&,p1-&xi);
 printf(&请输入学生的专业:\n&);scanf(&%s&,p1-&zhuan);
 printf(&请输入学生的地址:\n&);scanf(&%s&,&p1-&add);
 if(head==NULL)  {
  head=p1;
  p2=p1;  }
 else
  p2-&next=p1;
  p2=p1;
 printf(&please input pd:\n&);
 scanf(&%d&,&pd);
 pc++; }     p2-&next=NULL;
  return(head); }
  /*输入/添加记录*/ ID *insert(ID *head) {
ID *temp,*p1,*p2;
start: p1=
   printf(&插入操作开始!!!\n&);    temp=(ID *)malloc(sizeof(ID));
      printf(&请输入学生的学号:\n&);scanf(&%d&,&temp-&num);
   printf(&请输入学生的姓名:\n&);scanf(&%s&,temp-&name);
      printf(&请输入学生的年龄:\n&);scanf(&%d&,&temp-&age);
   printf(&请输入学生的性别:\n&);scanf(&%s&,temp-&sex);  
   printf(&请输入学生的系别:\n&);scanf(&%s&,temp-&xi);
   printf(&请输入学生的专业:\n&);scanf(&%s&,temp-&zhuan);
   printf(&请输入学生的地址:\n&);scanf(&%s&,temp-&add);      if (head==NULL)
   {
    head=
    temp-&next=NULL;
   }
   else
   {
    while(p1!=NULL)
    {        p2=p1;
     p1=p1-&
    }
    p2-&next=
    temp-&next=NULL;
   }
   printf(&插入末尾成功&);
   pc++;    printf(&是否继续插入 1.Yes 2.No;\n&);
   scanf(&%d&,&pd);
   if(pd==1)
   return (head); } /*删除学生记录*/ ID *delet(ID *head) {
ID *p1,*p2;
printf(&请输入要删除的学生的学号:&);scanf(&%d&,&num);
if (head==NULL)
 printf(&没有记录\n&);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 if (p1==head)
  head=p1-&
 else
  p2-&next=p1-&
 printf(&删除成功!!!\n&);
 pc--;  //free(p1);
 //free(p2); } end: } /*查找学生记录*/ ID *search(ID *head) {
ID *p1,*p2;
printf(&请输入要查找的学生的学号:&);scanf(&%d&,&num);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 printf(&学生的学号:%d\n&,p1-&num);  printf(&学生的姓名:%s\n&,p1-&name);  printf(&学生的年龄:%d\n&,p1-&age);
 printf(&学生的性别:%s\n&,p1-&sex);
 printf(&学生的系别:%s\n&,p1-&xi);
 printf(&学生的专业:%s\n&,p1-&zhuan);
 printf(&学生的地址:%s\n&,&p1-&add);
 //free(p1);
 //free(p2); } } /*按学号查询学生记录进行修改*/ ID *modify_num(ID *head) {
int i,m,n, start:  
printf(&请输入要修改的学生的学号:&);
scanf(&%d&,&num);
while(p!=NULL )
 if(num==p-&num)
  m=1;
  while(m==1)
   m=0;
   printf(&\t\t       1.修改学生的学号\n&);
   printf(&\t\t       2.修改学生的姓名\n&);
   printf(&\t\t       3.修改学生的年龄\n&);
   printf(&\t\t       4.修改学生的性别\n&);
   printf(&\t\t       5.修改学生的系别\n&);
   printf(&\t\t       6.修改学生的专业\n&);    printf(&\t\t       7.修改学生的地址\n&);    printf(&请选择(1--7):&);
   scanf(&%d&,&i);
   switch( i )
   {
   case 1 :  
    printf(&请输入修改后的学号:&);
    scanf(&%d&,&p-&num);
   
   case 2:  
    printf(&请输入修改后的姓名:&);
    scanf(&%s&,p-&name);
   
   case 3:       printf(&请输入修改后的年龄:&);
    scanf(&%d&,&p-&age);
   
   case 4:  
    printf(&请输入修改后的性别:&);
    scanf(&%s&,&p-&sex);
   
   case 5:  
    printf(&请输入修改后的系别:&);
    scanf(&%s&,p-&xi);
   
   case 6:  
    printf(&请输入修改后的专业:&);
    scanf(&%s&,p-&zhuan);
       case 7:  
    printf(&请输入修改后的地址:&);
    scanf(&%s&,p-&add);
       default: printf(&输入错误,请重新输入&);
   }   }
   }
 p=p-& }
printf(&是否继续修改其他学生情况(1改 2不改):&);
scanf(&%d&,&n); if(n==1)
} /*退出程序*/ void ask_age() {
if(pc==0) {  printf(&没有记录\n&);   } ave_age=float(sum_age*1.0/pc); printf(&%f\n&,ave_age); printf(&%d\n&,max_age); printf(&%d\n&,min_age); } /*显示结果函数*/ void print(ID *head){
  ID *p;
  printf(&\t\t\t*****************\n&);
  printf(&显示结果是:\n&);
  if(head!=NULL)
   do {
     printf(&%10d%10s%10d%10s%10s%10s%10s\n&,p-&num,p-&name,p-&age,p-&sex,p-&xi,p-&zhuan,p-&add);
  p=p-&
} while(p!=NULL); }
  void main() {
printf(&\t\t\t* * * * 李林C语言课设* * * *\n&);
{    
 printf(&\t\t            学生信息管理系统\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&\t\t  1.建立文件\n&);
 printf(&\t\t  2.插入数据\n&);
 printf(&\t\t  3.删除数据\n&);
 printf(&\t\t  4.修改记录\n&);
 printf(&\t\t  5.搜索记录\n&);  printf(&\t\t  6.求年龄\n&);
 printf(&\t\t  0.退出\n&);
 printf(&\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&请选择(0-6):&);
 scanf(&%d&,&choise);
 switch(choise)
 case 1: head=creat();
  print(head);
 case 2: head=insert(head);
  print(head);
 case 3: head=delet(head);
  print(head);
 case 4: head=modify_num(head);
  print(head);
 case 5:search(head);
  print(head);  
 case 6:ask_age();    case 0:
  exit(0);
 default :printf(&输入错误,请重新输入!\n&);
请登录后再发表评论!
我有学生信息管理,不知你要求是什么,给你个参考吧#include&stdio.h& #include&stdlib.h& #include&malloc.h& #include&string.h& #define ID struct id struct id { char name[20];    //  xing ming          //  xue hao          //  nian ling char sex[2];      //  xing bie char xi[20];  //  xi bie char zhuan[20];   //  zhuan ye   char add[20];     //  di zhi ID *         //}; // FILE * // ID * int sum_age=0,max_age=0,min_age=100,pc=0;float ave_age=0;ID *creat() {
ID *p1,*p2,*
p1=p2=head=NULL;
printf(&\t\t\t 开始输入记录!!!\n&);
printf(&please input pd:\n&);
scanf(&%d&,&pd);
while(pd!=0)
 p1=(ID*)malloc(sizeof(ID));
 printf(&请输入学生的学号:\n&);scanf(&%d&,&p1-&num);
 printf(&请输入学生的姓名:\n&);scanf(&%s&,p1-&name);
 printf(&请输入学生的年龄:\n&);scanf(&%d&,&p1-&age);
 sum_age+=p1-&  if(max_age&p1-&age) max_age=p1-&  if(min_age&p1-&age) min_age=p1-&  printf(&请输入学生的性别:\n&);scanf(&%s&,p1-&sex);  
 printf(&请输入学生的系别:\n&);scanf(&%s&,p1-&xi);
 printf(&请输入学生的专业:\n&);scanf(&%s&,p1-&zhuan);
 printf(&请输入学生的地址:\n&);scanf(&%s&,&p1-&add);
 if(head==NULL)  {
  head=p1;
  p2=p1;  }
 else
  p2-&next=p1;
  p2=p1;
 printf(&please input pd:\n&);
 scanf(&%d&,&pd);
 pc++; }     p2-&next=NULL;
  return(head); }
  /*输入/添加记录*/ ID *insert(ID *head) {
ID *temp,*p1,*p2;
start: p1=
   printf(&插入操作开始!!!\n&);    temp=(ID *)malloc(sizeof(ID));
      printf(&请输入学生的学号:\n&);scanf(&%d&,&temp-&num);
   printf(&请输入学生的姓名:\n&);scanf(&%s&,temp-&name);
      printf(&请输入学生的年龄:\n&);scanf(&%d&,&temp-&age);
   printf(&请输入学生的性别:\n&);scanf(&%s&,temp-&sex);  
   printf(&请输入学生的系别:\n&);scanf(&%s&,temp-&xi);
   printf(&请输入学生的专业:\n&);scanf(&%s&,temp-&zhuan);
   printf(&请输入学生的地址:\n&);scanf(&%s&,temp-&add);      if (head==NULL)
   {
    head=
    temp-&next=NULL;
   }
   else
   {
    while(p1!=NULL)
    {        p2=p1;
     p1=p1-&
    }
    p2-&next=
    temp-&next=NULL;
   }
   printf(&插入末尾成功&);
   pc++;    printf(&是否继续插入 1.Yes 2.No;\n&);
   scanf(&%d&,&pd);
   if(pd==1)
   return (head); } /*删除学生记录*/ ID *delet(ID *head) {
ID *p1,*p2;
printf(&请输入要删除的学生的学号:&);scanf(&%d&,&num);
if (head==NULL)
 printf(&没有记录\n&);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 if (p1==head)
  head=p1-&
 else
  p2-&next=p1-&
 printf(&删除成功!!!\n&);
 pc--;  //free(p1);
 //free(p2); } end: } /*查找学生记录*/ ID *search(ID *head) {
ID *p1,*p2;
printf(&请输入要查找的学生的学号:&);scanf(&%d&,&num);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 printf(&学生的学号:%d\n&,p1-&num);  printf(&学生的姓名:%s\n&,p1-&name);  printf(&学生的年龄:%d\n&,p1-&age);
 printf(&学生的性别:%s\n&,p1-&sex);
 printf(&学生的系别:%s\n&,p1-&xi);
 printf(&学生的专业:%s\n&,p1-&zhuan);
 printf(&学生的地址:%s\n&,&p1-&add);
 //free(p1);
 //free(p2); } } /*按学号查询学生记录进行修改*/ ID *modify_num(ID *head) {
int i,m,n, start:  
printf(&请输入要修改的学生的学号:&);
scanf(&%d&,&num);
while(p!=NULL )
 if(num==p-&num)
  m=1;
  while(m==1)
   m=0;
   printf(&\t\t       1.修改学生的学号\n&);
   printf(&\t\t       2.修改学生的姓名\n&);
   printf(&\t\t       3.修改学生的年龄\n&);
   printf(&\t\t       4.修改学生的性别\n&);
   printf(&\t\t       5.修改学生的系别\n&);
   printf(&\t\t       6.修改学生的专业\n&);    printf(&\t\t       7.修改学生的地址\n&);    printf(&请选择(1--7):&);
   scanf(&%d&,&i);
   switch( i )
   {
   case 1 :  
    printf(&请输入修改后的学号:&);
    scanf(&%d&,&p-&num);
   
   case 2:  
    printf(&请输入修改后的姓名:&);
    scanf(&%s&,p-&name);
   
   case 3:       printf(&请输入修改后的年龄:&);
    scanf(&%d&,&p-&age);
   
   case 4:  
    printf(&请输入修改后的性别:&);
    scanf(&%s&,&p-&sex);
   
   case 5:  
    printf(&请输入修改后的系别:&);
    scanf(&%s&,p-&xi);
   
   case 6:  
    printf(&请输入修改后的专业:&);
    scanf(&%s&,p-&zhuan);
       case 7:  
    printf(&请输入修改后的地址:&);
    scanf(&%s&,p-&add);
       default: printf(&输入错误,请重新输入&);
   }   }
   }
 p=p-& }
printf(&是否继续修改其他学生情况(1改 2不改):&);
scanf(&%d&,&n); if(n==1)
} /*退出程序*/ void ask_age() {
if(pc==0) {  printf(&没有记录\n&);   } ave_age=float(sum_age*1.0/pc); printf(&%f\n&,ave_age); printf(&%d\n&,max_age); printf(&%d\n&,min_age); } /*显示结果函数*/ void print(ID *head){
  ID *p;
  printf(&\t\t\t*****************\n&);
  printf(&显示结果是:\n&);
  if(head!=NULL)
   do {
     printf(&%10d%10s%10d%10s%10s%10s%10s\n&,p-&num,p-&name,p-&age,p-&sex,p-&xi,p-&zhuan,p-&add);
  p=p-&
} while(p!=NULL); }
  void main() {
printf(&\t\t\t* * * * 李林C语言课设* * * *\n&);
{    
 printf(&\t\t            学生信息管理系统\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&\t\t  1.建立文件\n&);
 printf(&\t\t  2.插入数据\n&);
 printf(&\t\t  3.删除数据\n&);
 printf(&\t\t  4.修改记录\n&);
 printf(&\t\t  5.搜索记录\n&);  printf(&\t\t  6.求年龄\n&);
 printf(&\t\t  0.退出\n&);
 printf(&\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&请选择(0-6):&);
 scanf(&%d&,&choise);
 switch(choise)
 case 1: head=creat();
  print(head);
 case 2: head=insert(head);
  print(head);
 case 3: head=delet(head);
  print(head);
 case 4: head=modify_num(head);
  print(head);
 case 5:search(head);
  print(head);  
 case 6:ask_age();    case 0:
  exit(0);
 default :printf(&输入错误,请重新输入!\n&);
请登录后再发表评论!
我有学生信息管理,不知你要求是什么,给你个参考吧#include&stdio.h& #include&stdlib.h& #include&malloc.h& #include&string.h& #define ID struct id struct id { char name[20];    //  xing ming          //  xue hao          //  nian ling char sex[2];      //  xing bie char xi[20];  //  xi bie char zhuan[20];   //  zhuan ye   char add[20];     //  di zhi ID *         //}; // FILE * // ID * int sum_age=0,max_age=0,min_age=100,pc=0;float ave_age=0;ID *creat() {
ID *p1,*p2,*
p1=p2=head=NULL;
printf(&\t\t\t 开始输入记录!!!\n&);
printf(&please input pd:\n&);
scanf(&%d&,&pd);
while(pd!=0)
 p1=(ID*)malloc(sizeof(ID));
 printf(&请输入学生的学号:\n&);scanf(&%d&,&p1-&num);
 printf(&请输入学生的姓名:\n&);scanf(&%s&,p1-&name);
 printf(&请输入学生的年龄:\n&);scanf(&%d&,&p1-&age);
 sum_age+=p1-&  if(max_age&p1-&age) max_age=p1-&  if(min_age&p1-&age) min_age=p1-&  printf(&请输入学生的性别:\n&);scanf(&%s&,p1-&sex);  
 printf(&请输入学生的系别:\n&);scanf(&%s&,p1-&xi);
 printf(&请输入学生的专业:\n&);scanf(&%s&,p1-&zhuan);
 printf(&请输入学生的地址:\n&);scanf(&%s&,&p1-&add);
 if(head==NULL)  {
  head=p1;
  p2=p1;  }
 else
  p2-&next=p1;
  p2=p1;
 printf(&please input pd:\n&);
 scanf(&%d&,&pd);
 pc++; }     p2-&next=NULL;
  return(head); }
  /*输入/添加记录*/ ID *insert(ID *head) {
ID *temp,*p1,*p2;
start: p1=
   printf(&插入操作开始!!!\n&);    temp=(ID *)malloc(sizeof(ID));
      printf(&请输入学生的学号:\n&);scanf(&%d&,&temp-&num);
   printf(&请输入学生的姓名:\n&);scanf(&%s&,temp-&name);
      printf(&请输入学生的年龄:\n&);scanf(&%d&,&temp-&age);
   printf(&请输入学生的性别:\n&);scanf(&%s&,temp-&sex);  
   printf(&请输入学生的系别:\n&);scanf(&%s&,temp-&xi);
   printf(&请输入学生的专业:\n&);scanf(&%s&,temp-&zhuan);
   printf(&请输入学生的地址:\n&);scanf(&%s&,temp-&add);      if (head==NULL)
   {
    head=
    temp-&next=NULL;
   }
   else
   {
    while(p1!=NULL)
    {        p2=p1;
     p1=p1-&
    }
    p2-&next=
    temp-&next=NULL;
   }
   printf(&插入末尾成功&);
   pc++;    printf(&是否继续插入 1.Yes 2.No;\n&);
   scanf(&%d&,&pd);
   if(pd==1)
   return (head); } /*删除学生记录*/ ID *delet(ID *head) {
ID *p1,*p2;
printf(&请输入要删除的学生的学号:&);scanf(&%d&,&num);
if (head==NULL)
 printf(&没有记录\n&);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 if (p1==head)
  head=p1-&
 else
  p2-&next=p1-&
 printf(&删除成功!!!\n&);
 pc--;  //free(p1);
 //free(p2); } end: } /*查找学生记录*/ ID *search(ID *head) {
ID *p1,*p2;
printf(&请输入要查找的学生的学号:&);scanf(&%d&,&num);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 printf(&学生的学号:%d\n&,p1-&num);  printf(&学生的姓名:%s\n&,p1-&name);  printf(&学生的年龄:%d\n&,p1-&age);
 printf(&学生的性别:%s\n&,p1-&sex);
 printf(&学生的系别:%s\n&,p1-&xi);
 printf(&学生的专业:%s\n&,p1-&zhuan);
 printf(&学生的地址:%s\n&,&p1-&add);
 //free(p1);
 //free(p2); } } /*按学号查询学生记录进行修改*/ ID *modify_num(ID *head) {
int i,m,n, start:  
printf(&请输入要修改的学生的学号:&);
scanf(&%d&,&num);
while(p!=NULL )
 if(num==p-&num)
  m=1;
  while(m==1)
   m=0;
   printf(&\t\t       1.修改学生的学号\n&);
   printf(&\t\t       2.修改学生的姓名\n&);
   printf(&\t\t       3.修改学生的年龄\n&);
   printf(&\t\t       4.修改学生的性别\n&);
   printf(&\t\t       5.修改学生的系别\n&);
   printf(&\t\t       6.修改学生的专业\n&);    printf(&\t\t       7.修改学生的地址\n&);    printf(&请选择(1--7):&);
   scanf(&%d&,&i);
   switch( i )
   {
   case 1 :  
    printf(&请输入修改后的学号:&);
    scanf(&%d&,&p-&num);
   
   case 2:  
    printf(&请输入修改后的姓名:&);
    scanf(&%s&,p-&name);
   
   case 3:       printf(&请输入修改后的年龄:&);
    scanf(&%d&,&p-&age);
   
   case 4:  
    printf(&请输入修改后的性别:&);
    scanf(&%s&,&p-&sex);
   
   case 5:  
    printf(&请输入修改后的系别:&);
    scanf(&%s&,p-&xi);
   
   case 6:  
    printf(&请输入修改后的专业:&);
    scanf(&%s&,p-&zhuan);
       case 7:  
    printf(&请输入修改后的地址:&);
    scanf(&%s&,p-&add);
       default: printf(&输入错误,请重新输入&);
   }   }
   }
 p=p-& }
printf(&是否继续修改其他学生情况(1改 2不改):&);
scanf(&%d&,&n); if(n==1)
} /*退出程序*/ void ask_age() {
if(pc==0) {  printf(&没有记录\n&);   } ave_age=float(sum_age*1.0/pc); printf(&%f\n&,ave_age); printf(&%d\n&,max_age); printf(&%d\n&,min_age); } /*显示结果函数*/ void print(ID *head){
  ID *p;
  printf(&\t\t\t*****************\n&);
  printf(&显示结果是:\n&);
  if(head!=NULL)
   do {
     printf(&%10d%10s%10d%10s%10s%10s%10s\n&,p-&num,p-&name,p-&age,p-&sex,p-&xi,p-&zhuan,p-&add);
  p=p-&
} while(p!=NULL); }
  void main() {
printf(&\t\t\t* * * * 李林C语言课设* * * *\n&);
{    
 printf(&\t\t            学生信息管理系统\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&\t\t  1.建立文件\n&);
 printf(&\t\t  2.插入数据\n&);
 printf(&\t\t  3.删除数据\n&);
 printf(&\t\t  4.修改记录\n&);
 printf(&\t\t  5.搜索记录\n&);  printf(&\t\t  6.求年龄\n&);
 printf(&\t\t  0.退出\n&);
 printf(&\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&请选择(0-6):&);
 scanf(&%d&,&choise);
 switch(choise)
 case 1: head=creat();
  print(head);
 case 2: head=insert(head);
  print(head);
 case 3: head=delet(head);
  print(head);
 case 4: head=modify_num(head);
  print(head);
 case 5:search(head);
  print(head);  
 case 6:ask_age();    case 0:
  exit(0);
 default :printf(&输入错误,请重新输入!\n&);
请登录后再发表评论!
我有学生信息管理,不知你要求是什么,给你个参考吧#include&stdio.h& #include&stdlib.h& #include&malloc.h& #include&string.h& #define ID struct id struct id { char name[20];    //  xing ming          //  xue hao          //  nian ling char sex[2];      //  xing bie char xi[20];  //  xi bie char zhuan[20];   //  zhuan ye   char add[20];     //  di zhi ID *         //}; // FILE * // ID * int sum_age=0,max_age=0,min_age=100,pc=0;float ave_age=0;ID *creat() {
ID *p1,*p2,*
p1=p2=head=NULL;
printf(&\t\t\t 开始输入记录!!!\n&);
printf(&please input pd:\n&);
scanf(&%d&,&pd);
while(pd!=0)
 p1=(ID*)malloc(sizeof(ID));
 printf(&请输入学生的学号:\n&);scanf(&%d&,&p1-&num);
 printf(&请输入学生的姓名:\n&);scanf(&%s&,p1-&name);
 printf(&请输入学生的年龄:\n&);scanf(&%d&,&p1-&age);
 sum_age+=p1-&  if(max_age&p1-&age) max_age=p1-&  if(min_age&p1-&age) min_age=p1-&  printf(&请输入学生的性别:\n&);scanf(&%s&,p1-&sex);  
 printf(&请输入学生的系别:\n&);scanf(&%s&,p1-&xi);
 printf(&请输入学生的专业:\n&);scanf(&%s&,p1-&zhuan);
 printf(&请输入学生的地址:\n&);scanf(&%s&,&p1-&add);
 if(head==NULL)  {
  head=p1;
  p2=p1;  }
 else
  p2-&next=p1;
  p2=p1;
 printf(&please input pd:\n&);
 scanf(&%d&,&pd);
 pc++; }     p2-&next=NULL;
  return(head); }
  /*输入/添加记录*/ ID *insert(ID *head) {
ID *temp,*p1,*p2;
start: p1=
   printf(&插入操作开始!!!\n&);    temp=(ID *)malloc(sizeof(ID));
      printf(&请输入学生的学号:\n&);scanf(&%d&,&temp-&num);
   printf(&请输入学生的姓名:\n&);scanf(&%s&,temp-&name);
      printf(&请输入学生的年龄:\n&);scanf(&%d&,&temp-&age);
   printf(&请输入学生的性别:\n&);scanf(&%s&,temp-&sex);  
   printf(&请输入学生的系别:\n&);scanf(&%s&,temp-&xi);
   printf(&请输入学生的专业:\n&);scanf(&%s&,temp-&zhuan);
   printf(&请输入学生的地址:\n&);scanf(&%s&,temp-&add);      if (head==NULL)
   {
    head=
    temp-&next=NULL;
   }
   else
   {
    while(p1!=NULL)
    {        p2=p1;
     p1=p1-&
    }
    p2-&next=
    temp-&next=NULL;
   }
   printf(&插入末尾成功&);
   pc++;    printf(&是否继续插入 1.Yes 2.No;\n&);
   scanf(&%d&,&pd);
   if(pd==1)
   return (head); } /*删除学生记录*/ ID *delet(ID *head) {
ID *p1,*p2;
printf(&请输入要删除的学生的学号:&);scanf(&%d&,&num);
if (head==NULL)
 printf(&没有记录\n&);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 if (p1==head)
  head=p1-&
 else
  p2-&next=p1-&
 printf(&删除成功!!!\n&);
 pc--;  //free(p1);
 //free(p2); } end: } /*查找学生记录*/ ID *search(ID *head) {
ID *p1,*p2;
printf(&请输入要查找的学生的学号:&);scanf(&%d&,&num);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 printf(&学生的学号:%d\n&,p1-&num);  printf(&学生的姓名:%s\n&,p1-&name);  printf(&学生的年龄:%d\n&,p1-&age);
 printf(&学生的性别:%s\n&,p1-&sex);
 printf(&学生的系别:%s\n&,p1-&xi);
 printf(&学生的专业:%s\n&,p1-&zhuan);
 printf(&学生的地址:%s\n&,&p1-&add);
 //free(p1);
 //free(p2); } } /*按学号查询学生记录进行修改*/ ID *modify_num(ID *head) {
int i,m,n, start:  
printf(&请输入要修改的学生的学号:&);
scanf(&%d&,&num);
while(p!=NULL )
 if(num==p-&num)
  m=1;
  while(m==1)
   m=0;
   printf(&\t\t       1.修改学生的学号\n&);
   printf(&\t\t       2.修改学生的姓名\n&);
   printf(&\t\t       3.修改学生的年龄\n&);
   printf(&\t\t       4.修改学生的性别\n&);
   printf(&\t\t       5.修改学生的系别\n&);
   printf(&\t\t       6.修改学生的专业\n&);    printf(&\t\t       7.修改学生的地址\n&);    printf(&请选择(1--7):&);
   scanf(&%d&,&i);
   switch( i )
   {
   case 1 :  
    printf(&请输入修改后的学号:&);
    scanf(&%d&,&p-&num);
   
   case 2:  
    printf(&请输入修改后的姓名:&);
    scanf(&%s&,p-&name);
   
   case 3:       printf(&请输入修改后的年龄:&);
    scanf(&%d&,&p-&age);
   
   case 4:  
    printf(&请输入修改后的性别:&);
    scanf(&%s&,&p-&sex);
   
   case 5:  
    printf(&请输入修改后的系别:&);
    scanf(&%s&,p-&xi);
   
   case 6:  
    printf(&请输入修改后的专业:&);
    scanf(&%s&,p-&zhuan);
       case 7:  
    printf(&请输入修改后的地址:&);
    scanf(&%s&,p-&add);
       default: printf(&输入错误,请重新输入&);
   }   }
   }
 p=p-& }
printf(&是否继续修改其他学生情况(1改 2不改):&);
scanf(&%d&,&n); if(n==1)
} /*退出程序*/ void ask_age() {
if(pc==0) {  printf(&没有记录\n&);   } ave_age=float(sum_age*1.0/pc); printf(&%f\n&,ave_age); printf(&%d\n&,max_age); printf(&%d\n&,min_age); } /*显示结果函数*/ void print(ID *head){
  ID *p;
  printf(&\t\t\t*****************\n&);
  printf(&显示结果是:\n&);
  if(head!=NULL)
   do {
     printf(&%10d%10s%10d%10s%10s%10s%10s\n&,p-&num,p-&name,p-&age,p-&sex,p-&xi,p-&zhuan,p-&add);
  p=p-&
} while(p!=NULL); }
  void main() {
printf(&\t\t\t* * * * 李林C语言课设* * * *\n&);
{    
 printf(&\t\t            学生信息管理系统\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&\t\t  1.建立文件\n&);
 printf(&\t\t  2.插入数据\n&);
 printf(&\t\t  3.删除数据\n&);
 printf(&\t\t  4.修改记录\n&);
 printf(&\t\t  5.搜索记录\n&);  printf(&\t\t  6.求年龄\n&);
 printf(&\t\t  0.退出\n&);
 printf(&\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&请选择(0-6):&);
 scanf(&%d&,&choise);
 switch(choise)
 case 1: head=creat();
  print(head);
 case 2: head=insert(head);
  print(head);
 case 3: head=delet(head);
  print(head);
 case 4: head=modify_num(head);
  print(head);
 case 5:search(head);
  print(head);  
 case 6:ask_age();    case 0:
  exit(0);
 default :printf(&输入错误,请重新输入!\n&);
请登录后再发表评论!
我有学生信息管理,不知你要求是什么,给你个参考吧#include&stdio.h& #include&stdlib.h& #include&malloc.h& #include&string.h& #define ID struct id struct id { char name[20];    //  xing ming          //  xue hao          //  nian ling char sex[2];      //  xing bie char xi[20];  //  xi bie char zhuan[20];   //  zhuan ye   char add[20];     //  di zhi ID *         //}; // FILE * // ID * int sum_age=0,max_age=0,min_age=100,pc=0;float ave_age=0;ID *creat() {
ID *p1,*p2,*
p1=p2=head=NULL;
printf(&\t\t\t 开始输入记录!!!\n&);
printf(&please input pd:\n&);
scanf(&%d&,&pd);
while(pd!=0)
 p1=(ID*)malloc(sizeof(ID));
 printf(&请输入学生的学号:\n&);scanf(&%d&,&p1-&num);
 printf(&请输入学生的姓名:\n&);scanf(&%s&,p1-&name);
 printf(&请输入学生的年龄:\n&);scanf(&%d&,&p1-&age);
 sum_age+=p1-&  if(max_age&p1-&age) max_age=p1-&  if(min_age&p1-&age) min_age=p1-&  printf(&请输入学生的性别:\n&);scanf(&%s&,p1-&sex);  
 printf(&请输入学生的系别:\n&);scanf(&%s&,p1-&xi);
 printf(&请输入学生的专业:\n&);scanf(&%s&,p1-&zhuan);
 printf(&请输入学生的地址:\n&);scanf(&%s&,&p1-&add);
 if(head==NULL)  {
  head=p1;
  p2=p1;  }
 else
  p2-&next=p1;
  p2=p1;
 printf(&please input pd:\n&);
 scanf(&%d&,&pd);
 pc++; }     p2-&next=NULL;
  return(head); }
  /*输入/添加记录*/ ID *insert(ID *head) {
ID *temp,*p1,*p2;
start: p1=
   printf(&插入操作开始!!!\n&);    temp=(ID *)malloc(sizeof(ID));
      printf(&请输入学生的学号:\n&);scanf(&%d&,&temp-&num);
   printf(&请输入学生的姓名:\n&);scanf(&%s&,temp-&name);
      printf(&请输入学生的年龄:\n&);scanf(&%d&,&temp-&age);
   printf(&请输入学生的性别:\n&);scanf(&%s&,temp-&sex);  
   printf(&请输入学生的系别:\n&);scanf(&%s&,temp-&xi);
   printf(&请输入学生的专业:\n&);scanf(&%s&,temp-&zhuan);
   printf(&请输入学生的地址:\n&);scanf(&%s&,temp-&add);      if (head==NULL)
   {
    head=
    temp-&next=NULL;
   }
   else
   {
    while(p1!=NULL)
    {        p2=p1;
     p1=p1-&
    }
    p2-&next=
    temp-&next=NULL;
   }
   printf(&插入末尾成功&);
   pc++;    printf(&是否继续插入 1.Yes 2.No;\n&);
   scanf(&%d&,&pd);
   if(pd==1)
   return (head); } /*删除学生记录*/ ID *delet(ID *head) {
ID *p1,*p2;
printf(&请输入要删除的学生的学号:&);scanf(&%d&,&num);
if (head==NULL)
 printf(&没有记录\n&);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 if (p1==head)
  head=p1-&
 else
  p2-&next=p1-&
 printf(&删除成功!!!\n&);
 pc--;  //free(p1);
 //free(p2); } end: } /*查找学生记录*/ ID *search(ID *head) {
ID *p1,*p2;
printf(&请输入要查找的学生的学号:&);scanf(&%d&,&num);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 printf(&学生的学号:%d\n&,p1-&num);  printf(&学生的姓名:%s\n&,p1-&name);  printf(&学生的年龄:%d\n&,p1-&age);
 printf(&学生的性别:%s\n&,p1-&sex);
 printf(&学生的系别:%s\n&,p1-&xi);
 printf(&学生的专业:%s\n&,p1-&zhuan);
 printf(&学生的地址:%s\n&,&p1-&add);
 //free(p1);
 //free(p2); } } /*按学号查询学生记录进行修改*/ ID *modify_num(ID *head) {
int i,m,n, start:  
printf(&请输入要修改的学生的学号:&);
scanf(&%d&,&num);
while(p!=NULL )
 if(num==p-&num)
  m=1;
  while(m==1)
   m=0;
   printf(&\t\t       1.修改学生的学号\n&);
   printf(&\t\t       2.修改学生的姓名\n&);
   printf(&\t\t       3.修改学生的年龄\n&);
   printf(&\t\t       4.修改学生的性别\n&);
   printf(&\t\t       5.修改学生的系别\n&);
   printf(&\t\t       6.修改学生的专业\n&);    printf(&\t\t       7.修改学生的地址\n&);    printf(&请选择(1--7):&);
   scanf(&%d&,&i);
   switch( i )
   {
   case 1 :  
    printf(&请输入修改后的学号:&);
    scanf(&%d&,&p-&num);
   
   case 2:  
    printf(&请输入修改后的姓名:&);
    scanf(&%s&,p-&name);
   
   case 3:       printf(&请输入修改后的年龄:&);
    scanf(&%d&,&p-&age);
   
   case 4:  
    printf(&请输入修改后的性别:&);
    scanf(&%s&,&p-&sex);
   
   case 5:  
    printf(&请输入修改后的系别:&);
    scanf(&%s&,p-&xi);
   
   case 6:  
    printf(&请输入修改后的专业:&);
    scanf(&%s&,p-&zhuan);
       case 7:  
    printf(&请输入修改后的地址:&);
    scanf(&%s&,p-&add);
       default: printf(&输入错误,请重新输入&);
   }   }
   }
 p=p-& }
printf(&是否继续修改其他学生情况(1改 2不改):&);
scanf(&%d&,&n); if(n==1)
} /*退出程序*/ void ask_age() {
if(pc==0) {  printf(&没有记录\n&);   } ave_age=float(sum_age*1.0/pc); printf(&%f\n&,ave_age); printf(&%d\n&,max_age); printf(&%d\n&,min_age); } /*显示结果函数*/ void print(ID *head){
  ID *p;
  printf(&\t\t\t*****************\n&);
  printf(&显示结果是:\n&);
  if(head!=NULL)
   do {
     printf(&%10d%10s%10d%10s%10s%10s%10s\n&,p-&num,p-&name,p-&age,p-&sex,p-&xi,p-&zhuan,p-&add);
  p=p-&
} while(p!=NULL); }
  void main() {
printf(&\t\t\t* * * * 李林C语言课设* * * *\n&);
{    
 printf(&\t\t            学生信息管理系统\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&\t\t  1.建立文件\n&);
 printf(&\t\t  2.插入数据\n&);
 printf(&\t\t  3.删除数据\n&);
 printf(&\t\t  4.修改记录\n&);
 printf(&\t\t  5.搜索记录\n&);  printf(&\t\t  6.求年龄\n&);
 printf(&\t\t  0.退出\n&);
 printf(&\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&请选择(0-6):&);
 scanf(&%d&,&choise);
 switch(choise)
 case 1: head=creat();
  print(head);
 case 2: head=insert(head);
  print(head);
 case 3: head=delet(head);
  print(head);
 case 4: head=modify_num(head);
  print(head);
 case 5:search(head);
  print(head);  
 case 6:ask_age();    case 0:
  exit(0);
 default :printf(&输入错误,请重新输入!\n&);
请登录后再发表评论!
我有学生信息管理,不知你要求是什么,给你个参考吧#include&stdio.h& #include&stdlib.h& #include&malloc.h& #include&string.h& #define ID struct id struct id { char name[20];    //  xing ming          //  xue hao          //  nian ling char sex[2];      //  xing bie char xi[20];  //  xi bie char zhuan[20];   //  zhuan ye   char add[20];     //  di zhi ID *         //}; // FILE * // ID * int sum_age=0,max_age=0,min_age=100,pc=0;float ave_age=0;ID *creat() {
ID *p1,*p2,*
p1=p2=head=NULL;
printf(&\t\t\t 开始输入记录!!!\n&);
printf(&please input pd:\n&);
scanf(&%d&,&pd);
while(pd!=0)
 p1=(ID*)malloc(sizeof(ID));
 printf(&请输入学生的学号:\n&);scanf(&%d&,&p1-&num);
 printf(&请输入学生的姓名:\n&);scanf(&%s&,p1-&name);
 printf(&请输入学生的年龄:\n&);scanf(&%d&,&p1-&age);
 sum_age+=p1-&  if(max_age&p1-&age) max_age=p1-&  if(min_age&p1-&age) min_age=p1-&  printf(&请输入学生的性别:\n&);scanf(&%s&,p1-&sex);  
 printf(&请输入学生的系别:\n&);scanf(&%s&,p1-&xi);
 printf(&请输入学生的专业:\n&);scanf(&%s&,p1-&zhuan);
 printf(&请输入学生的地址:\n&);scanf(&%s&,&p1-&add);
 if(head==NULL)  {
  head=p1;
  p2=p1;  }
 else
  p2-&next=p1;
  p2=p1;
 printf(&please input pd:\n&);
 scanf(&%d&,&pd);
 pc++; }     p2-&next=NULL;
  return(head); }
  /*输入/添加记录*/ ID *insert(ID *head) {
ID *temp,*p1,*p2;
start: p1=
   printf(&插入操作开始!!!\n&);    temp=(ID *)malloc(sizeof(ID));
      printf(&请输入学生的学号:\n&);scanf(&%d&,&temp-&num);
   printf(&请输入学生的姓名:\n&);scanf(&%s&,temp-&name);
      printf(&请输入学生的年龄:\n&);scanf(&%d&,&temp-&age);
   printf(&请输入学生的性别:\n&);scanf(&%s&,temp-&sex);  
   printf(&请输入学生的系别:\n&);scanf(&%s&,temp-&xi);
   printf(&请输入学生的专业:\n&);scanf(&%s&,temp-&zhuan);
   printf(&请输入学生的地址:\n&);scanf(&%s&,temp-&add);      if (head==NULL)
   {
    head=
    temp-&next=NULL;
   }
   else
   {
    while(p1!=NULL)
    {        p2=p1;
     p1=p1-&
    }
    p2-&next=
    temp-&next=NULL;
   }
   printf(&插入末尾成功&);
   pc++;    printf(&是否继续插入 1.Yes 2.No;\n&);
   scanf(&%d&,&pd);
   if(pd==1)
   return (head); } /*删除学生记录*/ ID *delet(ID *head) {
ID *p1,*p2;
printf(&请输入要删除的学生的学号:&);scanf(&%d&,&num);
if (head==NULL)
 printf(&没有记录\n&);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 if (p1==head)
  head=p1-&
 else
  p2-&next=p1-&
 printf(&删除成功!!!\n&);
 pc--;  //free(p1);
 //free(p2); } end: } /*查找学生记录*/ ID *search(ID *head) {
ID *p1,*p2;
printf(&请输入要查找的学生的学号:&);scanf(&%d&,&num);
while(num!=p1-&num && p1!=NULL)
 p2=p1;p1=p1-&
if(num==p1-&num)  
 printf(&学生的学号:%d\n&,p1-&num);  printf(&学生的姓名:%s\n&,p1-&name);  printf(&学生的年龄:%d\n&,p1-&age);
 printf(&学生的性别:%s\n&,p1-&sex);
 printf(&学生的系别:%s\n&,p1-&xi);
 printf(&学生的专业:%s\n&,p1-&zhuan);
 printf(&学生的地址:%s\n&,&p1-&add);
 //free(p1);
 //free(p2); } } /*按学号查询学生记录进行修改*/ ID *modify_num(ID *head) {
int i,m,n, start:  
printf(&请输入要修改的学生的学号:&);
scanf(&%d&,&num);
while(p!=NULL )
 if(num==p-&num)
  m=1;
  while(m==1)
   m=0;
   printf(&\t\t       1.修改学生的学号\n&);
   printf(&\t\t       2.修改学生的姓名\n&);
   printf(&\t\t       3.修改学生的年龄\n&);
   printf(&\t\t       4.修改学生的性别\n&);
   printf(&\t\t       5.修改学生的系别\n&);
   printf(&\t\t       6.修改学生的专业\n&);    printf(&\t\t       7.修改学生的地址\n&);    printf(&请选择(1--7):&);
   scanf(&%d&,&i);
   switch( i )
   {
   case 1 :  
    printf(&请输入修改后的学号:&);
    scanf(&%d&,&p-&num);
   
   case 2:  
    printf(&请输入修改后的姓名:&);
    scanf(&%s&,p-&name);
   
   case 3:       printf(&请输入修改后的年龄:&);
    scanf(&%d&,&p-&age);
   
   case 4:  
    printf(&请输入修改后的性别:&);
    scanf(&%s&,&p-&sex);
   
   case 5:  
    printf(&请输入修改后的系别:&);
    scanf(&%s&,p-&xi);
   
   case 6:  
    printf(&请输入修改后的专业:&);
    scanf(&%s&,p-&zhuan);
       case 7:  
    printf(&请输入修改后的地址:&);
    scanf(&%s&,p-&add);
       default: printf(&输入错误,请重新输入&);
   }   }
   }
 p=p-& }
printf(&是否继续修改其他学生情况(1改 2不改):&);
scanf(&%d&,&n); if(n==1)
} /*退出程序*/ void ask_age() {
if(pc==0) {  printf(&没有记录\n&);   } ave_age=float(sum_age*1.0/pc); printf(&%f\n&,ave_age); printf(&%d\n&,max_age); printf(&%d\n&,min_age); } /*显示结果函数*/ void print(ID *head){
  ID *p;
  printf(&\t\t\t*****************\n&);
  printf(&显示结果是:\n&);
  if(head!=NULL)
   do {
     printf(&%10d%10s%10d%10s%10s%10s%10s\n&,p-&num,p-&name,p-&age,p-&sex,p-&xi,p-&zhuan,p-&add);
  p=p-&
} while(p!=NULL); }
  void main() {
printf(&\t\t\t* * * * 李林C语言课设* * * *\n&);
{    
 printf(&\t\t            学生信息管理系统\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&\t\t  1.建立文件\n&);
 printf(&\t\t  2.插入数据\n&);
 printf(&\t\t  3.删除数据\n&);
 printf(&\t\t  4.修改记录\n&);
 printf(&\t\t  5.搜索记录\n&);  printf(&\t\t  6.求年龄\n&);
 printf(&\t\t  0.退出\n&);
 printf(&\n&);
 printf(&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n&);
 printf(&请选择(0-6):&);
 scanf(&%d&,&choise);
 switch(choise)
 case 1: head=creat();
  print(head);
 case 2: head=insert(head);
  print(head);
 case 3: head=delet(head);
  print(head);
 case 4: head=modify_num(head);
  print(head);
 case 5:search(head);
  print(head);  
 case 6:ask_age();    case 0:
  exit(0);
 default :printf(&输入错误,请重新输入!\n&);
请登录后再发表评论!

我要回帖

更多关于 急求好看的电影 的文章

 

随机推荐