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語言在Xcode裏編寫 學生管理系統
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.