摘要:這只是我嘗試做的一個簡單的程序,順便復習下語言,希望以后的自己能更加努力,努力跟隨大佬們的腳步。
這只是我嘗試做的一個簡單的程序,順便復習下C語言,希望以后的自己能更加努力,努力跟隨大佬們的腳步。
C語言學生信息管理系統包括以下功能:
1.添加學生信息
2.查詢學生信息
3.修改學生信息
4.學生學號排序
5.刪除學生信息
6.瀏覽學生信息
結構體的創建
實現首先要有個結構體包含學生的相關信息(學號 姓名 年齡 性別 身份證號 電話)
struct Student{ int Id; //學號 char name[15]; //姓名 int age; //年齡 char sex[3]; //性別 char IDcard[50]; //身份證號 char phone[15]; //電話}student[N];
同時定義了兩個全局的變量
int Last = 0;//結構體數組下標struct Student studentName;//創建結構體臨時變量
一.首先寫一個主菜單:
void makeMenu()//構建主菜單視圖{ printf("-------------------------------/n"); printf(" -----------學生信息管理系統/n"); printf("-------------------------------/n"); printf("/t0.退出系統/n"); printf("-------------------------------/n"); printf("/t1.添加學生信息/n"); printf("-------------------------------/n"); printf("/t2.查詢學生信息/n"); printf("-------------------------------/n"); printf("/t3.修改學生信息/n"); printf("-------------------------------/n"); printf("/t4.學生學號排序/n"); printf("-------------------------------/n"); printf("/t5.刪除學生信息/n"); printf("-------------------------------/n"); printf("/t6.瀏覽學生信息/n"); printf("-------------------------------/n"); printf("-------------------------------/n"); printf("請輸入主菜單編號(0~6):");}
二.添加學生信息操作
void Registration(int last)//添加學生信息{ printf("請輸入學生信息[學號 姓名 年齡 性別 身份證號 電話]:/n"); scanf("%d %s %d %s %s %s", &student[last].Id, student[last].name, &student[last].age, student[last].sex, student[last].IDcard, student[last].phone); Last++;}
三.查詢學生信息
void searchByName(int last,char* studentName)//按姓名查詢{ int i; for (i = 0; i < last; i++) { if (strcmp(student[i].name, studentName) == 0) { printf("學號 姓名 年齡 性別 身份證號 電話/n");//輸出該學生信息 printf("%d %s %d %s %s %s/n", student[i].Id, student[i].name, student[i].age, student[i].sex, student[i].IDcard, student[i].phone); break; } } if (i == last) { printf("沒有找到該學生的信息/n"); } else { printf("查詢成功/n"); }}void searchById(int last, int studentID) //按學號查詢{ int i; for (i = 0; i < last; i++) { if (student[i].Id==studentID) { printf("學號 姓名 年齡 性別 身份證號 電話/n");//輸出該學生信息 printf("%d %s %d %s %s %s/n", student[i].Id, student[i].name, student[i].age, student[i].sex, student[i].IDcard, student[i].phone); break; } } if (i == last) { printf("沒有找到該學生的信息/n"); } else { printf("查詢成功/n"); }}void searchinformate()//查詢信息{ printf("--------------------/n"); printf("1.按姓名查詢/n"); printf("2.按學號查詢/n"); printf("3.退出/n"); printf("--------------------/n"); int Userkey; while (1) { printf("請輸入子菜單編號(1~3):"); scanf("%d", &Userkey); switch (Userkey) { case 1: printf("請輸入要查詢的學生姓名:"); scanf("%s", studentName.name); searchByName(Last, studentName.name); break; case 2: printf("請輸入要查詢的學生學號:"); scanf("%d", &studentName.Id); searchById(Last, studentName.Id); break; case 3: return; default:printf("請輸入1~3:/n"); break; } }}
四.修改學生信息
void makesonMenu()//構建修改子菜單視圖{ printf("-------------------------------/n"); printf(" -----------修改學生信息/n"); printf("1.修改學號/n"); printf("2.修改姓名/n"); printf("3.修改年齡/n"); printf("4.修改性別/n"); printf("5.修改身份證號/n"); printf("6.修改電話/n"); printf("7.退出/n"); printf("-------------------------------/n");}void amend(int last,int studentID)//修改學生信息{ int i; for (i = 0; i < last; i++) { if (student[i].Id == studentID) break; } int Userkey; while (1) { if (i == last) { printf("沒有找到該學生的信息/n"); break; } else { printf("請繼續修改相關信息:/n"); } printf("請輸入子菜單編號(1~7):"); scanf("%d", &Userkey); switch (Userkey) { case 1: printf("修改學號為:"); scanf("%d", &student[i].Id); break; case 2: printf("修改姓名為:"); scanf("%s", student[i].name); break; case 3: printf("修改年齡為:"); scanf("%d", &student[i].age); break; case 4: printf("修改性別為:"); scanf("%s", student[i].sex); break; case 5: printf("修改身份證號為:"); scanf("%s", student[i].IDcard); break; case 6: printf("修改電話為:"); scanf("%s", student[i].phone); break; case 7: return; default:printf("請輸入1~7:/n"); break; } }}
五.學生學號排序
void bubbleSort(int last)//按學號進行冒泡排序{ int temp = 0; for (int i = 1; i < last; i++) { for (int j = 0; j < last-i; j++) { if (student[j].Id > student[j + 1].Id) { temp = student[j].Id; student[j].Id = student[j + 1].Id; student[j + 1].Id = temp; } } } printf("排序完成/n");}
六.刪除學生信息
void deleteNodeByName(int last, char* studentName) //指定刪除{ int i = 0; for (i = 0; i < last; i++) { if (strcmp(student[i].name, studentName) == 0) break; } for (int j = i; j < last; j++) { student[j] = student[j + 1]; } Last = Last - 1; printf("刪除完成/n");}
七.瀏覽學生信息
void print(int last)//輸出學生信息{ printf("學號 姓名 年齡 性別 身份證號 電話/n"); for(int i=0;i
??
#define _CRT_SECURE_NO_WARNINGS#include#include#include#define N 200 //最大學生人數int Last = 0;//結構體數組下標//20224213 劉圣友 18 男 360428200110202735 13657024700struct Student{ int Id; //學號 char name[15]; //姓名 int age; //年齡 char sex[3]; //性別 char IDcard[50]; //身份證號 char phone[15]; //電話}student[N];struct Student studentName;//創建臨時變量void makeMenu()//構建主菜單視圖{ printf("-------------------------------/n"); printf(" -----------學生信息管理系統/n"); printf("-------------------------------/n"); printf("/t0.退出系統/n"); printf("-------------------------------/n"); printf("/t1.添加學生信息/n"); printf("-------------------------------/n"); printf("/t2.查詢學生信息/n"); printf("-------------------------------/n"); printf("/t3.修改學生信息/n"); printf("-------------------------------/n"); printf("/t4.學生學號排序/n"); printf("-------------------------------/n"); printf("/t5.刪除學生信息/n"); printf("-------------------------------/n"); printf("/t6.瀏覽學生信息/n"); printf("-------------------------------/n"); printf("-------------------------------/n"); printf("請輸入主菜單編號(0~6):");}void makesonMenu()//構建修改子菜單視圖{ printf("-------------------------------/n"); printf(" -----------修改學生信息/n"); printf("1.修改學號/n"); printf("2.修改姓名/n"); printf("3.修改年齡/n"); printf("4.修改性別/n"); printf("5.修改身份證號/n"); printf("6.修改電話/n"); printf("7.退出/n"); printf("-------------------------------/n");}void Registration(int last)//添加學生信息{ printf("請輸入學生信息[學號 姓名 年齡 性別 身份證號 電話]:/n"); scanf("%d %s %d %s %s %s", &student[last].Id, student[last].name, &student[last].age, student[last].sex, student[last].IDcard, student[last].phone); Last++;}void print(int last)//輸出學生信息{ printf("學號 姓名 年齡 性別 身份證號 電話/n"); for(int i=0;i student[j + 1].Id) { temp = student[j].Id; student[j].Id = student[j + 1].Id; student[j + 1].Id = temp; } } } printf("排序完成/n");}void deleteNodeByName(int last, char* studentName) //指定刪除{ int i = 0; for (i = 0; i < last; i++) { if (strcmp(student[i].name, studentName) == 0) break; } for (int j = i; j < last; j++) { student[j] = student[j + 1]; } Last = Last - 1; printf("刪除完成/n");}void searchinformate()//查詢信息{ printf("--------------------/n"); printf("1.按姓名查詢/n"); printf("2.按學號查詢/n"); printf("3.退出/n"); printf("--------------------/n"); int Userkey; while (1) { printf("請輸入子菜單編號(1~3):"); scanf("%d", &Userkey); switch (Userkey) { case 1: printf("請輸入要查詢的學生姓名:"); scanf("%s", studentName.name); searchByName(Last, studentName.name); break; case 2: printf("請輸入要查詢的學生學號:"); scanf("%d", &studentName.Id); searchById(Last, studentName.Id); break; case 3: return; default:printf("請輸入1~3:/n"); break; } }}void amend(int last,int studentID)//修改學生信息{ int i; for (i = 0; i < last; i++) { if (student[i].Id == studentID) break; } int Userkey; while (1) { if (i == last) { printf("沒有找到該學生的信息/n"); break; } else { printf("請繼續修改相關信息:/n"); } printf("請輸入子菜單編號(1~7):"); scanf("%d", &Userkey); switch (Userkey) { case 1: printf("修改學號為:"); scanf("%d", &student[i].Id); break; case 2: printf("修改姓名為:"); scanf("%s", student[i].name); break; case 3: printf("修改年齡為:"); scanf("%d", &student[i].age); break; case 4: printf("修改性別為:"); scanf("%s", student[i].sex); break; case 5: printf("修改身份證號為:"); scanf("%s", student[i].IDcard); break; case 6: printf("修改電話為:"); scanf("%s", student[i].phone); break; case 7: return; default:printf("請輸入1~7:/n"); break; } }}void newskeyDown()//做交互{ int userkey; scanf("%d", &userkey); switch (userkey) { case 0: printf("【 退出 】/n"); printf("退出成功/n"); system("pause"); exit(0); //關閉掉整個程序 break; case 1: printf("【 添加 】/n"); Registration(Last); //saveInfoToFile("bookinfo.txt"); break; case 2: printf("【 查詢 】/n"); searchinformate(); break; case 3: printf("【 修改 】/n"); printf("請輸入要修改的學生學號:"); scanf("%d", &studentName.Id); system("cls");//清屏 makesonMenu();//構建修改子菜單視圖 amend(Last, studentName.Id); break; case 4: printf("【 排序 】/n"); bubbleSort(Last); break; case 5: printf("【 刪除 】/n"); printf("請輸入要刪除的學生姓名:"); scanf("%s", studentName.name); deleteNodeByName(Last, studentName.name); break; case 6: printf("【 瀏覽 】/n"); print(Last); break; default: printf("【 error 】/n"); break; }}int main(){ while (1) { makeMenu(); newskeyDown(); system("pause"); system("cls");//清屏 } system("pause"); return 0;}
這代碼寫的不是很好,只能用數組去寫,而且就現在也就只能寫得出這些,期待以后的自己,
希望能成為自己想成為的人!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/119298.html
摘要:因為結構體支持所有數據類型,所以結構體內部也可以有數組存在。考慮到每次都是用語法來產生變量的方法未免過于繁瑣,語言允許將結構體當作一個數據類型來方便我們更好地使用。結構體與當然,還可以作用于結構體。 前言: 本篇文章是一次大膽的嘗試,我想試著改變我那枯燥不堪的文筆,試著能不能幽默風趣地講...
摘要:嗨這里是狐貍大家的期末課設要來了吧,有想法做什么了嘛,有沒有為此熬夜,有沒有為此努力呢,今天,我們來寫一個學生成績管理系統,一方面是讓大家復習一下自己學過的知識,一方面是為了給大家的期末課設提供一點思路。 目錄 序 嗨!這里是狐貍~~ 一、需求分析說明 二、概要設計說明 三、詳細設計說明 1...
Llama3-8B-Chinese-Chat 是基于 Meta-Llama-3-8B-Instruct 模型通過 ORPO進行微調的中文聊天模型。與原始的 Meta-Llama-3-8B-Instruct 模型相比,此模型顯著減少了中文問題英文回答"和混合中英文回答的問題。此外,相較于原模型,新模型在回答中大量減少了表情符號的使用,使得回應更加正式。與 Llama-3-8B-nsturc...
摘要:下面列舉了游戲開發中常見的崗位以及兩條常見的協作開發的流水線其實學習游戲引擎,前期對于任何崗位來說路線都是相似的,基本上就是一個熟悉基本操作理解基本概念拓展專業知識的過程。當然這不是絕對的,任何引擎的開始階段和大成階段都是相似的。 這是【游戲開發那些事】第51篇原創 前言:游戲引擎,表面...
摘要:不過,蘋果實驗室作為計算機學院的學習類組織,撰寫此貼的內容集中于本科期間學習路線的宏觀規劃建議。其中主要問題大概是初入大學的迷茫與美好大學愿景之間的矛盾自主學習能力的欠缺與遠大志向的矛盾。 ...
閱讀 932·2023-04-25 23:40
閱讀 3712·2021-11-22 15:22
閱讀 3550·2021-10-09 09:44
閱讀 3405·2021-09-23 11:52
閱讀 1259·2021-09-22 15:43
閱讀 788·2021-09-10 10:51
閱讀 2209·2021-09-06 15:02
閱讀 3204·2021-09-06 15:02