无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

學(xué)生成績管理系統(tǒng)(C語言版)

2023-05-23 12:32 作者:Developer999  | 我要投稿

#include <stdio.h>

#include <stdlib.h>

#include <string.h>


#define MAX_STUDENT 100 /* 定義最大的學(xué)生數(shù)量 */


/* 學(xué)生結(jié)構(gòu)體 */

typedef struct {

? ? char name[20];? ? ? /* 姓名 */

? ? int id;? ? ? ? ? ? ?/* 學(xué)號 */

? ? float score;? ? ? ? /* 成績 */

} Student;


Student students[MAX_STUDENT];? /* 存儲學(xué)生數(shù)據(jù)的數(shù)組 */

int studentCount = 0;? ? ? ? ? ?/* 學(xué)生數(shù)量 */


/* 根據(jù)學(xué)號查詢學(xué)生 */

int searchStudentById(int id)

{

? ? int i;

? ? for (i = 0; i < studentCount; i++) {

? ? ? ? if (students[i].id == id) {

? ? ? ? ? ? return i;? ?/* 找到學(xué)生返回下標 */

? ? ? ? }

? ? }

? ? return -1;? ? ? ? ? /* 沒找到返回-1 */

}


/* 添加學(xué)生記錄 */

void addStudent()

{

? ? char name[20];

? ? int id;

? ? float score;


? ? printf("請輸入姓名:");

? ? scanf("%s", name);

? ? printf("請輸入學(xué)號:");

? ? scanf("%d", &id);


? ? /* 判斷學(xué)號是否已存在 */

? ? if (searchStudentById(id) != -1) {

? ? ? ? printf("該學(xué)號已存在!\n");

? ? ? ? return;

? ? }


? ? printf("請輸入成績:");

? ? scanf("%f", &score);


? ? Student student = { .id = id, .score = score };

? ? strcpy(student.name, name);


? ? /* 將新加入的學(xué)生放在數(shù)組的最后 */

? ? students[studentCount] = student;

? ? studentCount++;


? ? printf("添加成功!\n");

}


/* 刪除學(xué)生記錄 */

void deleteStudent()

{

? ? int id, index;


? ? printf("請輸入學(xué)號:");

? ? scanf("%d", &id);


? ? index = searchStudentById(id);

? ? if (index == -1) {

? ? ? ? printf("該學(xué)生不存在!\n");

? ? } else {

? ? ? ? /* 將待刪除的學(xué)生從數(shù)組中移除 */

? ? ? ? for (; index < studentCount - 1; index++) {

? ? ? ? ? ? students[index] = students[index + 1];

? ? ? ? }

? ? ? ? studentCount--;

? ? ? ? printf("刪除成功!\n");

? ? }

}


/* 修改學(xué)生記錄 */

void modifyStudent()

{

? ? int id, index;

? ? float score;


? ? printf("請輸入學(xué)號:");

? ? scanf("%d", &id);


? ? index = searchStudentById(id);

? ? if (index == -1) {

? ? ? ? printf("該學(xué)生不存在!\n");

? ? } else {

? ? ? ? printf("請輸入新成績:");

? ? ? ? scanf("%f", &score);

? ? ? ? students[index].score = score;

? ? ? ? printf("修改成功!\n");

? ? }

}


/* 查詢學(xué)生記錄 */

void queryStudent()

{

? ? int id, index;


? ? printf("請輸入學(xué)號:");

? ? scanf("%d", &id);


? ? index = searchStudentById(id);

? ? if (index == -1) {

? ? ? ? printf("該學(xué)生不存在!\n");

? ? } else {

? ? ? ? printf("姓名:%s 學(xué)號:%d 成績:%.2f\n",

? ? ? ? ? ? ? ? students[index].name, students[index].id, students[index].score);

? ? }

}


/* 計算成績排名 */

void calculateRank()

{

? ? Student tmp[MAX_STUDENT];

? ? memcpy(tmp, students, sizeof(students)); /* 將學(xué)生數(shù)組復(fù)制到臨時數(shù)組中 */

? ? int i, j;


? ? for (i = 0; i < studentCount - 1; i++) {

? ? ? ? for (j = 0; j < studentCount - i - 1; j++) {

? ? ? ? ? ? if (tmp[j].score < tmp[j + 1].score) {

? ? ? ? ? ? ? ? Student temp = tmp[j];

? ? ? ? ? ? ? ? tmp[j] = tmp[j + 1];

? ? ? ? ? ? ? ? tmp[j + 1] = temp;

? ? ? ? ? ? }

? ? ? ? }

? ? }


? ? printf("成績排名:\n");

? ? for (i = 0; i < studentCount; i++) {

? ? ? ? printf("%d. %s\t%.2f\n", i + 1, tmp[i].name, tmp[i].score);

? ? }

}


/* 主函數(shù) */

int main()

{

? ? int menu;


? ? while (1) {

? ? ? ? printf("\n學(xué)生成績管理系統(tǒng)\n");

? ? ? ? printf("------------------------\n");

? ? ? ? printf("1.添加學(xué)生記錄\n");

? ? ? ? printf("2.刪除學(xué)生記錄\n");

? ? ? ? printf("3.修改學(xué)生記錄\n");

? ? ? ? printf("4.查詢學(xué)生記錄\n");

? ? ? ? printf("5.計算成績排名\n");

? ? ? ? printf("6.退出\n");

? ? ? ? printf("------------------------\n");

? ? ? ? printf("請選擇菜單:");


? ? ? ? scanf("%d", &menu);


? ? ? ? switch (menu) {

? ? ? ? ? ? case 1:

? ? ? ? ? ? ? ? addStudent();

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case 2:

? ? ? ? ? ? ? ? deleteStudent();

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case 3:

? ? ? ? ? ? ? ? modifyStudent();

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case 4:

? ? ? ? ? ? ? ? queryStudent();

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case 5:

? ? ? ? ? ? ? ? calculateRank();

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? case 6:

? ? ? ? ? ? ? ? exit(EXIT_SUCCESS);

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? default:

? ? ? ? ? ? ? ? printf("請輸入正確的菜單號!\n");

? ? ? ? ? ? ? ? break;

? ? ? ? }

? ? }


? ? return 0;

}


學(xué)生成績管理系統(tǒng)(C語言版)的評論 (共 條)

分享到微博請遵守國家法律
石河子市| 务川| 申扎县| 兴安县| 博白县| 镇雄县| 景洪市| 西贡区| 隆子县| 马龙县| 江油市| 天门市| 余江县| 甘泉县| 凤冈县| 汉寿县| 安徽省| 无极县| 玛曲县| 廉江市| 泰州市| 房产| 那坡县| 彰化市| 谢通门县| 汉川市| 彰武县| 加查县| 浮梁县| 高邑县| 长宁区| 西昌市| 虹口区| 宁陵县| 长阳| 邵武市| 拉萨市| 麦盖提县| 安新县| 肥城市| 华坪县|