您的位置:首页 > 编程语言 > C语言/C++

学生管理系统----用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);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: