- //编写一个学生管理系统程序,用来记录学生的信息(包括姓名、年龄、性别、学号、分数),提供增加、删除、查询学生信息的入口。
- #include <stdio.h>
- #include <string.h>
- #define stuMax 100
- void init();
- void addStu();
- void deleteStu();
- void listStu();
- int validateInput(int num,int min,int max);
- //定义结构体
- typedef struct{
- char name[10];
- int age;
- char sex[4];
- int sid;
- double score;
-
- }student;
- //定义学生数组
- student stu[stuMax];
- //定义学生人数
- int stuCount=0;
- //记录操作编号
- int fno;
- int main(int argc, const char * argv[]) {
-
- init();
- while (1)
- {
- printf("\n");
- printf("系统初始化中......\n");
- printf("*******************\n");
- printf(" 1.增加学生信息\n");
- printf(" 2.删除学生信息\n");
- printf(" 3.查询学生信息\n");
- printf(" 4.退出系统按任意键\n");
- printf("*******************\n");
- printf("\n");
- // 提示用户输入
- printf("请输入你要操作的功能编号\n");
-
-
- scanf("%d",&fno);
- validateInput(fno, 1, 4);
- switch (fno)
- {
- case 1:
- addStu();
- break;
- case 2:
- deleteStu();
- break;
- case 3:
- listStu();
- break;
- case 4:
- printf("系统正在退出");
- printf("系统已退出");
- return 0;
- break;
- default:
- return 0;
- break;
- }
- }
- }
- //增加
- void addStu(){
- printf("你选择的是增加学生\n");
-
- //获取用户输入,赋值给结构体中的相应属性
- printf("请输入要增加的学生姓名\n");
- scanf("%s",stu[stuCount].name);
-
- printf("请输入要增加的学生年龄:\n");
- scanf("%d",&stu[stuCount].age);
-
- printf("请输入要增加的学生性别:\n");
- scanf("%s",stu[stuCount].sex);
-
- printf("请输入要增加的学生学号:\n");
- scanf("%d",&stu[stuCount].sid);
-
- printf("请输入要增加的学生分数:\n");
- scanf("%lf",&stu[stuCount].score);
-
- stuCount++;
- }
- //删除
- void deleteStu(){
-
- printf("你选择的是删除学生\n");
- int no;
- printf("请选择删除学生的编号\n");
- scanf("%d",&no);
- int result=validateInput(no, 1, stuCount);
- if (result!=0)
- {
- //如果删除的元素是最后一个
- if(no==stuCount)
- {
- stuCount--;
- printf("删除成功\n");
- }
- else
- {
- for (int i=no; no<stuCount; i++)
- {
- stu[no-1]=stu[no];
-
- }
- stuCount--;
- printf("删除成功....\n");
- }
-
- }
- }
- //查看
- void listStu(){
- printf("你选择的是查看学生\n");
- if (stuCount==0)
- {
- printf("没有学生信息存在!\n");
-
- }else
- {
- printf("编号\t 姓名\t 年龄\t 性别\t 学号\t 分数\t \n");
- for(int i=0;i<stuCount;i++) {
-
- printf("%d\t %s\t %d\t %s\t %d\t %f\t \n",i+1,stu[i].name,stu[i].age,stu[i].sex,stu[i].sid,stu[i].score);
- }
- }
- }
- //判断输入是否非法
- int validateInput(int num,int min,int max){
- if (num<min||num>max) {
- printf("非法的输入");
- return 0;
- }
- return 1;
- }
复制代码
|
|