C语言学生信息管理系统

//原创:!!

  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-08-24 19:03:05

C语言学生信息管理系统的相关文章

C语言课程设计之学生信息管理系统

#include"stdio.h"        //标准的输入输出函数文件头部说明 #include"math.h"              // 数学函数头部说明 #include"string.h" #include"stdlib.h"    //通过该函数头部里的函数,改变控制台的背景和颜色 #include"windows.h"    //头文件声明,下文用到了改变控制台的宽度和高度 #defi

【转载】C语言综合实验1—学生信息管理系统

http://www.cnblogs.com/Anker/archive/2013/05/06/3063436.html 实验题目:学生信息管理系统 实验要求:用户可以选择1-7可以分别进行学生信息的查看.添加.删除,修改,计算平均成绩,保存,退出系统操作. 提示:用一个结构体类型表示学生信息 typedef struct node /*定义结构体*/ { int num; //学号 char name[15];//姓名 char sex[9]; //性别 int age; //年龄 int e

学生信息管理系统(C语言版本)

这是我个人写的一个学生管理系统,这是我仅仅用来练手的代码,要知道链表可是你在面试过程中最大机率会考到的,我是陆续从单向链表入门,然后采用双向链表写的代码!如有BUG,请指正,让我们共同进步! 1 #include<stdio.h> 2 #include<malloc.h> 3 #include<string.h> 4 struct student 5 { 6 int id; 7 char name[100]; 8 int age; 9 int sex; 10 int c

C语言编写学生信息管理系统

学完C语言,自己想着编写一个学生信息管理系统,既可以巩固C语言知识,也能体验怎么合理地设计和实现一个项目. 设计比较简陋,希望各位大佬多多批评,多多指教! 这个系统最重要的便是主要功能框架,在主函数中用switch()多分支选择结构实现. 我是链表实现,代码如下: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<malloc.h> 5 #include<s

大一C语言结课设计之《学生信息管理系统》

第一次写这么长的程序,代码仅供參考,有问题请留言. /* ** 学生信息管理系统 ** IDE:Dev-Cpp 4.9.9.2 ** 2014-6-15 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm> #include <vector> using std::sort; using std::vector; /*==存储单元节点=

学生信息管理系统修改

北京工业大学耿丹学院 c语言设计课程报告   课程设计名称:高级语言程序设计 专业班级:计算机科学与技术1 姓名:吴双 学号:150809201   2016年5月10日 一 对c语言指针链表的体会 ------------------------ 二 修改学生信息管理系统 ------------------------ 三 体会 ------------------------ 一 对c语言指针链表的体会 1.指针 简单来说,指针是一个存储计算机内存地址的变量. 用 int *ptr 这种形

C语言 学生宿舍管理系统

经过上次的飞机游戏制作,使我感觉到C语言程序设计,更加的有趣,也使我对这门课程有了更深的理解和认识.这次我们学习了学习C语言操作文件永久保存数据和基于函数的结构化大型程序的编写方法.这次的学习也比较上次来说显得有些复杂. 这次要做的是一个关于书本的管理系统.可以让我们更加方便的去利用程序查找书本存放的位置和一些基本的信息. 一. C语言文件的操作 1. 文件操作的基本方法: C语言将计算机的输入输出设备都看作是文件.例如,键盘文件.屏幕文件等. 你应该还记得,向屏幕输出一个信息,例如经典的"He

学生信息管理系统

根据资料显示,那么,如果写一个字符串到一个文件中,是什么方式呢?显示到屏幕上是默认的输出文件,如果是硬盘中的一个文件,首先要打开一个文件,然后才能往里写,那么就要告诉程序这个文件在什么地方,按照什么样的方式打开(读.写.读和写.添加.覆盖等),然后打开后要给这个打开的文件一个符号(指针变量),表示后续的读和写都是针对这个文件的,而不是到屏幕的,这个指针变量以后就代表了文件自身了. 在学生信息管理系统中,需要同时保存一个学生的姓名,性别,年龄等信息,那么设置变量保存很多同学的这些信息就有点不太方便

关于c语言学生宿舍管理系统

今天上高级程序设计课. 老师先发给我们一个学生信息管理系统的C语言源代码,这是我目前接触到的最长的代码,密密麻麻,看的眼晕,接下来老师为我们细致地讲解了这个程序的结构,让我们了解到程序是如何执行的,我们明白后,老师发布了任务,让我们仿照这个写一个学生宿舍管理系统的程序. 这两个系统其实结构都一样,只要在原程序上做一些修改,就可以完成任务,不过在这个过程里,我们要动脑子,真正明白每步操作的意思.下面是两个程序的代码: 学生信息: #include"stdio.h" #include&qu