输出全班学生的信息
1 /* 2 2 功能Function Description: 解决老师给的问题; 3 3 开发环境Environment: DEV C++ 4.9.9.1 4 4 技术特点Technique: 5 5 版本Version: 6 6 作者Author: 遥感专业赵杰迪 7 7 日期Date: 20121114 8 8 备注Notes: 主要纠结与随机数怎样产生,后来发现产生的是伪随机数,在网上查了下,就好了; 9 9 10 15 */ 11 12 #include<stdio.h> 13 #include<string.h> 14 #include<windows.h> 15 #include<algorithm> 16 #include<stdlib.h> 17 //////////////////////////////////////////////////////////////////////////////////////////////////////////// 18 char name[31][7]={"黄双燕","孙欣欣","吴明阳"," ","张梦娜","白胜富","陈良宇","高小旭","苟继承","韩冬冬", 19 "李浩","刘川","刘永强","吕文明","罗强","马战林","彭凯峰","秦文发","孙亚洲","田中玉", 20 "王鹏","徐楠楠","许忠雄","杨艳魁","张梦伟","张鹏鹏","赵杰迪","周和禹","周元可","朱彦凯","贾立娟"}; 21 //////////////////////////////////////////////////////////////////////////////////////////////////////////// 22 void suijishu() 23 { 24 int i,j,m,n,r ; 25 for(i=0;i<2;i++) 26 { 27 srand((i+GetTickCount())); 28 for(j=0;j<12365478;j++) 29 { r=rand(); 30 r=rand(); 31 } 32 printf("%d",r);break; 33 34 } 35 } 36 37 void allprint() 38 { 39 int i; 40 printf("\t遥感三班基本信息如下:\n"); // 标题 41 printf(" 姓名\t\t学号\t\t随机数\n"); // 属性 42 for(i=0;i<31;i++) 43 { 44 if(i==30)printf("%s\t%18s\t",name[i],"311113010202"); //转专业学生,特殊处理; 45 else if(i==26)printf("\n%s\t%16s%02d\t",name[i],"3111050603",i+1);//本人的要输入两次奥,其实不明白为啥? 46 else printf("%s\t%16s%02d\t",name[i],"3111050603",i+1); //本班原有学生,正常处理; 47 suijishu(); 48 if(i==26)printf("\t这是我自己的\n"); //产生随机数; 49 printf("\n"); 50 } 51 } 52 void searchprint(char *str) 53 { 54 int id,len,ok1=0,i ; //标志变量ok1 ; 55 len=strlen(str); 56 if(len==12) 57 { 58 id=atoi(str+10); //将字符的后两位转为整型数; 59 str[10]='\0'; 60 //puts(str); 61 if(strcmp(str,"3111050603")==0&&id>=1&&id<=30) //判断输入字符是否是本班学号; 62 printf("%s\n",name[id-1]); 63 else if(strcmp(str,"3111130102")==0) //特殊处理; 64 printf("%s\n",name[30]); 65 else 66 ok1=1; 67 68 } 69 else if(len==4||len==6) 70 { 71 int ok2=0; //标志变量ok2 72 for(i=0;i<31;i++) 73 { 74 if(strcmp(str,name[i])==0) 75 { 76 if(i==30) printf("%s\n","311113010202"); //特殊处理; 77 else printf("%s%d\n","3111050603",i+1); 78 ok2=1; //在姓名中找到才将标志变量ok2=1; 79 } 80 81 } 82 ok1=ok2==1?0:1; 83 84 } 85 else 86 ok1=1; 87 if(ok1) 88 printf("输入错误,请输入学号或姓名!!!\n"); 89 90 } 91 92 int main() 93 { 94 95 char str[100]; 96 allprint(); 97 printf("请输入你要的查找(可输入学号或姓名《请以文件结束符结束!!》):\n"); //仅提供姓名和学号搜索,以CTRL+Z+ENTER结束; 98 while(~scanf("%s",str)) 99 { 100 searchprint(str); //计算长度,分类讨论; 101 memset(str,0,sizeof(str)); 102 } 103 return 0; 104 system("pause"); 105 }
posted on 2012-12-17 17:12 LinuxPanda 阅读(465) 评论(0) 编辑 收藏 举报