//原创:!!
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <algorithm> 5 using namespace std; 6 int n; 7 8 struct student 9 { 10 char name[20] ; //姓名; 11 char classnumber[10] ; //班级 ;(1403) 12 char gender[2] ; //性别 ; 13 char xuehao[20] ; 14 int math ; 15 int chinese ; 16 int computer ; 17 } ; 18 student num[10] ; 19 20 bool cmp(student xuehao,student classnumber) 21 { 22 return strcmp(xuehao.name, classnumber.name) < 0 ; 23 } 24 25 void SCANF(int n) //学生信息输入 ; 26 { 27 int i ; 28 for(i=1; i<=n; i++) 29 { 30 printf("请输入第%d个学生信息:\n",i) ; 31 scanf("%s %s %s %s %d %d %d",num[i].name, num[i].classnumber, num[i].gender, num[i].xuehao, &num[i].math, &num[i].chinese, &num[i].computer) ; 32 } 33 } 34 35 void PRINTF(int n) //输出全部学生信息 ; 36 { 37 int i; 38 printf("name classnumber gender xuehao math chinese computer\n") ; 39 for(i=1; i<=n; i++) 40 printf("%s %s %s %s %d %d %d\n",num[i].name, num[i].classnumber, num[i].gender, num[i].xuehao, num[i].math, num[i].chinese, num[i].computer) ; 41 printf("\n") ; 42 } 43 44 void PAIXU(int n) //对学生信息按照首字母进行排序 ; 45 { 46 sort (num+1, num+n+1, cmp) ; 47 } 48 49 void SINGLEPRINTF(int temp) //查询某个学生信息 ; 50 { 51 printf("%s %s %s %s %d %d %d\n",num[temp].name, num[temp].classnumber, num[temp].gender, num[temp].xuehao, num[temp].math, num[temp].chinese, num[temp].computer ) ; 52 } 53 54 55 void ALTER(int n) //修改学生信息 ; 56 { 57 scanf("%s %s %s %s %d %d %d",num[n].name, num[n].classnumber, num[n].gender, num[n].xuehao, &num[n].math, &num[n].chinese, &num[n].computer) ; 58 } 59 60 void HEAD () // 登录界面 ; 61 { 62 printf("\n\n"); 63 printf(" \t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"); 64 printf(" \t┃ ******************************************************** ┃\n"); 65 printf(" \t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n"); 66 printf(" \t┃***┃************************************************┃***┃\n"); 67 printf(" \t┃***┃*** ****┃***┃\n"); 68 printf(" \t┃***┃*** 欢迎使用学生信息管理系统 ****┃***┃\n"); 69 printf(" \t┃***┃*** ****┃***┃\n"); 70 printf(" \t┃***┃*** ****┃***┃\n"); 71 printf(" \t┃***┃*** 封顺 ****┃***┃\n"); 72 printf(" \t┃***┃*** ****┃***┃\n"); 73 printf(" \t┃***┃*** 2011.06.20 ****┃***┃\n"); 74 printf(" \t┃***┃*** ****┃***┃\n"); 75 printf(" \t┃***┃************************************************┃***┃\n"); 76 printf(" \t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n"); 77 printf(" \t┃ ******************************************************** ┃\n"); 78 printf(" \t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); 79 } 80 81 void GONGNENG() // 功能菜单 ; 82 { 83 printf("\n\n\n"); 84 printf(" \t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"); 85 printf(" \t┃ ******************************************************** ┃\n"); 86 printf(" \t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃\n"); 87 printf(" \t┃***┃************************************************┃***┃\n"); 88 printf(" \t┃***┃*** 1、学生信息输入 2、学生信息查询 ****┃***┃\n"); 89 printf(" \t┃***┃*** ****┃***┃\n"); 90 printf(" \t┃***┃*** ****┃***┃\n"); 91 printf(" \t┃***┃*** 3、输出全部学生信息 4、学生信息排序 ****┃***┃\n"); 92 printf(" \t┃***┃*** ****┃***┃\n"); 93 printf(" \t┃***┃*** ****┃***┃\n"); 94 printf(" \t┃***┃*** 5、学生信息修改 6、退出系统 ****┃***┃\n"); 95 printf(" \t┃***┃*** ****┃***┃\n"); 96 printf(" \t┃***┃************************************************┃***┃\n"); 97 printf(" \t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃\n"); 98 printf(" \t┃ ******************************************************** ┃\n"); 99 printf(" \t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"); 100 } 101 102 main() 103 { 104 int times=3 ; 105 do 106 { 107 int i ; char str[10], ch[10] ; 108 HEAD () ; 109 printf(" 请输入您的账号:") ; 110 scanf("%s",str) ; 111 printf(" 请输入您的密码:") ; 112 scanf("%s",ch) ; 113 printf("\n") ; 114 if(strcmp(str, "admin") == 0 && strcmp(ch, "123456") == 0) 115 { 116 system("cls") ; //清屏函数 ; 117 printf("登陆成功,请选择操作:") ; 118 GONGNENG () ; 119 printf("\n") ; 120 int a, temp=0 ; //temp=0 ; 121 do 122 { 123 printf("\n\n") ; 124 printf("********************请输入学生管理系统功能所对应编号(1~6)*********************") ; 125 printf("请输入编号:") ; 126 scanf("%d", &a) ; 127 printf("\n") ; 128 switch(a) 129 { 130 131 int key; key=0 ; //设置一个开关key ; 在没有执行系统功能1时提醒先进行学生信息输入 ; 132 case 1: 133 { 134 system("cls") ; 135 key = 1 ; 136 printf("统计信息包括:姓名 班级 性别 学号 数学成绩 语文成绩 计算机成绩\n") ; 137 printf("请输入要统计学生信息的总人数:"); 138 scanf("%d",&n) ; 139 printf("\n") ; 140 SCANF(n) ; 141 printf("\n") ; 142 system("cls") ; 143 printf("******************** 输入完毕,请选择下一功能 ********************"); 144 GONGNENG () ; 145 break; 146 } 147 case 2: 148 { 149 system("cls") ; 150 if(key == 1) 151 { 152 printf("请输入需要查询学生号码 :") ; 153 int temp ; 154 scanf("%d",&temp) ; 155 SINGLEPRINTF(temp) ; 156 system("pause") ; 157 printf("查询完毕,请选择下一功能") ; 158 GONGNENG () ; 159 } 160 else 161 { 162 printf("请先执行信息输入操作") ; 163 GONGNENG () ; 164 } 165 break ; 166 } 167 case 3: 168 { 169 system("cls") ; 170 if(key == 1) 171 { 172 printf("将输出所有学生成绩\n"); 173 PRINTF(n) ; 174 system ("pause") ; 175 printf("查询完毕,请选择下一功能") ; 176 GONGNENG () ; 177 } 178 else 179 { 180 printf("请先执行信息输入操纵") ; 181 GONGNENG () ; 182 } 183 break ; 184 } 185 case 4: 186 { 187 system ("cls") ; 188 if(key==1) 189 { 190 PAIXU(n) ; 191 system("cls") ; 192 printf("排序完成,请选择下一功能") ; 193 GONGNENG () ; 194 } 195 else 196 { 197 printf("请先执行信息输入操作") ; 198 GONGNENG () ; 199 } 200 break ; 201 } 202 case 5: 203 { 204 system("cls") ; 205 if(key == 1) 206 { 207 int n; 208 printf("请输入要修改第几个学生信息(1~n):") ; 209 scanf("%d",&n) ; 210 printf("\n") ; 211 printf("开始修改:\n") ; 212 ALTER(n) ; 213 system("cls") ; 214 printf("修改完毕,请选择下一功能") ; 215 GONGNENG () ; 216 } 217 else 218 { 219 printf("请先执行信息输入操作") ; 220 GONGNENG () ; 221 } 222 break ; 223 } 224 case 6: 225 { 226 system ("cls") ; 227 printf("很高兴为您服务,您将退出本次登陆\n\n\n") ; 228 temp=1 ; 229 } 230 } 231 } 232 while(!temp) ; 233 } 234 else 235 { 236 times-- ; 237 system ("cls") ; 238 printf("ERROR !! 账号和密码输入错误 !!剩余输入机会:%d",times) ; 239 } 240 } 241 while(times>0) ; 242 }
时间: 2024-11-01 15:24:15