﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-liuyz2006-文章分类-c/c++</title><link>http://www.blogjava.net/liuyz2006/category/50628.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 17 Jan 2012 08:04:20 GMT</lastBuildDate><pubDate>Tue, 17 Jan 2012 08:04:20 GMT</pubDate><ttl>60</ttl><item><title>c语言之登录系统</title><link>http://www.blogjava.net/liuyz2006/articles/368521.html</link><dc:creator>阿者</dc:creator><author>阿者</author><pubDate>Sat, 14 Jan 2012 14:39:00 GMT</pubDate><guid>http://www.blogjava.net/liuyz2006/articles/368521.html</guid><wfw:comment>http://www.blogjava.net/liuyz2006/comments/368521.html</wfw:comment><comments>http://www.blogjava.net/liuyz2006/articles/368521.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyz2006/comments/commentRss/368521.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyz2006/services/trackbacks/368521.html</trackback:ping><description><![CDATA[<div class="articalTitle">
<h2 class="titName SG_txta" id="t_62b7c2210100h03n">c语言之登录系统</h2></div><!-- 正文开始 -->

<div class="articalContent  " id="sina_keyword_ad_area2">
<p>#include &lt;stdio.h&gt;<br />#include &lt;string.h&gt;<br />#define N 100<br />struct user<br />{<br />&nbsp;<wbr>int user_id;<br />&nbsp;<wbr>char username[18];<br />&nbsp;<wbr>char password[16];<br />};</p>
<p>int is_username_length_available(char* p);<br />int is_username_character_available(char* p);<br />int is_password_length_available(char* p);<br />int is_password_character_available(char* p);<br />int is_password_same(char* pre_psd,char* wait_psd);<br />int user_register(struct user *userinfo,int count);<br />int loop_username(char* p);<br />int loop_password(char* p);<br />void password_input(char* pre_psd,char* re_psd);<br />int count_password_ckeck(struct user *userinfo,int count);<br />int is_my_user_id(int input_id,int restore_id);<br />int is_my_user_psd(char* input_psd,char* p);<br />int update(struct user *userinfo,int count);<br />int show_menu();</p>
<p>int i=0;<br />int main()<br />{<br />&nbsp;<wbr>int num;<br />&nbsp;<wbr>struct user userinfo[100];<br />&nbsp;<wbr>while(1)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>switch(show_menu())<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 1:<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(user_register(userinfo,i))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>i++;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>;break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 2:<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(count_password_ckeck(userinfo,i))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("登陆成功！\n");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>;break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 3:<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(update(userinfo,i))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("密码修改成功\n");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("密码修改失败\n");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>;break;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>}<br />&nbsp;<wbr><br />}</p>
<p>&nbsp;<wbr></p>
<p>//user:</p>
<p>//judge username's length available<br />int is_username_length_available(char* p)<br />{<br />&nbsp;<wbr>if(strlen(p)&gt;18||strlen(p)&lt;6)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 0;&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;&nbsp;<wbr><br />&nbsp;<wbr>}&nbsp;<wbr><br />}</p>
<p>//judge username's character available<br />int is_username_character_available(char* p)<br />{<br />&nbsp;<wbr>int i;<br />&nbsp;<wbr>if((*p&gt;='a'&amp;&amp;*p&lt;='z')||(*p&gt;='A'&amp;&amp;*p&lt;='Z'))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>for(i=0;i&lt;strlen(p);i++)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(((p[i]&lt;'a'&amp;&amp;p[i]&gt;'z') || (p[i]&lt;'A'&amp;&amp;p[i]&gt;'Z') ||(p[i]&lt;'0'&amp;p[i]&gt;'9')))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>return 0;&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>else if((p[i]==' '))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("您输入的用户命中含有空格,请检查！\n");;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>}&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr>else if(*p=='_')<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>}&nbsp;<wbr><br />}</p>
<p>//password:</p>
<p>//is password length available<br />int is_password_length_available(char* p)<br />{<br />&nbsp;<wbr>if(strlen(p)&gt;16||strlen(p)&lt;6)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 0;&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;&nbsp;<wbr><br />&nbsp;<wbr>}<br />}</p>
<p>//is password character available<br />int is_password_character_available(char* p)<br />{<br />&nbsp;<wbr>int i;<br />&nbsp;<wbr>if((*p&gt;='a'&amp;&amp;*p&lt;='z')||(*p&gt;='A'&amp;&amp;*p&lt;='Z'))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>for(i=0;i&lt;strlen(p);i++)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if((p[i]==' ') || (p[i]&lt;'a'&amp;&amp;p[i]&gt;'z') || (p[i]&lt;'A'&amp;&amp;p[i]&gt;'Z'))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>return 0;&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>else if((p[i]==' '))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>}&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>}&nbsp;<wbr><br />}</p>
<p>//ckeck password<br />int is_password_same(char* pre_psd,char* wait_psd)<br />{<br />&nbsp;<wbr>if(strcmp(pre_psd,wait_psd)==0)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}<br />}</p>
<p>//loop username error<br />int loop_username(char* p)<br />{<br />&nbsp;<wbr>if(!is_username_length_available(p))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("您输入的用户名长度应该在6-18范围,请您检查！\n");<br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}<br />&nbsp;<wbr>else if(!is_username_character_available(p))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("您输入的用户名首字符是下划线,请您以字母或者数字开头！\n");<br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}&nbsp;<wbr><br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>}<br />}</p>
<p>//loop password error<br />int loop_password(char* p)<br />{<br />&nbsp;<wbr>if(!is_password_length_available(p))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("您输入的密码长度应该在6-16范围,请您检查！\n");&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}<br />&nbsp;<wbr>else if(!is_password_character_available(p))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("您输入的密码不符合要求,只有字母,数字，下划线等字符才满足要求，请您检查！\n");&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>}<br />}</p>
<p>//password input&amp;check<br />void password_input(char* pre_psd,char* re_psd)<br />{<br />&nbsp;<wbr>printf("请输入密码：\n");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> fflush(stdin);<br />&nbsp;<wbr>scanf("%s",pre_psd);<br />&nbsp;<wbr>while(!loop_password(pre_psd))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("请输入密码：\n");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr>&nbsp;<wbr>scanf("%s",pre_psd);<br />&nbsp;<wbr>&nbsp;<wbr>printf("请再次输入密码：\n");<br />&nbsp;<wbr>&nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr>&nbsp;<wbr>scanf("%s",re_psd);&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>while(!is_password_same(pre_psd,re_psd))<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("-------------------------！\n");<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>}<br />&nbsp;<wbr>printf("请再次输入密码：\n");<br />&nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr>scanf("%s",re_psd);<br />&nbsp;<wbr>if(is_password_same(pre_psd,re_psd))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("mimayizhi\n");<br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("mimabuyizhi\n");<br />&nbsp;<wbr>&nbsp;<wbr>password_input(pre_psd,re_psd);<br />&nbsp;<wbr>}<br />}</p>
<p>//user register<br />int user_register(struct user *userinfo,int count)<br />{<br />&nbsp;<wbr><br />&nbsp;<wbr>char pre_psd[16];<br />&nbsp;<wbr>char re_psd[16];<br />&nbsp;<wbr>printf("请输入用户名：\n");<br />&nbsp;<wbr>scanf("%s",userinfo[count].username);<br />&nbsp;<wbr>while(!loop_username(userinfo[count].username))<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("请输入用户名：\n");<br />&nbsp;<wbr>&nbsp;<wbr>scanf("%s",userinfo[count].username);&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr>password_input(pre_psd,re_psd);<br />&nbsp;<wbr>strcpy(userinfo[count].password,pre_psd);&nbsp;<wbr><br />&nbsp;<wbr>printf("username:%s\npassword:%s\n",userinfo[count].username,userinfo[count].password);<br />&nbsp;<wbr>printf("您已经完成注册！\n您的账号为：%d\n",userinfo[count].user_id=10000+count);<br />&nbsp;<wbr>return 1;<br />}</p>
<p>//implement login function<br />int count_password_ckeck(struct user *userinfo,int count)<br />{<br />&nbsp;<wbr>int k;<br />&nbsp;<wbr>int temp;<br />&nbsp;<wbr>int counter;<br />&nbsp;<wbr>char input_psd[16];<br />&nbsp;<wbr>for(k=0;k&lt;count;k++)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_id(counter,userinfo[k].user_id);<br />&nbsp;<wbr>&nbsp;<wbr>while(!temp)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_id(counter,userinfo[k].user_id);<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_psd(input_psd,userinfo[k].password);<br />&nbsp;<wbr>&nbsp;<wbr>while(!temp)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_psd(input_psd,userinfo[k].password);<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>}<br />}</p>
<p>//is my user_id<br />int is_my_user_id(int input_id,int restore_id)<br />{<br />&nbsp;<wbr>printf("请输入您的账号：\n");<br />&nbsp;<wbr>scanf("%d",&amp;input_id);<br />&nbsp;<wbr>if(input_id==restore_id)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("您输入的账号不存在,请检查！\n");<br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}<br />}<br />&nbsp;<wbr><br />&nbsp;<wbr>//is_my_user_psd<br />&nbsp;<wbr><br />int is_my_user_psd(char* input_psd,char* p)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>printf("请您输入密码：\n");<br />&nbsp;<wbr>scanf("%s",input_psd);<br />&nbsp;<wbr>if(strcmp(input_psd,p)==0)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>//printf("登陆成功！\n");<br />&nbsp;<wbr>&nbsp;<wbr>return 1;&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr>else<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("您输入的密码不正确，请检查后重新输入！\n");<br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}<br />&nbsp;<wbr>}<br />&nbsp;<wbr><br />&nbsp;<wbr><br />&nbsp;<wbr><br />int update(struct user *userinfo,int count)<br />{<br />&nbsp;<wbr>int counter;<br />&nbsp;<wbr>int k;<br />&nbsp;<wbr>int temp;<br />&nbsp;<wbr>char psd[16];<br />&nbsp;<wbr>char psd1[16];<br />&nbsp;<wbr>char psd2[16];<br />&nbsp;<wbr>for(k=0;k&lt;count;k++)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_id(counter,userinfo[k].user_id);<br />&nbsp;<wbr>&nbsp;<wbr>while(!temp)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_id(counter,userinfo[k].user_id);<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_psd(psd,userinfo[k].password);<br />&nbsp;<wbr>&nbsp;<wbr>while(!temp)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>temp=is_my_user_psd(psd,userinfo[k].password);<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>printf("密码正确，您可以对密码进行修改了！\n");<br />&nbsp;<wbr>&nbsp;<wbr>password_input(psd1,psd2);<br />&nbsp;<wbr>&nbsp;<wbr>strcpy(userinfo[k].password,psd1);&nbsp;<wbr><br />&nbsp;<wbr>}<br />&nbsp;<wbr><br />}<br />&nbsp;<wbr><br />//show menu<br />int show_menu()<br />{<br />&nbsp;<wbr>int choice;<br />&nbsp;<wbr>printf("请您选择：\n");<br />&nbsp;<wbr>printf("1.用户注册\n2.用户登录\n3.密码修改\n请输入1-3\n");<br />&nbsp;<wbr>scanf("%d",&amp;choice);<br />&nbsp;<wbr>return choice;<br />}<br /></p></div><img src ="http://www.blogjava.net/liuyz2006/aggbug/368521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyz2006/" target="_blank">阿者</a> 2012-01-14 22:39 <a href="http://www.blogjava.net/liuyz2006/articles/368521.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C程序之成绩管理系统</title><link>http://www.blogjava.net/liuyz2006/articles/368520.html</link><dc:creator>阿者</dc:creator><author>阿者</author><pubDate>Sat, 14 Jan 2012 14:35:00 GMT</pubDate><guid>http://www.blogjava.net/liuyz2006/articles/368520.html</guid><wfw:comment>http://www.blogjava.net/liuyz2006/comments/368520.html</wfw:comment><comments>http://www.blogjava.net/liuyz2006/articles/368520.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyz2006/comments/commentRss/368520.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyz2006/services/trackbacks/368520.html</trackback:ping><description><![CDATA[<div class="articalTitle">
<h2 class="titName SG_txta" id="t_62b7c2210100ft57">C程序之成绩管理系统</h2></div>
<div class="articalContent  " id="sina_keyword_ad_area2">
<p>#include&lt;stdio.h&gt;<br />#include&lt;stdlib.h&gt;<br />#include&lt;string.h&gt;<br />#include&lt;ctype.h&gt;<br />//以上为包含的头文件<br />#define N 100 //宏定义</p>
<p>struct user//定义一个用户的结构体<br />{<br />&nbsp;<wbr>//以下为用户的不同数据类型<br />&nbsp;<wbr>&nbsp;<wbr>int user_id;<br />&nbsp;<wbr>&nbsp;<wbr>char user_name[19];//最大18位<br />&nbsp;<wbr>&nbsp;<wbr>char password[13];//最大13位<br />&nbsp;<wbr>char like[255];<br />&nbsp;<wbr>&nbsp;<wbr>char sign[255];<br />};</p>
<p>struct student//定义一个学生的结构体<br />{<br />&nbsp;<wbr>//以下为学生的不同数据类型<br />&nbsp;<wbr>&nbsp;<wbr>int num;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> char name[20];<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> char clas[20];<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> char courseno[20];<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> float score[3];<br />&nbsp;<wbr>float avg;<br />};</p>
<p>int i=0;//全局变量 统计个数</p>
<p>//以下为进入系统的函数定义<br />int length_password(char *p);<br />int valid_user_name(char *p);<br />int is_username_valid(char *p);<br />int length_password(char *p);<br />int is_password_valid(char *p);<br />int two_password_valid(char *p1,char*p2);<br />int user_register(struct user *ptr_user,int size);<br />int is_my_user(struct user *p,int size);<br />void display_user(struct user u);<br />void update_password(struct user *ptr_user,int size);</p>
<p>//以下为学生信息处理的函数定义<br />void input(struct student a[] );&nbsp;<wbr> //录入函数<br />void rank(struct student a[]);&nbsp;<wbr> //排序函数<br />void insert(struct student a[]);&nbsp;<wbr> //插入函数<br />void del(struct student a[]);&nbsp;<wbr>&nbsp;<wbr> //删除函数<br />void display(struct student a[]);//显示函数<br />void search(struct student a[]);//查询函数</p>
<p>int main()<br />{<br />&nbsp;<wbr>struct user our_users[N];//定义一个 our_users[N]的结构体变量<br />&nbsp;<wbr>&nbsp;<wbr>int count = 0;<br />&nbsp;<wbr>&nbsp;<wbr>int current_user;<br />&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>struct student stu[50];//定义一个 stu[50]的结构体变量<br />&nbsp;<wbr>&nbsp;<wbr>int number;//接收选择分支的变量<br />&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>do<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("\n\t\t\t学员成绩管理之共同进步，只为开源\n\n");<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>printf("\n*****************************************************************************\n");<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>printf("\n\n请选择功能\n0.退出\n1.注册\n2.登陆\n3.修改密码\n4.录入\n5.显示\n6.排序\n7.插入\n8.删除\n9.查询\n\n------------------\n");<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>printf("\n请选择0-9\n");<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>scanf("%d",&amp;number);<br />&nbsp;<wbr>&nbsp;<wbr>printf("\n------------------\n\n");<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>switch (number)<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 1:<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>if(user_register(our_users,count))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>count++;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("\n注册成功!");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>//注册<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 2:<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>if((current_user = is_my_user(our_users,count)))<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("\n登陆成功!");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>display_user(our_users[current_user - 1]);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("\n登陆失败!");<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>//登陆<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 3:<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>update_password(our_users,count);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>//修改密码<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 4:input(stu);break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 5:display(stu);break;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 6:rank(stu);break;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 7:insert(stu);break;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 8:del(stu);break;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 9:search(stu);break;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>case 0:break;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>default:printf("您的输入不在输入的数据范围内");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>}while(number!=0);<br />&nbsp;<wbr>&nbsp;<wbr>printf("谢谢你已查寻完毕!下次再见!");<br />&nbsp;<wbr>&nbsp;<wbr>printf("\n");<br />}</p>
<p><br />int length_user_name(char *p)//字符型指针行参<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int l;<br />&nbsp;<wbr>&nbsp;<wbr>l=strlen(p);//p为存放字符串的地址<br />&nbsp;<wbr>&nbsp;<wbr>if(l&gt;18||l&lt;1)<br />&nbsp;<wbr> {<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> return 0;<br />&nbsp;<wbr> }<br />&nbsp;<wbr> else<br />&nbsp;<wbr>&nbsp;<wbr> return l;<br />}</p>
<p><br />int valid_user_name(char *p)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int i=0;<br />&nbsp;<wbr>&nbsp;<wbr>int len = strlen(p);<br />&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>if((*p &gt;= 'a' &amp;&amp; *p &lt;= 'z') || (*p &gt;= 'A' &amp;&amp; *p &lt;='Z')) //判断首字符是不是字母<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>for(i = 0; i &lt; len; i++)<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(!(p[i] == '_' || (p[i] &gt;= 'a' &amp;&amp; p[i] &lt;= 'z') || (p[i] &gt;= 'A' &amp;&amp; p[i] &lt;='Z')<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>||(p[i] &gt;='0' &amp;&amp; p[i] &lt;= '9'))) //判断后面字符是否有效<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />}</p>
<p><br />&nbsp;<wbr><br />int is_username_valid(char *p)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>if((*p &gt;= 'a' &amp;&amp; *p &lt;= 'z') || (*p &gt;= 'A' &amp;&amp; *p &lt;='Z'))<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>p++;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>while(*p)<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(!(isalpha(*p) || *p == '_' || isdigit(*p)))//检查字符是否是字母或0到9数字<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>p++;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}</p>
<p>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />}</p>
<p><br />int length_password(char *p)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int len;<br />&nbsp;<wbr>&nbsp;<wbr>len = strlen(p);<br />&nbsp;<wbr>&nbsp;<wbr>if(len&lt;6||len&gt;12)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return len;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />}</p>
<p><br />int is_password_valid(char *p)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int i=0;</p>
<p>&nbsp;<wbr>&nbsp;<wbr>for(;*p != '\0'; p++)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(!( (*p &gt;= 'a' &amp;&amp; *p &lt;= 'z') || (*p &gt;= 'A' &amp;&amp; *p &lt;='Z')<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>||(*p &gt;='0' &amp;&amp; *p &lt;= '9'))) //判断字符是否有效<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>return 1;<br />}</p>
<p>//检测两次密码输入是否相同<br />int two_password_valid(char *p1,char*p2)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>if(strcmp(p1,p2)==0) &nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 1;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />}</p>
<p>&nbsp;<wbr></p>
<p><br />int user_register(struct user *ptr_user,int size)//定义一个结构体指针数组变量，size为结构体数组的元素个数<br />{<br />&nbsp;<wbr>char password[13];<br />&nbsp;<wbr>&nbsp;<wbr>char repassword[13];<br />&nbsp;<wbr>&nbsp;<wbr>if(size==N)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>puts("注册人数以满!");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>printf("请输入注册姓名:");<br />&nbsp;<wbr>&nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr>&nbsp;<wbr>gets(ptr_user[size].user_name);<br />&nbsp;<wbr>&nbsp;<wbr>if(!(length_user_name(ptr_user[size].user_name)&amp;&amp;valid_user_name(ptr_user[size].user_name)))<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("您输入的姓名无效,用户名在1-18之间,首字符为字母,后面必须为字母,数字或下划线!!!");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>}</p>
<p>&nbsp;<wbr>&nbsp;<wbr>printf("请输入注册密码:");<br />&nbsp;<wbr>&nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr>&nbsp;<wbr>gets(password);<br />&nbsp;<wbr>&nbsp;<wbr>printf("请再次输入注册密码:");<br />&nbsp;<wbr>&nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr>&nbsp;<wbr>gets(repassword);<br />&nbsp;<wbr>&nbsp;<wbr>if(!two_password_valid(password,repassword))<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("\n两次输入的密码不一致!");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>strcpy(ptr_user[size].password,password);<br />&nbsp;<wbr>&nbsp;<wbr>}</p>
<p>&nbsp;<wbr>&nbsp;<wbr>if(!(length_password(ptr_user[size].password)&amp;&amp;is_password_valid(ptr_user[size].password)))<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("您输入的密码无效,密码应在6-12之间,密码只能包含字母和数字!!!");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return 0;<br />&nbsp;<wbr>&nbsp;<wbr>}</p>
<p>&nbsp;<wbr>&nbsp;<wbr>printf("您的编号为:%d,这将是您的登陆帐号.",ptr_user[size].user_id=13579+size);<br />&nbsp;<wbr>&nbsp;<wbr>return 1;<br />}</p>
<p><br />int is_my_user(struct user *p,int size)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int i;<br />&nbsp;<wbr>&nbsp;<wbr>int zhanghu;<br />&nbsp;<wbr>&nbsp;<wbr>char mima[15];<br />&nbsp;<wbr>&nbsp;<wbr>printf("请输入您的帐号: ");<br />&nbsp;<wbr>&nbsp;<wbr>scanf("%d",&amp;zhanghu);<br />&nbsp;<wbr>&nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr>&nbsp;<wbr>printf("请输入您的密码: ");<br />&nbsp;<wbr>&nbsp;<wbr>gets(mima);<br />&nbsp;<wbr>&nbsp;<wbr>for(i=0;i&lt;size;i++)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>if((zhanghu == p[i].user_id)&amp;&amp;(strcmp(mima,p[i].password)==0))<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{</p>
<p>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>return i + 1;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>return 0;<br />}</p>
<p>//显示用户信息<br />void display_user(struct user u)<br />{<br />&nbsp;<wbr>printf("\n你的帐号是:%d",u.user_id);<br />&nbsp;<wbr>&nbsp;<wbr>printf("\n你注册姓名是:%s",u.user_name);<br />}</p>
<p>//修改密码<br />void update_password(struct user *ptr_user,int size)<br />{<br />&nbsp;<wbr>&nbsp;<wbr>char mima1[13],mima2[13];<br />&nbsp;<wbr>&nbsp;<wbr>int i = is_my_user(ptr_user,size);<br />&nbsp;<wbr>&nbsp;<wbr>if(i)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>i--;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("\n帐号密码不存在!");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>return;<br />&nbsp;<wbr>&nbsp;<wbr>}</p>
<p>&nbsp;<wbr>&nbsp;<wbr>printf("请输入新密码: ");<br />&nbsp;<wbr>&nbsp;<wbr>scanf("%s",mima1);<br />&nbsp;<wbr>&nbsp;<wbr>printf("请再次输入新密码: ");<br />&nbsp;<wbr>&nbsp;<wbr>scanf("%s",mima2);<br />&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>if(two_password_valid(mima1,mima2) &amp;&amp; length_password(mima1) &amp;&amp; is_password_valid(mima1))<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>strcpy(ptr_user[i].password,mima1);//完成新旧密码的调换<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("\n您的的密码修改成功!");<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr> &nbsp;<wbr>printf("\\您的密码修改失败!");</p>
<p>}</p>
<p><br />void input(struct student a[])&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> //录入函数，行参为结构体数组a[]<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int j;<br />&nbsp;<wbr>&nbsp;<wbr>char b;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> float sum=0;<br />&nbsp;<wbr>printf("请输入学员信息\n");<br />&nbsp;<wbr>do<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("班级名称：");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>scanf("%s",a[i].clas);<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>printf("学号：");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>scanf("%d",&amp;a[i].num);<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("姓名：");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>scanf("%s",a[i].name);<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("课程编号：");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>scanf("%s",a[i].courseno);<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("三门成绩\n");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>for(j=0;j&lt;3;j++)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("成绩%d：",j+1);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>scanf("%f",&amp;a[i].score[j]);<br />&nbsp;<wbr><br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}//循环输入成绩<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>a[i].avg=(a[i].score[0]+a[i].score[1]+a[i].score[2])/3;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>i++;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("是否继续\n(Y/N)");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>fflush(stdin);<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>scanf("%c",&amp;b);<br />&nbsp;<wbr>}while(b=='Y'||b=='y');<br />&nbsp;<wbr>display(a);<br />}</p>
<p>void display(struct student a[])&nbsp;<wbr>&nbsp;<wbr> //显示函数<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int k;<br />&nbsp;<wbr>&nbsp;<wbr><br />&nbsp;<wbr>&nbsp;<wbr>for(k=0;k&lt;i;k++)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("班级名称=%s,学号=%d,姓名=%s,课程编号=%s,平均值=%2f\n",a[k].clas,a[k].num,a[k].name,a[k].courseno,a[k].avg);<br />&nbsp;<wbr>&nbsp;<wbr>}<br />}</p>
<p>void rank(struct student a[])&nbsp;<wbr>&nbsp;<wbr> //排序函数<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int j;<br />&nbsp;<wbr>int k;<br />&nbsp;<wbr>&nbsp;<wbr>struct student temp;<br />&nbsp;<wbr>&nbsp;<wbr>for(k=0;k&lt;i;k++)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>for(j=0;j&lt;i-k;j++)<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>if(a[j].avg&lt;a[j+1].avg)<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>temp=a[j];<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>a[j]=a[j+1];<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>a[j+1]=temp;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>printf("排序后的学员信息如下\n");<br />&nbsp;<wbr>&nbsp;<wbr>display(a);<br />}</p>
<p>void insert(struct student a[])&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> //插入函数<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int j;<br />&nbsp;<wbr>int k;<br />&nbsp;<wbr>&nbsp;<wbr>struct student temp;<br />&nbsp;<wbr>&nbsp;<wbr>printf("班级名称：");<br />&nbsp;<wbr> &nbsp;<wbr>scanf("%s",temp.clas);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> printf("学号：");<br />&nbsp;<wbr> &nbsp;<wbr>scanf("%d",&amp;temp.num);<br />&nbsp;<wbr> &nbsp;<wbr>printf("姓名：");<br />&nbsp;<wbr> &nbsp;<wbr>scanf("%s",temp.name);<br />&nbsp;<wbr> &nbsp;<wbr>printf("课程编号：");<br />&nbsp;<wbr> &nbsp;<wbr>scanf("%s",temp.courseno);<br />&nbsp;<wbr> &nbsp;<wbr>printf("三门成绩\n");<br />&nbsp;<wbr> &nbsp;<wbr>for(j=0;j&lt;3;j++)<br />&nbsp;<wbr> &nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("成绩%d：",j+1);<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>scanf("%f",&amp;temp.score[j]);<br />&nbsp;<wbr>}<br />&nbsp;<wbr> &nbsp;<wbr>temp.avg=(temp.score[0]+temp.score[1]+temp.score[2])/3;<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> for(j=0;j&lt;i;j++)<br />&nbsp;<wbr> &nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>if(temp.avg&gt;a[j].avg)<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>break;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr> &nbsp;<wbr>}<br />&nbsp;<wbr> &nbsp;<wbr>for(k=i;k&gt;j;k--)<br />&nbsp;<wbr> &nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>a[k]=a[k-1];<br />&nbsp;<wbr> &nbsp;<wbr>}<br />&nbsp;<wbr> &nbsp;<wbr>i++;<br />&nbsp;<wbr> &nbsp;<wbr>a[j]=temp;<br />&nbsp;<wbr> &nbsp;<wbr>display(a);<br />}</p>
<p>void del(struct student a[])&nbsp;<wbr>&nbsp;<wbr> //删除函数<br />{<br />&nbsp;<wbr>&nbsp;<wbr>int k,j;<br />&nbsp;<wbr>&nbsp;<wbr>printf("请输入要删除的学号：");<br />&nbsp;<wbr>&nbsp;<wbr>scanf("%d",&amp;k);<br />&nbsp;<wbr>&nbsp;<wbr>for(j=0;j&lt;i;j++)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>if(k==a[j].num)<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>break;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>if(j&lt;i)<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>for(k=j;k&lt;i-1;k++)<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>a[j]=a[j+1];<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>i--;<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>printf("删除后的学员信息\n");<br />&nbsp;<wbr>&nbsp;<wbr>display(a);<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>&nbsp;<wbr>else<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("没有您要删除的学员\n");<br />&nbsp;<wbr> &nbsp;<wbr>&nbsp;<wbr>display(a);<br />&nbsp;<wbr>&nbsp;<wbr>}<br />}<br />void search(struct student a[])//查询函数<br />{<br />&nbsp;<wbr>int k;<br />&nbsp;<wbr>char inputName[20];<br />&nbsp;<wbr>printf("输入您要查找的学生姓名: \n");<br />&nbsp;<wbr>scanf("%s",inputName);<br />&nbsp;<wbr>for(k=0;k&lt;i;k++)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>if(strcmp(a[k].name,inputName)==0)//判断输入的学生姓名来输出所要查询的学生属性<br />&nbsp;<wbr>&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>printf("班级名称=%s,学号=%d,姓名=%s,课程编号=%s,平均值=%2f\n",a[k].clas,a[k].num,a[k].name,a[k].courseno,a[k].avg);<br />&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>break;<br />&nbsp;<wbr>&nbsp;<wbr>}<br />&nbsp;<wbr>}<br />&nbsp;<wbr>if(k==i)<br />&nbsp;<wbr>{<br />&nbsp;<wbr>&nbsp;<wbr>printf("\n\n对不起!没有查到学号为 %s 的学生信息!",inputName);<br />&nbsp;<wbr>}<br />&nbsp;<wbr><br />}</p>
<p>//共同进步，只为开源 </p>
<p>&nbsp;</p>
<p>&nbsp;</p></div><img src ="http://www.blogjava.net/liuyz2006/aggbug/368520.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyz2006/" target="_blank">阿者</a> 2012-01-14 22:35 <a href="http://www.blogjava.net/liuyz2006/articles/368520.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>