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