| 
			 1 
			2 
			3 
			4 
			5 
			6 
			7 
			8 
			9 
			10 
			11 
			12 
			13 
			14 
			15 
			16 
			17 
			18 
			19 
			20 
			21 
			22 
			23 
			24 
			25 
			26 
			27 
			28 
			29 
			30 
			31 
			32 
			33 
			34 
			35 
			36 
			37 
			38 
			39 
			40 
			41 
			42 
			43 
			44 
			45 
			46 
			47 
			48 
			49 
			50 
			51 
			52 
			53 
			54 
			55 
			56 
			57 
			58 
			59 
			60 
			61 
			62 
			63 
			64 
			65 
			66 
			67 
			68 
			69 
			70 
			71 
			72 
			73 
			74 
			75 
			76 
			77 
			78 
			79 
			80 
			81 
			82 
			83 
			84 
			85 
			86 
			87 
			88 
			89 
			90 
			91 
			92 
			93 
			94 
			95 
			96 
			97 
			98 
			99 
			100 
			101 
			102 
			103 
			104 
			105 
			106 
			107 
			108 
			109 
			110 
			111 
			112 
			113 
			114 
			115 
			116 
			117 
			118 
			119 
			120 
			121 
			122 
			123 
			124 
			125 
			126 
			127 
			128 
			129 
			130 
			131 
			132 
			133 
			134 
			135 
			136 
			137 
			138 
			139 
			140 
			141 
			142 
			143 
			144 
			145 
			146 
			147 
			148 
			149 
			150 
			151 
			152 
			153 
			154 
			155 
			156 
			157 
			158 
			159 
			160 
			161 
			162 
			163 
			164 
			165 
			166 
			167 
			168 
			169 
			170 
			171 
			172 
			173 
			174 
			175 
			176 
			177 
			178 
			179 
			180 
			181 
			182 
			183 
			184 
			185 
			186 
			187 
			188 
			189 
			190 
			191 
			192 
			193 
			194 
			195 
			196 
			197 
			198 
			199 
			200 
			201 
			202 
			203 
			204 
			205 
			206 
			207 
			208 
			209 
			210 
			211 
			212 
			213 
			214 
			215 
			216 
			217 
			218 
			219 
			220 
			221 
			222 
			223 
			224 
			225 
			226 
			227 
			228 
			229 
			230 
			231 
			232 
			233 
			234 
			235 
			236 
			237 
			238 
			239 
			240 
			241 
			242 
			243 
			244 
			245 
			246 
			247 
			248 
			249 
			250 
			251 
			252 
			253 
			254 
			255 
			256 
			257 
			258 
			259 
			260 
			261 
			262 
			263 
			264 
			265 
			266 
			267 
			268 
			269 
			270 
			271 
			272 
			273 
			274 
			275 
			276 
			277 
			278 
			279 
			280 
			281 
			282 
			283 
			284 
			285 
			286 
			287 
			288 
			289 
			290 
			291 
			292 
			293 
			294 
			295 
			296 
			297 
			298 
			299 
			300 
			301 
			302 
			303 
			304 
			305 
			306 
			307 
			308 
			309 
			310 
			311 
			312 
			313 
			314 
			315 
			316 
			317 
			318 
			319 
			320 
			321 
			322 
			 | 
			
			 #include <stdio.h> 
			#include <stdlib.h> 
			#include <string.h> 
			#define N 10 
			struct student 
			{ 
			    char num[10]; 
			    char name[20]; 
			    int old; 
			    char add[30]; 
			    char xb[5]; 
			    char mc[5]; 
			    int ds; 
			    int eng; 
			    int math; 
			    int lan; 
			}; 
			struct student stu[N]; 
			int count=0; 
			void insert(int i) //输入学生的具体信息 
			{ 
			    printf("第%d个学生的姓名:",i); 
			    scanf("%s",stu[i].name); 
			    printf("第%d个学生的年龄:",i); 
			    scanf("%d",&stu[i].old); 
			    printf("第%d个学生的住址:",i); 
			    scanf("%s",stu[i].add); 
			    printf("第%d个学生的性别:",i); 
			    scanf("%s",stu[i].xb); 
			    printf("第%d个学生的民簇:",i); 
			    scanf("%s",stu[i].mc); 
			    printf("第%d个学生的线性代数分数:",i); 
			    scanf("%d",&stu[i].ds); 
			    printf("第%d个学生的英语分数:",i); 
			    scanf("%d",&stu[i].eng); 
			    printf("第%d个学生的高等数学分数:",i); 
			    scanf("%d",&stu[i].math); 
			    printf("第%d个学生的C语言分数:",i); 
			    scanf("%d",&stu[i].lan); 
			    count++; 
			    sprintf(stu[i].num,"%d",count); 
			} 
			void input() //输入数据 
			{ 
			    system("color 3e"); 
			    void menu(); 
			    void insert(int i); 
			    int i,k,l,u; 
			    printf("请设定输入的学生人数:"); 
			    scanf("%d",&u); 
			    while(u<1||u>10) 
			    { 
			        printf("超出数据范围请重输:"); 
			        scanf("%d",&u); 
			    } 
			    for(i=1;i<u+1;i++) 
			    { 
			        printf("\n请输入第%d个学生的信息!\n",i); 
			        insert(i); 
			    } 
			    do 
			    { 
			        printf("请按0返回菜单:"); 
			        scanf("%d",&k); 
			        if (k==0) 
			        { 
			            system("cls"); 
			            menu(); 
			        } 
			        else 
			            l=0; 
			    }while(l==0); 
			} 
			void search() //查询成绩 
			{ 
			    system("color 3f"); 
			    void menu(); 
			    void printf_one(int k); 
			    struct student s; 
			    int i,k,w0,w1,w2; 
			    do 
			    { 
			        printf("1.姓名  2.学号 \n请选择查找的类别:"); 
			        scanf("%d",&w1); 
			        if (w1<1||w1>2) 
			        { 
			            printf("输入错误!请重输:\n"); 
			            w2 = 1; 
			        } 
			        else 
			            w2 = 0; 
			    }while(w2 == 1); 
			    if(w1==1) //按姓名查找 
			    { 
			        do 
			        { 
			            k=-1; 
			            do 
			            { 
			                printf("请输入您想查找的学生的姓名:"); 
			                scanf("%s",s.name); 
			                for(i= 1;i<N;i++) 
			                    if(strcmp(s.name,stu[i].name)==0) 
			                    { 
			                        k=i; 
			                        s=stu[i]; 
			                    } 
			                if(k==-1) //没有找到 
			                { 
			                    int o; 
			                    printf("\n没有这个学生的信息!\n"); 
			                    printf("\n 1.继续  2.返回菜单 \n请选择进行下一个操作;"); 
			                    scanf("%d",&o); 
			                    if (o==1) 
			                    { 
			                        system("cls"); 
			                        search(); //继续查找 
			                    } 
			                    if(o==2) 
			                    { 
			                        system("cls"); 
			                        menu(); //返回菜单 
			                    } 
			                } 
			            }while(k==-1); 
			            system("cls"); 
			            printf_one(k); //查找到以后输出这个学生的信息 
			            printf("\n 1.继续  2.返回菜单 \n请选择进行下一个操作:"); 
			            scanf("%d",&w0); 
			        }while(w0==1); 
			        system("cls"); 
			        menu(); //不再查找时返回菜单 
			    } 
			    else //按学号查找 
			    { 
			        do 
			        { 
			            k=-1; 
			            do 
			            { 
			                printf("请输入您想查找的学生的学号:"); 
			                scanf("%s",s.num); 
			                for(i=0;i<N;i++) 
			                    if(strcmp(s.num,stu[i].num)==0) //找到了 
			                    { 
			                        k=i; 
			                        s=stu[i]; 
			                    } 
			                if(k==-1)    //没有找到 
			                { 
			                    int o; 
			                    printf("\n没有这个学生的信息!\n"); 
			                    printf("\n 1.继续  2.返回菜单 \n请选择进行下一个操作:"); 
			                    scanf("%d",&o); 
			                    if(o==1) 
			                    { 
			                        system("cls"); 
			                        search(); 
			                    } 
			                    if(o==2) 
			                    { 
			                        system("cls"); 
			                        menu(); //返回菜单 
			                    } 
			                } 
			            }while(k==-1); 
			            system("cls"); 
			            printf_one(k); //找到后输出这个学生的信息 
			            printf("\n 1.继续  2.返回菜单 \n请选择进行下一个操作:"); 
			            scanf("%d",&w0); 
			        }while(w0==1); 
			        system("cls"); 
			        menu(); //不再查找时返回菜单 
			    } 
			} 
			void xiugai() //修改学生信息的函数 
			{ 
			    system("color 1a"); 
			    void menu(); 
			    void printf_one(int k); 
			    void xiugai_2(); 
			    struct student s; 
			    int i,n,k,w0=1,w1,w2=0,o; 
			    do 
			    { 
			        k=-1; 
			        do 
			        { 
			            printf("请输入您想要修改的学生的姓名:"); 
			            scanf("%s",s.name); 
			            for(i=0;i<N;i++) 
			            if(strcmp(s.name,stu[i].name)==0) //与其中一个学生匹配 
			            { 
			                k=i; 
			                s=stu[i]; 
			            } 
			            if(k==-1) //没有找到输入的学生 
			            {                 
			                printf("没有这个学生的信息!\n"); 
			                printf("\n 1.继续  2.返回菜单 \n请选择进行下一个操作:"); 
			                scanf("%d",&o); 
			                if(o==1) 
			                { 
			                    system("cls"); 
			                    xiugai(); 
			                } 
			                if(o==2) 
			                { 
			                    system("cls"); 
			                    menu(); //返回菜单 
			                } 
			            } 
			        }while(k==-1); 
			        system("cls"); 
			        printf("请输入修改后的线性代数分数:"); 
			        scanf("%d",&stu[k].ds); 
			        printf("请输入修改后的英语分数:"); 
			        scanf("%d",&stu[k].eng); 
			        printf("请输入修改后的高等数学分数:"); 
			        scanf("%d",&stu[k].math); 
			        printf("请输入修改后的C语言分数:"); 
			        scanf("%d",&stu[k].lan); 
			        printf("\n"); 
			        printf("\n该生修改后的信息如下:\n"); 
			        printf_one(k); //输出这个学生的信息 
			        printf("\n请按0返回菜单:"); 
			        scanf("%d",&o); 
			        if(o==0) 
			        { 
			            system("cls"); 
			            menu(); //返回菜单 
			        } 
			    }while(1); 
			} 
			void printf_all() //输出所有学生成绩的函数 
			{ 
			    void menu(); 
			    system("color 9e"); 
			    int i,j,k; 
			    for (i=1;i<3;i++) 
			    { 
			        printf("\n学号:%s \n姓名:%s \n性别:%s \n民簇:%s \n年龄:%d \n地址:%s \n线性代数分数:%d \n英语分数:%d \n高等数学分数:%d \nC语言分数:%d \n",stu[i].num,stu[i].name,stu[i].xb,stu[i].mc,stu[i].old,stu[i].add,stu[i].ds,stu[i].eng,stu[i].math,stu[i].lan); 
			    } 
			    do 
			    { 
			        printf("请按0返回菜单:"); 
			        scanf("%d",&j); 
			        if(j==0) 
			        { 
			            system("cls"); 
			            menu(); 
			        } 
			        else 
			        { 
			            k = 0; 
			        } 
			    } while (k == 0); 
			} 
			void printf_one(int k)  //输出某一个学生的信息的函数 
			{ 
			    printf("\n学号:%s \n姓名:%s \n性别:%s \n民簇:%s \n年龄:%d \n地址:%s \n线性代数分数:%d \n英语分数:%d \n高等数学分数:%d \nC语言分数:%d \n",stu[k].num,stu[k].name,stu[k].xb,stu[k].mc,stu[k].old,stu[k].add,stu[k].ds,stu[k].eng,stu[k].math,stu[k].lan); 
			} 
			void Exit() //退出系统的函数 
			{ 
			    system("cls"); 
			    system("color 2e"); 
			    printf("\n祝您生活愉快!\n"); 
			    exit(0); 
			} 
			void menu() //菜单函数 
			{ 
			    system("color 1e"); 
			    printf("\n\t\t\t欢迎使用学生学籍管理系统!\n"); 
			    printf("\n"); 
			    int n,m; 
			    do 
			    { 
			        puts("\t\t********************菜单*********************"); 
			        puts("\t\t**************学生学籍管理系统***************"); 
			        puts("\t\t*********************************************"); 
			        puts("\t\t*******        1--输入数据               ****"); 
			        puts("\t\t*******        2--查询成绩               ****"); 
			        puts("\t\t*******        3--修改成绩               ****"); 
			        puts("\t\t*******        4--输出所有学生成绩       ****"); 
			        puts("\t\t*******        5--退出系统               ****"); 
			        puts("\t\t*********************************************"); 
			        printf("\t\t*************请选择服务种类(1~5):"); 
			        scanf("%d",&n); 
			        if(n<1||n>5) 
			        { 
			            system("cls"); 
			            printf("\n\t\t*************选择错误! 请重新选择!\n"); 
			            m=1; 
			        } 
			        else 
			        { 
			            m = 0; 
			        } 
			    }while(m==1); 
			    switch(n) 
			    { 
			        case 1:system("cls");input();break; 
			        case 2:system("cls");search();break; 
			        case 3:system("cls");xiugai();break; 
			        case 4:system("cls");printf_all();break; 
			        case 5:Exit();break; 
			    } 
			} 
			int main() 
			{ 
			    int c; 
			    printf("请输入密码:"); 
			    scanf("%d",&c); 
			    while(c!=12345) 
			    { 
			        printf("密码错误,请重输:"); 
			        scanf("%d",&c); 
			    } 
			    system("cls"); 
			    menu(); 
			    return 0; 
			} 
			 |