学生管理系统----用c语言在Xcode里编写 学生管理系统
2015-12-11 09:31
579 查看
mian函数里 #import <Foundation/Foundation.h> #import "func.h" int main(int argc, const char * argv[]) { //最多存2000名学生信息 Student stu[2000] = {0}; int choose = 0; //cont 用于计数,记当前有多少位学生信息 int cont = 0; //sys 控制系统运行 int sys = 1; while (sys) { printf("*****************************\n1 添加学生\n2 查找学生(打印对应学生信息)\n3 修改学生信息\n4 删除学生信息\n5 打印成绩单(所有学生信息)\n6 退出系统\n*****************************\n\n\n"); printf("选择你所需的功能:"); //选择功能参数 scanf("%d",&choose); switch (choose) { //1, 添加学生 case 1: cont = Addstudent(stu , cont); printf("\n\n"); break; //2, 查找学生(打印对应学生信息) case 2: FindStudent(stu ,cont); printf("\n\n"); break; //3, 修改学生信息 case 3: AlterStudent(stu, cont); printf("\n\n"); break; //4, 删除学生信息 case 4: DelStudent(stu, cont); printf("\n\n"); break; //5, 打印成绩单(所有学生信息) case 5: PrintScore(stu, cont); printf("\n\n"); break; //6, 退出系统 case 6: sys = 0; break; } } printf("\n\n已退出系统!!"); return 0; } Func.h文件里 #import <Foundation/Foundation.h> typedef struct subject{ int chinese; int math; int credit; }subject; typedef struct student{ int num; char name[20]; int age; char sex[5]; subject sub; }Student; //添加学生信息 int Addstudent(Student stu[], int cont); //查找学生信息 void FindStudent(Student stu[], int cont); //修改学生信息 void AlterStudent(Student stu[], int cont); //删除学生信息 void DelStudent(Student stu[], int cont); //打印成绩单 void PrintScore(Student stu[], int cont); Func.m里 #import "func.h" //1, 添加学生 int Addstudent(Student stu[] , int cont){ int n = 0; printf("\n\n\n需要添加多少名学生信息:"); scanf("%d", &n); for (int i = cont; i < n + cont; i++) { printf("输入学生信息:学号 姓名 年龄 性别 成绩(语文 数学 总学分\n"); //当前面有空位时将信息插入 if (0 == stu[i].num) { printf("输入第 %d 位学生信息\n", i); printf("学号:"); scanf("%d", &stu[i].num); printf("姓名:"); scanf("%s", stu[i].name); getchar(); printf("年龄:"); scanf("%d", &stu[i].age); printf("性别:"); scanf("%s", stu[i].sex); getchar(); printf("语文成绩:"); scanf("%d", &stu[i].sub.chinese); printf("数学成绩:"); scanf("%d", &stu[i].sub.math); printf("总学分:"); scanf("%d", &stu[i].sub.credit); } } return cont += n; } //2, 查找学生(打印对应学生信息) void FindStudent(Student stu[], int cont){ int fcont = 0; int flat = 0; printf("输入学号:"); scanf("%d",&fcont); for (int i = 0; i < cont; i++) { if (fcont == stu[i].num) { printf("%d %s %d %s %d %d %d \n\n\n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit); flat++; } } if (0 == flat) { printf("\n\n\n对不起,没找到您所要的信息 \n\n\n"); } } //3, 修改学生信息 void AlterStudent(Student stu[], int cont){ //temp 存所要修改的学号 int temp; printf("输入学号: "); scanf("%d", &temp); for (int i = 0; i < cont; i++) { if (temp == stu[i].num) { printf("%d %s %d %s %d %d %d \n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit); printf("输入修改的学生信息\n"); printf("学号:"); scanf("%d", &stu[i].num); printf("姓名:"); scanf("%s", stu[i].name); getchar(); printf("年龄:"); scanf("%d", &stu[i].age); printf("性别:"); scanf("%s", stu[i].sex); getchar(); printf("语文成绩:"); scanf("%d", &stu[i].sub.chinese); printf("数学成绩:"); scanf("%d", &stu[i].sub.math); printf("总学分:"); scanf("%d", &stu[i].sub.credit); break; } } } //4, 删除学生信息 void DelStudent(Student stu[], int cont){ //存要删除的学号 int temp = 0; //存是否确认删除 char YesNo = '0'; int flat = 0; printf("输入要删除学生的学号:"); scanf("%d", &temp); getchar(); for (int i = 0; i < cont; i++) { if (temp == stu[i].num) { printf("%d %s %d %s %d %d %d \n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit); printf("确定要删除吗? (y / n) :"); scanf("%c", &YesNo); if (YesNo == 'y') { //kk是一个空的结构体类型变量 用于清楚要删除的学生信息 Student kk = {0}; stu[i] = kk; printf(" \n删除成功!!"); flat++; } } } if (0 == flat) { printf("\n对不起,没有找到该学生"); } } //5, 打印成绩单(所有学生信息) void PrintScore(Student stu[], int cont){ for (int i = 0; i < cont; i++) { if (0 == cont ) { printf("无学生信息!!"); }else if (stu[i].num != 0) { printf("%d %s %d %s %d %d %d \n", stu[i].num, stu[i].name, stu[i].age, stu[i].sex, stu[i].sub.chinese, stu[i].sub.math,stu[i].sub.credit); } } }
相关文章推荐
- C++编码规范
- 第11周项目2 用二叉树求解代数表达式
- C++面试2(简答题)
- c语言排序,冒泡排序
- C语言开发简易版扫雷小游戏
- C++ 类包含关系Demo 笔记
- C++专题(三)
- C++专题(二)
- 算法竞赛入门经典数学篇实用小结(一)
- C++中的引用
- C++基础知识: 公有继承,保护继承,私有继承的总结,私有继承的用意何在
- PAT乙级——1010 月饼 (C/C++)
- PAT乙级——1009 数字黑洞 (C/C++)
- C++的封装
- PAT乙级——1008 锤子剪刀布 (C/C++)
- 实战c++中的string系列--string的分割、替换(类似string.split或是explode())
- 【C语言】重定向和文件
- C++Windows下SQLite简单封装
- 实战c++中的string系列--string的分割、替换(类似string.split或是explode())
- leetcode笔记:Word Ladder